{% set host = grains['host'] %} # Colors set $black #000000 set $black_super #555555 set $red #f92672 set $red_super #dd4278 set $green #74e22e set $green_super #9dc54b set $yellow #e6db74 set $yellow_super #d1ca89 set $blue #66d9ef set $blue_super #7accda set $magenta #ae81ff set $magenta_super #b392ef set $cyan #00d9d9 set $cyan_super #c8f0f0 set $white #f5deb3 set $white_super #ffffff client.focused $black $yellow_super $black $black $black client.focused_inactive $black $black_super $white $black $black set $mod Mod4 # Slight gaps around windows gaps inner 6 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod bindsym Control+t mode "$ratpoison" set $ws1 "1" set $ws2 "2" set $ws3 "3" set $ws4 "4" set $ws5 "5" set $ws6 "6" set $ws7 "7" set $ws8 "8" set $ws9 "9" set $ws10 "10" set $music "Music" set $chat "Chat" mode "$ratpoison" { # All/most commands in this mode should revert to the default mode on comleption. # We are emulating ratpoison (kinda) here # Moving to workspaces # bindsym n workspace next mode "default" # bindsym Shift+n workspace prev mode "default" bindsym 1 exec 'swaymsg mode "default"; swaymsg workspace $ws1' bindsym 2 exec 'swaymsg mode "default"; swaymsg workspace $ws2' bindsym 3 exec 'swaymsg mode "default"; swaymsg workspace $ws3' bindsym 4 exec 'swaymsg mode "default"; swaymsg workspace $ws4' bindsym 5 exec 'swaymsg mode "default"; swaymsg workspace $ws5' bindsym 6 exec 'swaymsg mode "default"; swaymsg workspace $ws6' bindsym 7 exec 'swaymsg mode "default"; swaymsg workspace $ws7' bindsym 8 exec 'swaymsg mode "default"; swaymsg workspace $ws8' bindsym 9 exec 'swaymsg mode "default"; swaymsg workspace $ws9' bindsym 0 exec 'swaymsg mode "default"; swaymsg workspace $ws10' bindsym m exec 'swaymsg mode "default"; swaymsg workspace $music' bindsym a exec 'swaymsg mode "default"; swaymsg workspace $chat' bindsym Shift+1 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws1' bindsym Shift+2 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws2' bindsym Shift+3 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws3' bindsym Shift+4 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws4' bindsym Shift+5 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws5' bindsym Shift+6 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws6' bindsym Shift+7 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws7' bindsym Shift+8 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws8' bindsym Shift+9 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws9' bindsym Shift+0 exec 'swaymsg mode "default"; swaymsg move container to workspace $ws10' bindsym Shift+m exec 'swaymsg mode "default"; swaymsg move container to workspace $music' bindsym Shift+a exec 'swaymsg mode "default"; swaymsg move container to workspace $chat' # Moving focus # bindsym Tab focus right mode "default" # bindsym Shift+Tab focus left mode "default" bindsym h exec 'swaymsg mode "default"; swaymsg focus left' bindsym j exec 'swaymsg mode "default"; swaymsg focus down' bindsym k exec 'swaymsg mode "default"; swaymsg focus up' bindsym l exec 'swaymsg mode "default"; swaymsg focus right' # Moving windows bindsym Shift+h exec 'swaymsg mode "default"; swaymsg move left' bindsym Shift+j exec 'swaymsg mode "default"; swaymsg move down' bindsym Shift+k exec 'swaymsg mode "default"; swaymsg move up' bindsym Shift+l exec 'swaymsg mode "default"; swaymsg move right' # Changing split modes bindsym v exec 'swaymsg mode "default"; swaymsg split v' bindsym o exec 'swaymsg mode "default"; swaymsg split h' bindsym c exec 'swaymsg mode "default"; swaymsg exec termite' bindsym q exec 'swaymsg mode "default"; swaymsg kill' bindsym Shift+e exec 'swaymsg mode "default"; swaymsg exec dmenu_run' bindsym $mod+l exec 'swaymsg mode "default"; "lock.nosmartcard"' bindsym Escape mode "default" } # There also is the (new) i3-dmenu-desktop which only displays applications # shipping a .desktop file. It is a wrapper around dmenu, so you need that # installed. # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop # enter fullscreen mode for the focused container bindsym $mod+t fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+r layout stacking bindsym $mod+w layout tabbed bindsym $mod+f layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent # focus the child container #bindsym $mod+d focus child #reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. bindsym h resize shrink width 10 px or 10 ppt bindsym j resize grow height 10 px or 10 ppt bindsym k resize shrink height 10 px or 10 ppt bindsym l resize grow width 10 px or 10 ppt # same bindings, but for the arrow keys bindsym Left resize shrink width 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt # back to normal: Enter or Escape or $mod+r bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+p mode "default" } bindsym $mod+p mode "resize" bindsym XF86MonBrightnessUp exec "brightnessctl set +100" bindsym XF86MonBrightnessDown exec "brightnessctl set 100-" bindsym XF86ScreenSaver exec "lock.nosmartcard" hide_edge_borders both focus_follows_mouse no focus_on_window_activation urgent for_window [class="^rdesktop"] move workspace number 9; floating disable for_window [class="Pinentry"] floating enable {% set lockcmd = "swaylock -e -f -i ~/Pictures/lockscreen_1080_1.png" %} exec swayidle -w \ timeout 300 "{{lockcmd}}" \ timeout 600 'systemctl suspend' \ before-sleep "{{lockcmd}}" # This keyboard has this layout on all machines: input 1241:36:HOLDCHIP_USB_Keyboard { xkb_layout us xkb_variant colemak xkb_options ctrl:nocaps } input 16700:8455:DELL_Dell_USB_Entry_Keyboard { xkb_layout gb xkb_variant colemak xkb_options ctrl:nocaps } input 7504:24616:unspecified_ErgoDox_ergonomic_keyboard { xkb_layout gb } input 9494:21:CM_Storm_Quickfire_Pro_Ultimate_6_key { xkb_layout gb xkb_variant colemak xkb_options ctrl:nocaps } input 1:1:AT_Translated_Set_2_keyboard { xkb_layout gb xkb_variant colemak xkb_options ctrl:nocaps } input 9610:4102:Gaming_KB__Gaming_KB { xkb_layout gb xkb_variant colemak xkb_options ctrl:nocaps } # host specific section {%- do salt.log.error('sway/files/' + host) -%} {% include 'sway/files/' + host %}