aboutsummaryrefslogtreecommitdiff
path: root/Common/sway
diff options
context:
space:
mode:
authorjakob.stendahl <jakob.stendahl@infomedia.dk>2023-04-25 07:45:50 +0200
committerjakob.stendahl <jakob.stendahl@infomedia.dk>2023-04-25 07:45:50 +0200
commitbb5818068337cc3e5f985123e61030298469368b (patch)
treef11b10a34790ede05770c207e2b7f74fbd96dab9 /Common/sway
parentae56946206235b8b6f30a184d29a41cc5dcc39ca (diff)
downloaddotfiles-bb5818068337cc3e5f985123e61030298469368b.tar.gz
dotfiles-bb5818068337cc3e5f985123e61030298469368b.zip
Add wayland things
Diffstat (limited to 'Common/sway')
-rw-r--r--Common/sway/autostart12
-rw-r--r--Common/sway/config272
-rw-r--r--Common/sway/config-backup-20230330-194759134
-rw-r--r--Common/sway/keyboard7
-rw-r--r--Common/sway/outputs0
-rw-r--r--Common/sway/pointer5
-rw-r--r--Common/sway/touchpad13
-rw-r--r--Common/sway/variables6
-rw-r--r--Common/sway/workspaces0
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