# Please see http://i3wm.org/docs/userguide.html for a complete reference! #xwayland disable set $mod Mod4 set $alt Mod1 font Vulf Mono, FontAwesome 12 bindsym $mod+F7 exec --no-startup-id xset r rate 250 25 && xset b off && setxkbmap -option caps:escape # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal bindsym $mod+Return exec --no-startup-id foot # kill focused window bindsym $mod+q kill # lock screen bindsym $mod+$alt+s exec swaylock #exec swayidle -w \ # timeout 600 'swaylock' exec swayidle -w \ timeout 1200 'swaymsg "output * dpms off"'\ resume 'swaymsg "output * dpms on"' \ before-sleep 'swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color bb00cc --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2' # start rofi (a program launcher) bindsym XF86LaunchA exec --no-startup-id rofi -show run bindcode 225 exec --no-startup-id rofi -show run bindsym $mod+space exec --no-startup-id rofi -show run for_window [app_id="^launcher$"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel 10 set $menu exec alacritty --class=launcher -e sway-launcher-desktop #bindsym $mod+space exec $menu # change focus bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+l focus up bindsym $mod+semicolon 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+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+l move up bindsym $mod+Shift+semicolon move right # alternatively, you can use the cursor 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 # split in horizontal orientation bindsym $mod+h split h # split in vertical orientation bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+d fullscreen bindsym $mod+$alt+f fullscreen # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+t layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+$alt+space focus mode_toggle # focus the parent container bindsym $mod+p focus parent # focus the child container bindsym $mod+c 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'" # switch to workspace bindsym $mod+1 workspace 1 bindsym $mod+2 workspace 2 bindsym $mod+3 workspace 3 bindsym $mod+4 workspace 4 bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 bindsym Mod1+Control+Right workspace next bindsym Mod1+Control+Left workspace prev workspace_auto_back_and_forth yes bindsym $mod+z workspace back_and_forth bindsym $mod+Shift+z move container to workspace back_and_forth # move focused container to workspace bindsym $mod+Shift+1 move container to workspace 1 bindsym $mod+Shift+2 move container to workspace 2 bindsym $mod+Shift+3 move container to workspace 3 bindsym $mod+Shift+4 move container to workspace 4 bindsym $mod+Shift+5 move container to workspace number 5 bindsym $mod+Shift+6 move container to workspace number 6 bindsym $mod+Shift+7 move container to workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 10 ######################## ## Custom Keybindings ######################## bindsym $mod+f exec --no-startup-id alacrity -e ranger bindsym Print exec scrot -s -e 'mv $f ~/Downloads' bindsym $mod+m move scratchpad bindsym $mod+n scratchpad show bindsym $mod+Shift+s sticky toggle bindsym $mod+Shift+alt+Control+s screenshot bindsym alt+Shift+Control+s notify-send "test" # macros bindsym Control+F4 exec /usr/local/bin/screenshot bindsym Control+F5 exec /usr/bin/watson stop && exec notify-send "Clocked out!" bindsym Control+F6 exec notify-send "F6" bindsym Control+F7 exec notify-send "F7" bindsym Control+F8 exec notify-send "F8" bindsym Control+F9 exec notify-send "F9" bindsym Control+F10 exec notify-send "F10" bindsym Control+F11 exec notify-send "F11" bindsym Control+F12 exec notify-send "F12" # screenshare bindsym $mod+x exec dmenuscreenshare.sh #bindsym Control+k exec --no-startup-id echo "core.weechat */buffer_dmenu" >> $(find ~/.weechat -type p) # Notifications bindsym $mod+Control+Shift+space exec --no-startup-id makoctl dismiss -a bindsym $mod+Control+space exec --no-startup-id makoctl dismiss ######################### ## Floating Windows ######################### for_window [window_role = "pop-up"] floating enable for_window [window_role = "bubble"] floating enable for_window [window_role = "dialog"] floating enable for_window [window_type = "dialog"] floating enable for_window [window_role = "task_dialog"] floating enable for_window [window_type = "menu"] floating enable for_window [app_id = "floating"] floating enable for_window [class="Android SDK Manager" instance="Android SDK Manager"] floating enable for_window [class="Cb-exit" instance="cb-exit"] floating enable for_window [class="Cb-exit" instance="cb-exit"] border none for_window [class="^Pavucontrol$"] floating enable for_window [instance="crx_gaedmjdfmmahhbjefcbgaolhhanlaolb"] floating enable for_window [class="Google-chrome" instance="crx_nckgahadagoaajjgafhacjanaoiihapd"] floating enable for_window [class="chrome_app_list"] floating enable for_window [class="Plexamp"] floating enable for_window [class="blueman-manager"] floating enable for_window [class="^Bluetooth Devices"] floating enable # https://github.com/ValveSoftware/steam-for-linux/issues/1040 for_window [class="^Steam$" title="^Friends$"] floating enable for_window [class="^Steam$" title="Steam - News"] floating enable for_window [class="^Steam$" title=".* - Chat"] floating enable for_window [class="^Steam$" title="^Settings$"] floating enable for_window [class="^Steam$" title=".* - event started"] floating enable for_window [class="^Steam$" title=".* CD key"] floating enable for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable for_window [title="^Steam Keyboard$"] floating enable for_window [title="Qalculate!"] floating enable for_window [title="Origin"] floating enable #for_window [title="Zoom"] floating enable #for_window [title="Zoom Cloud Meetings"] floating enable # Zoom for_window [app_id="zoom"] floating enable for_window [app_id="zoom" title="Choose ONE of the audio conference options"] floating enable for_window [app_id="zoom" title="zoom"] floating enable for_window [app_id="zoom" title="Zoom Meeting"] floating disable for_window [app_id="zoom" title="Zoom - Free Account"] floating disable # Tag xwayland windows with [X] for_window [shell="xwayland"] title_format "[X] %title゜" for_window [app_id = "avizo-service"] border pixel 0, sticky toggle no_focus [app_id="avizo-service"] ########################### ## Assign Workspaces ########################## assign [class="Slack"] 3 assign [class="Plexamp"] 3 ########################## ## Gaps ########################## # new_window 1pixel default_border pixel 0 #Hide border if 1 window hide_edge_borders both set $default_gaps_inner 15 set $default_gaps_outer 15 gaps inner $default_gaps_inner gaps outer $default_gaps_outer smart_gaps on # 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 j resize shrink width 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink height 10 px or 10 ppt bindsym semicolon 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 bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" # Resize Containers, Vim-style ($mod+Control+[hjkl]) bindsym $mod+Control+j resize grow height 5 px or 5 ppt bindsym $mod+Control+k resize shrink height 5 px or 5 ppt bindsym $mod+Control+l resize grow width 5 px or 5 ppt bindsym $mod+Control+h resize shrink width 5 px or 5 ppt bindsym $mod+Control+Up resize grow height 5 px or 5 ppt bindsym $mod+Control+Down resize shrink height 5 px or 5 ppt bindsym $mod+Control+Right resize grow width 5 px or 5 ppt bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { swaybar_command waybar } # #bar { # position top # status_command i3blocks # font pango:Liberation 10, FontAwesome 12 # strip_workspace_numbers yes # # colors { # separator #586e75 # background #0c1014 # statusline #aea79f # focused_workspace #091f2e #091f2e #ffffff # active_workspace #073642 #073642 #ffffff # inactive_workspace #0c1014 #0c1014 #aea79f # urgent_workspace #77216f #77216f #ffffff # } #} # class border backgr. text indicator child_border client.focused #FFFFFF #BF360C #fdf6e3 #FF0000 #FFFFFF client.focused_inactive #073642 #FF9800 #93a1a1 #002b36 #073642 client.unfocused #002b36 #311B92 #586e75 #002b36 #002b36 client.urgent #dc322f #b71c1c #fdf6e3 #dc322f #dc322f ############################ ## Displays ############################ #HOME output HDMI-A-1 pos 0 0 res 3440x1440 output DP-1 pos 0 1440 res 3440x1440 # background images #output * bg ~/Pictures/Wallpapers/calvin-hobbes-stars.jpg fill output * bg ~/Pictures/Wallpapers/phin-swing.jpg fill bindsym $mod+Shift+m exec --no-startup-id "sway output output DP-1 pos 2880 0 res 1920x1080 && sway ouput DP-2 res 1920x1080" ############################## ## Startup Things ############################## #exec --no-startup-id pcmanfm -d #exec --no-startup-id xset r rate 250 25 #exec --no-startup-id xset b off #exec --no-startup-id setxkbmap -option caps:escape #exec --no-startup-id nightshift -l 39.0315533:-94.4954291 -d #exec --no-startup-id setxkbmap -model apple_laptop -layout us -variant dvp exec --no-startup-id mako exec --no-startup-id blueman-applet exec autotiling exec udiskie exec wl-paste -t text --watch clipman store exec avizo-service ############################# ## Media Keys ############################# #bindsym XF86AudioLowerVolume exec --no-startup-id "pulseaudio-ctl down ; pkill -RTMIN+1 i3blocks" #bindsym XF86AudioRaiseVolume exec --no-startup-id "pulseaudio-ctl up ; pkill -RTMIN+1 i3blocks" #bindsym XF86AudioMute exec --no-startup-id "pulseaudio-ctl mute ; pkill -RTMIN+1 i3blocks" bindsym XF86AudioRaiseVolume exec volumectl raise bindsym XF86AudioLowerVolume exec volumectl lower bindsym XF86AudioMute exec volumectl mute # bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause # bindsym XF86AudioPause exec --no-startup-id playerctl play-pause # bindsym XF86AudioPlayPause exec --no-startup-id playerctl play-pause #bindsym $mod1+Shift+p exec --no-startup-id echo "cycle pause" > ~/.config/mpv/control bindsym XF86MonBrightnessUp exec --no-startup-id "brightnessctl s +10%; brightnessctl -d gmux_backlight s +10%" bindsym XF86MonBrightnessDown exec --no-startup-id "brightnessctl s 10%-; brightnessctl -d gmux_backlight s 10%-" set $gnome-schema org.gnome.desktop.interface exec_always { gsettings set $gnome-schema gtk-theme 'Flat-Remix-GTK-Green-Darkest' gsettings set $gnome-schema icon-theme 'Flat-Remix-Green-Dark' } # fix slow launch: exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK 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 include /etc/sway/config.d/*