306 lines
12 KiB
Text
306 lines
12 KiB
Text
# Variables
|
|
set $mod Mod4
|
|
set $left h
|
|
set $down j
|
|
set $up k
|
|
set $right l
|
|
set $term kitty --single-instance
|
|
# set $term foot
|
|
set $menu fuzzel
|
|
font pango:Fantasque Sans Mono Bold 14
|
|
|
|
# Output configuration
|
|
set $screen1 eDP-1
|
|
set $screen2 DP-2
|
|
set $res1 res 1440x2560
|
|
set $res2 res 1080x1920
|
|
set $pos1 pos 0,0
|
|
set $pos2 pos 0,1440
|
|
set $scale1 scale 1.25
|
|
set $scale2 scale 1
|
|
set $bg1 bg ~/.dots/pics/panda7.jpg fill
|
|
set $bg2 bg ~/.dots/pics/panda7.jpg fill
|
|
output $screen1 $res1 $pos1 $scale1 $bg1
|
|
output $screen2 $res2 $pos2 $scale2 $bg2
|
|
focus output $screen1
|
|
set $lockwall "swaylock -e -F -l -i ~/.dots/pics/panda2.png -s fill"
|
|
#You can get the names of your outputs by running: swaymsg -t get_outputs
|
|
|
|
# Basics:
|
|
bindsym $mod+Return exec $term
|
|
bindsym $mod+Shift+q kill
|
|
# bindsym $mod+Shift+Return exec $menu
|
|
bindsym --no-repeat --release Super_L exec pkill $menu || $menu
|
|
bindsym --no-repeat --release Super_R exec pkill $menu || $menu
|
|
# floating_modifier normal
|
|
bindsym $mod+Shift+c reload
|
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit sway?' -B 'Yes, exit sway' 'swaymsg exit'
|
|
set $mode_system System (l)ock, (e)xit, (s)leep, (h)ibernate, (r)eboot, (CTRL+s)hutdown
|
|
mode "$mode_system" {
|
|
bindsym l exec --no-startup-id $lockwall, mode "default"
|
|
bindsym e exec --no-startup-id swaymsg exit, mode "default"
|
|
bindsym s exec --no-startup-id $lockwall, exec systemctl suspend, mode "default"
|
|
bindsym h exec --no-startup-id $lockwall, exec systemctl hibernate, mode "default"
|
|
bindsym r exec --no-startup-id systemctl reboot, mode "default"
|
|
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
bindsym $mod+BackSpace mode "$mode_system"
|
|
|
|
# Moving around:
|
|
bindsym $mod+$left focus left
|
|
bindsym $mod+$down focus down
|
|
bindsym $mod+$up focus up
|
|
bindsym $mod+$right focus right
|
|
bindsym $mod+Shift+$left move left
|
|
bindsym $mod+Shift+$down move down
|
|
bindsym $mod+Shift+$up move up
|
|
bindsym $mod+Shift+$right move right
|
|
|
|
# Screenshot
|
|
bindsym Print exec slurp | grim -g - screenshot.png | wl-copy
|
|
|
|
# Workspaces:
|
|
set $ws1 1: Term
|
|
set $ws2 2: Art
|
|
set $ws3 3: Code
|
|
set $ws4 4: Web
|
|
set $ws5 5: Chat
|
|
set $ws6 6: Media
|
|
set $ws7 7: Gayming
|
|
set $ws8 8: Stream
|
|
set $ws9 9:ExtraOne
|
|
set $ws0 10:Extratwo
|
|
bindsym $mod+1 workspace number $ws1
|
|
bindsym $mod+2 workspace number $ws2
|
|
bindsym $mod+3 workspace number $ws3
|
|
bindsym $mod+4 workspace number $ws4
|
|
bindsym $mod+5 workspace number $ws5
|
|
bindsym $mod+6 workspace number $ws6
|
|
bindsym $mod+7 workspace number $ws7
|
|
bindsym $mod+8 workspace number $ws8
|
|
bindsym $mod+9 workspace number $ws9
|
|
bindsym $mod+0 workspace number $ws10
|
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
|
workspace $ws1 output $screen1
|
|
workspace $ws2 output $screen2
|
|
workspace $ws3 output $screen1
|
|
workspace $ws4 output $screen1
|
|
workspace $ws5 output $screen1
|
|
workspace $ws6 output $screen1
|
|
workspace $ws7 output $screen1
|
|
workspace $ws8 output $screen1
|
|
workspace $ws9 output $screen1
|
|
workspace $ws0 output $screen1
|
|
workspace_auto_back_and_forth yes
|
|
focus_on_window_activation focus
|
|
bindsym $mod+Tab move workspace to output next
|
|
|
|
# Layout stuff:
|
|
# bindsym $mod+b splith
|
|
# bindsym $mod+v splitv
|
|
bindsym $mod+t split toggle
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
bindsym $mod+f fullscreen
|
|
bindsym $mod+Shift+space floating toggle
|
|
bindsym $mod+space focus mode_toggle
|
|
bindsym $mod+a focus parent
|
|
bindsym $mod+i border normal 0
|
|
bindsym $mod+y border pixel 4
|
|
bindsym $mod+u border none
|
|
default_orientation auto
|
|
hide_edge_borders smart
|
|
|
|
# Scratchpad:
|
|
bindsym $mod+Shift+minus move scratchpad
|
|
bindsym $mod+minus scratchpad show
|
|
|
|
# Resizing containers:
|
|
bindsym $mod+Ctrl+$left resize shrink width 10px
|
|
bindsym $mod+Ctrl+$down resize grow height 10px
|
|
bindsym $mod+Ctrl+$up resize shrink height 10px
|
|
bindsym $mod+Ctrl+$right resize grow width 10px
|
|
|
|
# Appereance
|
|
smart_gaps on
|
|
gaps inner 8
|
|
gaps outer 2
|
|
default_border pixel 4
|
|
default_floating_border normal
|
|
set $cw #ffffff
|
|
set $ur #f44336
|
|
set $cg #229c56
|
|
set $c0 #14040d
|
|
set $c1 #704668
|
|
set $c2 #f38ba8
|
|
set $c3 #c982a9
|
|
set $c4 #f9e2af
|
|
set $c5 #9689f9
|
|
set $c6 #f5c2e7
|
|
set $c7 #94e2d5
|
|
# class border backgr. text indicator child_border
|
|
client.focused $c6 $c6 $cw $c6 $c6
|
|
client.focused_inactive $c5 $c5 $cw $c5 $c5
|
|
client.unfocused $c3 $c3 $cw $c3 $c3
|
|
client.urgent $ur $ur $ur $ur $ur
|
|
client.placeholder $c2 $c2 $c3 $c2 $c2
|
|
client.background $c0
|
|
|
|
# Status Bar:
|
|
bar {
|
|
status_command ~/.dots/.config/sway/bar.sh
|
|
position top
|
|
height 28
|
|
strip_workspace_numbers yes
|
|
colors {
|
|
statusline #ffffff
|
|
background $c0
|
|
#class bg border text
|
|
inactive_workspace $c5 $c5 #ffffff
|
|
focused_workspace $c2 $c2 #ffffff
|
|
}
|
|
}
|
|
|
|
# App Settings
|
|
set $music exec kitty --single-instance --name Music --class Music ncmpcpp
|
|
set $btm exec kitty --single-instance --name SysMo --class SYsMo btm
|
|
set $ranger exec kitty --single-instance --name Ranger --class Ranger ranger
|
|
|
|
# Application Launcher
|
|
set $mode_launcher Launch: krit[a] [e]macs [t]elegram [d]iscord [s]team [o]bs [b]lender [q]utebrowser [m]pd [l]utris qbi[T]orrent [g]odot ardo[u]r [O}penToonz [i]nkscape
|
|
bindsym $mod+o mode "$mode_launcher"
|
|
mode "$mode_launcher" {
|
|
bindsym a exec krita, mode "default"
|
|
bindsym e exec emacs, mode "default"
|
|
bindsym t exec "flatpak run org.telegram.desktop", mode "default"
|
|
bindsym d exec "flatpak run com.discordapp.Discord", mode "default"
|
|
bindsym f exec "flatpak run org.mozilla.firefox", mode "default"
|
|
bindsym q exec "flatpak run org.qbittorrent.qBittorrent", mode "default"
|
|
bindsym g exec "flatpak run org.godotengine.Godot, mode "default"
|
|
bindsym l exec "flatpak run net.lutris.Lutris", mode "default"
|
|
bindsym s exec "flatpak run com.valvesoftware.Steam", mode "default"
|
|
bindsym o exec "flatpak run com.obsproject.Studio", mode "default"
|
|
bindsym u exec "flatpak run org.ardour.Ardour", mode "default"
|
|
bindsym b exec "flatpak run org.blender.Blender", mode "default"
|
|
bindsym m exec $music; mode "default"
|
|
#bindsym v exec $veado, mode "default"
|
|
bindsym i exec "flatpak run org.inkscape.Inkscape", mode "default"
|
|
bindsym Escape mode "default"
|
|
bindsym Return mode "default"
|
|
}
|
|
# windows with floating mode by default
|
|
for_window [app_id="pentablet"] floating enable
|
|
for_window [app_id="OpenTabletDriver.UX.Gtk"] floating enable
|
|
for_window [app_id="Gnome-screenshot"] floating enable
|
|
for_window [app_id="spectacle"] floating enable
|
|
for_window [app_id="Arandr"] floating enable
|
|
for_window [app_id="Lxappearance"] floating enable
|
|
for_window [app_id="gnome-menu-editor-qt"] floating enable
|
|
for_window [app_id="Pavucontrol"] floating enable
|
|
for_window [app_id="ProtonUp-Qt"] floating enable
|
|
for_window [app_id="System-config-printer.py"] floating enable
|
|
for_window [app_id="GitHub.UI"] floating enable
|
|
for_window [app_id="Bitwarden"] floating enable
|
|
# fullscreen by default
|
|
for_window [app_id="mpv"] fullscreen enable
|
|
for_window [app_id="Vimiv-qt"] fullscreen enable
|
|
# border settings for different windows
|
|
for_window [app_id="krita"] border none
|
|
for_window [app_id="Emacs"] border none
|
|
for_window [app_id="Blender"] border none
|
|
for_window [app_id="qutebrowser"] border none
|
|
for_window [app_id="Inkscape"] border none
|
|
for_window [app_id="obs"] border none
|
|
for_window [app_id="Ardour"] border none
|
|
for_window [app_id="OpenToonz"] border none
|
|
for_window [app_id="Discord"] border none
|
|
for_window [app_id="Music"] border none
|
|
for_window [app_id="steamwebhelper"] border none
|
|
# workspace layout for different apps
|
|
for_window [app_id="obs"] layout tabbed
|
|
for_window [app_id="veadotube_mini"] layout tabbed
|
|
for_window [app_id="krita"] layout tabbed
|
|
for_window [app_id="Blender"] layout tabbed
|
|
for_window [app_id="Inkscape"] layout tabbed
|
|
for_window [app_id="Emacs"] layout tabbed
|
|
for_window [app_id="Godot"] layout tabbed
|
|
for_window [app_id="qutebrowser"] layout tabbed
|
|
# move specific apps to specific workspaces
|
|
assign [app_id="pentablet"] workspace $ws1
|
|
assign [app_id="OpenTabletDriver.UX.Gtk"] workspace $ws1
|
|
assign [app_id="Lxappearance"] workspace $ws1
|
|
assign [app_id="krita"] workspace $ws2
|
|
assign [app_id="Inkscape"] workspace $ws2
|
|
assign [app_id="Blender"] workspace $ws2
|
|
assign [app_id="Ardour"] workspace $ws2
|
|
assign [app_id="Emacs"] workspace $ws3
|
|
assign [app_id="pico8"] workspace $ws3
|
|
assign [app_id="Godot"] workspace $ws3
|
|
assign [app_id="firefox"] workspace $ws4
|
|
assign [app_id="qBittorrent"] workspace $ws4
|
|
assign [app_id="Telegram"] workspace $ws5
|
|
assign [app_id="discord"] workspace $ws5
|
|
assign [app_id="Vesktop"] workspace $ws5
|
|
assign [app_id="Music"] workspace $ws6
|
|
assign [app_id="calibre"] workspace $ws6
|
|
assign [app_id="Zathura"] workspace $ws6
|
|
assign [app_id="Lutris"] workspace $ws7
|
|
assign [app_id="Steam"] workspace $ws7
|
|
assign [app_id="steamwebhelper"] workspace $ws7
|
|
assign [app_id="heroic"] workspace $ws7
|
|
assign [app_id="ProtonUp-Qt"] workspace $ws7
|
|
assign [app_id="PrismLauncher"] workspace $ws7
|
|
assign [app_id="dolphin-emu"] workspace $ws7
|
|
assign [app_id="obs"] workspace $ws8
|
|
assign [app_id="veadotube_mini"] workspace $ws8
|
|
|
|
# Autostart
|
|
exec_always --no-startup-id dunst
|
|
# exec_always --no-startup-id nm-applet
|
|
# exec_always --no-startup-id autotiling
|
|
|
|
# Idle configuration
|
|
#Locks screen after 300s, turns off display after another 300s, turns screens back on when resumed. Locks screen before computer sleeps.
|
|
exec swayidle -w \
|
|
timeout 300 $lockwall \
|
|
timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
|
timeout 601 'systemctl suspend' \
|
|
before-sleep $lockwall
|
|
|
|
exec swayidle -w \
|
|
timeout 900 'systemctl suspend' \
|
|
before-sleep $lockwall
|
|
|
|
# Input configuration
|
|
input "1739:52759:SYNA32A5:00_06CB:CE17_Touchpad" {
|
|
dwt enabled
|
|
tap enabled
|
|
natural_scroll enabled
|
|
middle_emulation enabled
|
|
}
|
|
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
|
# Read `man 5 sway-input` for more information about this section.
|
|
|
|
# Media Keys
|
|
bindsym XF86AudioRaiseVolume exec pamixer -u -i 5
|
|
bindsym XF86AudioLowerVolume exec pamixer -d 5
|
|
bindsym XF86AudioMute exec pamixer -t
|
|
bindsym XF86MonBrightnessUp exec brightnessctl s +5%
|
|
bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
|
|
bindsym XF86AudioPlay exec playerctl play-pause
|
|
bindsym XF86AudioNext exec playerctl next
|
|
bindsym XF86AudioPrev exec playerctl previous
|
|
|
|
include /etc/sway/config.d/*
|