# Basic keys set $mod Mod4 set $left b set $down n set $up p set $right f # Program variables set $term alacritty set $editor em set $menu wmenu-run -i -M "#222222" -s "#00FF00" -S "#333333" set $screenshot grim # use mouse + $mod to drag floating windows to their wanted position floating_modifier $mod normal # start a terminal bindsym $mod+Return exec $term # start emacs bindsym $mod+Shift+Return exec $editor # take screenshot bindsym $mod+Print exec $screenshot # kill focused window bindsym $mod+Shift+q kill # start launcher bindsym $mod+d exec $menu # reload config bindsym $mod+Shift+r reload # split in horizontal orientation bindsym $mod+h splith # split in vertical orientation bindsym $mod+v splitv # toggle fullscreen mode bindsym $mod+c fullscreen # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # toggle the current focus between tiling and floating mode bindsym $mod+Shift+space floating toggle # swap focus between the tiling area and the floating area bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent # focus the child container bindsym $mod+q focus child # exit sway 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' # # Scratchpad: # # 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+delete 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+insert scratchpad show # # Moving around: # # Move your focus around bindsym $mod+$left focus left bindsym $mod+$down focus down bindsym $mod+$up focus up bindsym $mod+$right focus right # Or use $mod+[up|down|left|right] bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # Move the focused window with the same, but add Shift bindsym $mod+Shift+$left move left bindsym $mod+Shift+$down move down bindsym $mod+Shift+$up move up bindsym $mod+Shift+$right move right # Ditto, with arrow keys bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # # Resizing containers: # mode "resize" { bindsym Right resize shrink width 10 px or 10 ppt bindsym Up resize grow height 10 px or 10 ppt bindsym Down resize shrink height 10 px or 10 ppt bindsym Left resize grow width 10 px or 10 ppt bindsym $mod+$right resize grow width 10 px or 10 ppt bindsym $mod+$down resize shrink height 10 px or 10 ppt bindsym $mod+$up resize grow height 10 px or 10 ppt bindsym $mod+$left resize shrink width 10 px or 10 ppt bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+r mode "default" } # resize container bindsym $mod+r mode "resize" # constraining floating window size floating_maximum_size -1 x -1 # border style default_border normal 1 # floating border style default_floating_border normal 1 # colors client.focused #000000 #009900 #ffffff #ff0000 client.unfocused #000000 #005500 #000000 #ff0000 # titlebar style titlebar_padding 5 2 # use variables for screens set $screen0 "DP-1" set $screen1 "HDMI-A-2" bar { status_command i3status-rs font pango:NotoSansMono-Regular, forkawesome 8 position top tray_output primary workspace_buttons yes mode dock modifier $mod output $screen0 colors { statusline #00ff00 focused_workspace #00cc00 #00ff00 #000000 inactive_workspace #00cc00 #008b00 #cccccc } } bar { status_command i3status-rs ~/.config/i3status-rust/secondary.toml font pango:NotoSansMono-Regular, forkawesome 8 position top tray_output primary workspace_buttons yes mode dock modifier $mod output $screen1 colors { statusline #00ff00 focused_workspace #00cc00 #00ff00 #000000 inactive_workspace #00cc00 #008b00 #cccccc } } include /etc/sway/config.d/* include /$HOME/.config/sway/config.d/*