diff options
author | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2023-04-25 07:45:50 +0200 |
---|---|---|
committer | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2023-04-25 07:45:50 +0200 |
commit | bb5818068337cc3e5f985123e61030298469368b (patch) | |
tree | f11b10a34790ede05770c207e2b7f74fbd96dab9 /Common/sway/config | |
parent | ae56946206235b8b6f30a184d29a41cc5dcc39ca (diff) | |
download | dotfiles-bb5818068337cc3e5f985123e61030298469368b.tar.gz dotfiles-bb5818068337cc3e5f985123e61030298469368b.zip |
Add wayland things
Diffstat (limited to 'Common/sway/config')
-rw-r--r-- | Common/sway/config | 272 |
1 files changed, 272 insertions, 0 deletions
diff --git a/Common/sway/config b/Common/sway/config new file mode 100644 index 0000000..31aed6a --- /dev/null +++ b/Common/sway/config @@ -0,0 +1,272 @@ +# The files we include below will be created / overwritten by nwg-shell tools +# +include variables +include outputs +include autostart +include workspaces +include keyboard +include pointer +include touchpad + +# nwg-shell sway config +# Read `man 5 sway` for reference. + +# border & title +for_window [title="^.*"] border none, title_format "<b> %class >> %title </b>" +default_border none + +# gaps +gaps inner 5 +gaps outer 0 +smart_gaps off + +# font +font pango:monospace 11 + +# mod key used for most binds +# Mod1 = Alt +# Mod4 = Super +set $Mod Mod4 + +# direction keys +set $up l +set $down k +set $left j +set $right semicolon + +############### wob ################## +set $WOBSOCK $XDG_RUNTIME_DIR/wob.sock +exec rm -f $WOBSOCK && mkfifo $WOBSOCK && tail -f $WOBSOCK | wob + +############### Autostart ################## + +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK +exec hash dbus-update-activation-environment 2>/dev/null && \ + dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK +exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec ~/.azotebg +exec blueman-applet +exec udiskie + +### Turn off screen on lid closed +set $laptop eDP-1 +bindswitch lid:on output $laptop disable +bindswitch lid:off output $laptop enable + +############# Bindings ################## + +# kill focused window +bindsym $Mod+Shift+q kill +bindsym Mod1+q kill +bindsym Mod1+F4 kill + +# core applications +bindsym $Mod+Return exec $term +bindsym $Mod+s exec nwg-shell-config +bindsym $Mod+w exec $browser +bindsym $Mod+f exec $filemanager +bindsym $Mod+c exec swaync-client -t +bindsym Mod1+l exec nwg-lock +bindsym $Mod+F1 exec nwg-shell-help +bindsym $Mod+d exec wofi --show=drun +#bindsym $Mod+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8' + +# Exit menu +bindsym $Mod+p exec $exit + +# Exit sway (default way to log you out of your Wayland session) +bindsym $Mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' + +# screenshot +bindsym Print exec screenshot fullscreen +bindsym Control+Print exec screenshot display +bindsym Shift+Control+Print exec grim -g "$(slurp)" - | swappy -f - +bindsym $Mod+Shift+Control+Print exec screenshot focused + +# audio +bindsym XF86AudioRaiseVolume exec amixer sset Master 5%+ | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOBSOCK +bindsym XF86AudioLowerVolume exec amixer sset Master 5%- | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $WOBSOCK +bindsym XF86AudioMute exec amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > $WOBSOCK +bindsym XF86AudioMicMute exec amixer set Capture toggle + +# backlight +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK +bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $WOBSOCK + +# Open wdisplays +bindsym XF86Display exec --no-startup-id "wdisplays" + +# Reload the configuration file +bindsym $Mod+Shift+c reload + +# Shortcut to tt gui +bindsym $Mod+Shift+Return exec /home/jakob/.local/bin/tt-g + +# Keyboard layout +bindsym $Mod+Shift+F1 exec "swaymsg input 1:1:AT_Translated_Set_2_keyboard xkb_layout no" +bindsym $Mod+Shift+F2 exec "swaymsg input 1:1:AT_Translated_Set_2_keyboard xkb_layout us" + +########### Workspace Bindings ############### + +# switch to workspace +bindsym $Mod+1 workspace number 1 +bindsym $Mod+2 workspace number 2 +bindsym $Mod+3 workspace number 3 +bindsym $Mod+4 workspace number 4 +bindsym $Mod+5 workspace number 5 +bindsym $Mod+6 workspace number 6 +bindsym $Mod+7 workspace number 7 +bindsym $Mod+8 workspace number 8 +bindsym $Mod+9 workspace number 9 + +# switch to workspace - numpad alternatives +bindsym $Mod+Mod2+KP_1 workspace number 1 +bindsym $Mod+Mod2+KP_2 workspace number 2 +bindsym $Mod+Mod2+KP_3 workspace number 3 +bindsym $Mod+Mod2+KP_4 workspace number 4 +bindsym $Mod+Mod2+KP_5 workspace number 5 +bindsym $Mod+Mod2+KP_6 workspace number 6 +bindsym $Mod+Mod2+KP_7 workspace number 7 +bindsym $Mod+Mod2+KP_8 workspace number 8 +bindsym $Mod+Mod2+KP_9 workspace number 9 + +# switch to next or previous workspace +bindsym $Mod+Mod1+Left workspace prev +bindsym $Mod+Mod1+Right workspace next + +# move focused container to workspace +bindsym $Mod+Shift+1 move container to workspace number 1; workspace number 1 +bindsym $Mod+Shift+2 move container to workspace number 2; workspace number 2 +bindsym $Mod+Shift+3 move container to workspace number 3; workspace number 3 +bindsym $Mod+Shift+4 move container to workspace number 4; workspace number 4 +bindsym $Mod+Shift+5 move container to workspace number 5; workspace number 5 +bindsym $Mod+Shift+6 move container to workspace number 6; workspace number 6 +bindsym $Mod+Shift+7 move container to workspace number 7; workspace number 7 +bindsym $Mod+Shift+8 move container to workspace number 8; workspace number 8 +bindsym $Mod+Shift+9 move container to workspace number 9; workspace number 9 + +# move focused container to workspace - numpad alternatives +bindsym $Mod+Shift+Mod2+KP_End move container to workspace number 1; workspace number 1 +bindsym $Mod+Shift+Mod2+KP_Down move container to workspace number 2; workspace number 2 +bindsym $Mod+Shift+Mod2+KP_Next move container to workspace number 3; workspace number 3 +bindsym $Mod+Shift+Mod2+KP_Left move container to workspace number 4; workspace number 4 +bindsym $Mod+Shift+Mod2+KP_Begin move container to workspace number 5; workspace number 5 +bindsym $Mod+Shift+Mod2+KP_Right move container to workspace number 6; workspace number 7 +bindsym $Mod+Shift+Mod2+KP_Home move container to workspace number 7; workspace number 7 +bindsym $Mod+Shift+Mod2+KP_Up move container to workspace number 8; workspace number 8 + +############ Container/Window control ############ + +# Scratchpad, Floating +bindsym $Mod+space floating toggle +floating_modifier $Mod normal + +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $Mod+Shift+z move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $Mod+z scratchpad show + +# change focus +bindsym $Mod+$left focus left +bindsym $Mod+$down focus down +bindsym $Mod+$up focus up +bindsym $Mod+$right focus right + +# alternatively, you can use the cursor keys: +bindsym $Mod+Left focus left +bindsym $Mod+Down focus down +bindsym $Mod+Up focus up +bindsym $Mod+Right focus right + +# move focused window +bindsym $Mod+Shift+$left move left +bindsym $Mod+Shift+$down move down +bindsym $Mod+Shift+$up move up +bindsym $Mod+Shift+$right move right + +# alternatively, you can use the cursor keys: +bindsym $Mod+Shift+Up move up +bindsym $Mod+Shift+Down move down +bindsym $Mod+Shift+Left move left +bindsym $Mod+Shift+Right move right + +# Resizing containers +mode "resize" { + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $Mod+r mode "resize" + +# Size +# bindsym Mod1+Up resize shrink height 10 px or 1 ppt +# bindsym Mod1+Down resize grow height 10 px or 1 ppt +# bindsym Mod1+Left resize shrink width 10 px or 1 ppt +# bindsym Mod1+Right resize grow width 10 px or 1 ppt + +# layout toggle +bindsym Mod1+Tab layout toggle tabbed stacking split +bindsym $Mod+Tab layout toggle splitv splith + +# switch to workspace with urgent window +for_window [urgent="latest"] focus +focus_on_window_activation focus + +# container layout +bindsym $Mod+h split h +bindsym $Mod+v split v +bindsym $Mod+Shift+t layout tabbed +bindsym $Mod+Shift+s layout stacking +bindsym $Mod+Shift+h layout toggle split + +default_orientation horizontal + +# make the current focus fullscreen +bindsym $Mod+Shift+f fullscreen + +############### Border & Gaps ############### + +# changing border style +bindsym $Mod+b border toggle + +# change gaps +bindsym $Mod+plus gaps inner current plus 5 +bindsym $Mod+minus gaps inner current minus 5 +bindsym Mod1+plus gaps outer current plus 5 +bindsym Mod1+minus gaps outer current minus 5 + +bindsym $Mod+KP_Add gaps inner current plus 5 +bindsym $Mod+KP_Subtract gaps inner current minus 5 +bindsym Mod1+KP_Add gaps outer current plus 5 +bindsym Mod1+KP_Subtract gaps outer current minus 5 + +############ bar settings ############ +bar { + swaybar_command "waybar" +} + +############ application settings ############ + +# focus, floating, & sticky +for_window [app_id="(?i)(?:blueman-manager|azote|gnome-disks|Thunar|wdisplays)"] floating enable +for_window [app_id="(?i)(?:pavucontrol|nm-connection-editor|gsimplecal|galculator)"] floating enable +for_window [app_id="(?i)(?:firefox|chromium)"] border none +for_window [title="(?i)(?:copying|deleting|moving)"] floating enable + +popup_during_fullscreen smart |