diff options
Diffstat (limited to 'Common/sway')
-rw-r--r-- | Common/sway/autostart | 12 | ||||
-rw-r--r-- | Common/sway/config | 272 | ||||
-rw-r--r-- | Common/sway/config-backup-20230330-194759 | 134 | ||||
-rw-r--r-- | Common/sway/keyboard | 7 | ||||
-rw-r--r-- | Common/sway/outputs | 0 | ||||
-rw-r--r-- | Common/sway/pointer | 5 | ||||
-rw-r--r-- | Common/sway/touchpad | 13 | ||||
-rw-r--r-- | Common/sway/variables | 6 | ||||
-rw-r--r-- | Common/sway/workspaces | 0 |
9 files changed, 449 insertions, 0 deletions
diff --git a/Common/sway/autostart b/Common/sway/autostart new file mode 100644 index 0000000..5b8710e --- /dev/null +++ b/Common/sway/autostart @@ -0,0 +1,12 @@ +exec rm /tmp/nwg-shell-check-update.lock +exec wlsunset -l 59.9614 -L 10.925 -t 4500 -T 6500 -g 1.0 +#exec swaync -s /home/jakob/.config/swaync/preset-1.css +exec nm-applet --indicator +#exec_always nwg-autotiling +#exec_always nwg-drawer -r -c 6 -is 64 -fscol 2 -s preset-1.css -term foot +#exec_always nwg-dock -d -p bottom -a center -i 48 -hd 20 -s preset-1.css +#exec_always nwg-panel -c preset-1 -s preset-1.css +#exec_always nwg-shell-check-updates +exec swayidle timeout 1200 nwg-lock timeout 1800 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' +#exec nwg-update-indicator +#exec nwg-shell-config 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 diff --git a/Common/sway/config-backup-20230330-194759 b/Common/sway/config-backup-20230330-194759 new file mode 100644 index 0000000..f8058d6 --- /dev/null +++ b/Common/sway/config-backup-20230330-194759 @@ -0,0 +1,134 @@ +# set modifier +set $super Mod4 +set $alt Mod1 + +# set font +font pango: Noto Sans 8 + +# Use Mouse+$super to drag floating windows to their wanted position +floating_modifier $super + +exec nm-applet --indicator + +# start a terminal +bindsym $super+Return exec urxvt +bindsym $super+Alt+Return exec urxvt --name floating -e noemutt + +# Shortcut to tt gui +bindsym $super+Shift+Return exec /home/jakob/.local/bin/tt-g + +# start dmenu (a program launcher) +bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i -fn 'Noto Sans:size=8'" +bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8' + +# change volume +bindsym XF86AudioRaiseVolume exec amixer -q set Master 2%+ +bindsym XF86AudioLowerVolume exec amixer -q set Master 2%- +bindsym XF86AudioMute exec amixer set Master toggle +bindsym XF86AudioMicMute exec amixer set Capture toggle + +# music control +#bindsym XF86AudioNext exec mpc next +#bindsym XF86AudioPrev exec mpc prev +#bindsym XF86AudioPlay exec mpc toggle +#bindsym XF86AudioStop exec mpc stop + +# kill focused window +bindsym $alt+F4 kill + +# change focus +bindsym $super+Left focus left +bindsym $super+Down focus down +bindsym $super+Up focus up +bindsym $super+Right focus right +focus_follows_mouse no + +# move focused window +bindsym $super+Shift+Left move left +bindsym $super+Shift+Down move down +bindsym $super+Shift+Up move up +bindsym $super+Shift+Right move right + +# split in horizontal orientation +bindsym $super+h split h + +# split in vertical orientation +bindsym $super+v split v + +# enter fullscreen mode for the focused container +bindsym $super+f fullscreen toggle + +# change container layout split +bindsym $super+s layout toggle split + +# toggle tiling / floating +bindsym $super+space floating toggle + +# change focus between tiling / floating windows +bindsym $super+Shift+space focus mode_toggle + +# switch to workspace +bindsym $alt+Control+Right workspace next +bindsym $alt+Control+Left workspace prev +bindsym $super+1 workspace 1 +bindsym $super+2 workspace 2 +bindsym $super+3 workspace 3 +bindsym $super+4 workspace 4 +bindsym $super+5 workspace 5 +bindsym $super+6 workspace 6 +bindsym $super+7 workspace 7 +bindsym $super+8 workspace 8 +bindsym $super+9 workspace 9 + +# move focused container to workspace +bindsym $super+Shift+1 move container to workspace 1 +bindsym $super+Shift+2 move container to workspace 2 +bindsym $super+Shift+3 move container to workspace 3 +bindsym $super+Shift+4 move container to workspace 4 +bindsym $super+Shift+5 move container to workspace 5 +bindsym $super+Shift+6 move container to workspace 6 +bindsym $super+Shift+7 move container to workspace 7 +bindsym $super+Shift+8 move container to workspace 8 +bindsym $super+Shift+9 move container to workspace 9 + + +#bindsym $super+l exec i3lock -f -c 63bfb6 #-i /home/jakob/.lockscreen.png +bindsym $super+l exec dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock +bindsym $super+Shift+e exec "swaynag -t warning -m 'Really, exit?' -b 'Yes' 'swaymsg exit'" +bindsym $super+p exec --no-startup-id /home/jakob/.config/rofi/bin/applet_powermenu +bindsym $super+Shift+r reload + +# resize window (you can also use the mouse for that) +mode "resize" { + bindsym Left resize shrink width 5 px or 5 ppt + bindsym Down resize grow height 5 px or 5 ppt + bindsym Up resize shrink height 5 px or 5 ppt + bindsym Right resize grow width 5 px or 5 ppt + bindsym Return mode "default" +} +bindsym $super+r mode "resize" + +bar { + swaybar_command waybar +} + +# window rules, you can find the window class using xprop +for_window [class="^.*"] border pixel 2 +for_window [class=Viewnior|feh|Audacious|File-roller|Lxappearance|Lxtask|Pavucontrol|wdisplays|Nitrogen|Nautilus|Eog|gnome-calculator|Thunar|gnome-system-monitor] floating enable +for_window [class=URxvt|Firefox|Geany|Evince|Soffice|libreoffice*|mpv|Ghb|Xfburn|Gimp*|Inkscape|Vlc|Lxappearance|Audacity|Nautilus|Eog|gnome-calculator|Thunar] focus +for_window [class=Xfburn|GParted|System-config-printer.py|Lxtask|Pavucontrol|Exo-helper*|Lxrandr|wdisplays|Nitrogen] focus +for_window [ instance="floating" ] floating enable + +# Keybinds for lenovo x1 carbon +bindsym XF86MonBrightnessUp exec --no-startup-id "/home/jakob/bin/brightness-popup.sh inc" +bindsym XF86MonBrightnessDown exec --no-startup-id "/home/jakob/bin/brightness-popup.sh dec" + +bindsym XF86Display exec --no-startup-id "wdisplays" +bindsym Print exec --no-startup-id "gnome-screenshot --interactive" +bindsym XF86Favorites exec --no-startup-id "kill -s USR1 $(pidof deadd-notification-center)" + +# Keybinds for switching keyboard layout +#bindsym $super+Shift+F1 exec setxkbmap -layout no; notify-send.py "Keyboard layout NO" +#bindsym $super+Shift+F2 exec setxkbmap -layout gb; notify-send.py "Keyboard layout EN" +bindsym $super+Shift+F1 exec "/home/jakob/bin/kblayout.sh no" +bindsym $super+Shift+F2 exec "/home/jakob/bin/kblayout.sh us" diff --git a/Common/sway/keyboard b/Common/sway/keyboard new file mode 100644 index 0000000..935ef70 --- /dev/null +++ b/Common/sway/keyboard @@ -0,0 +1,7 @@ +input "type:keyboard" { + xkb_layout us + repeat_delay 300 + repeat_rate 40 + xkb_capslock disabled + xkb_numlock disabled +} diff --git a/Common/sway/outputs b/Common/sway/outputs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Common/sway/outputs diff --git a/Common/sway/pointer b/Common/sway/pointer new file mode 100644 index 0000000..db6e52f --- /dev/null +++ b/Common/sway/pointer @@ -0,0 +1,5 @@ +input "type:pointer" { + natural_scroll disabled + scroll_factor 1.0 + left_handed disabled +} diff --git a/Common/sway/touchpad b/Common/sway/touchpad new file mode 100644 index 0000000..2cdb7bf --- /dev/null +++ b/Common/sway/touchpad @@ -0,0 +1,13 @@ +input "type:touchpad" { + pointer_accel 0.0 + natural_scroll disabled + scroll_factor 1.0 + scroll_method two_finger + left_handed disabled + tap enabled + tap_button_map lrm + drag enabled + drag_lock disabled + dwt enabled + middle_emulation enabled +} diff --git a/Common/sway/variables b/Common/sway/variables new file mode 100644 index 0000000..a0d521b --- /dev/null +++ b/Common/sway/variables @@ -0,0 +1,6 @@ +set $term foot +set $browser google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland +set $filemanager thunar +set $editor emacs +set $launcher nwg-drawer +set $exit nwg-bar -p center -a middle -i 48 -s preset-1.css diff --git a/Common/sway/workspaces b/Common/sway/workspaces new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Common/sway/workspaces |