set $mod Mod1 set $terminal_path /home/don/bin/mynewterm set $snd_sink alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo set $lock /home/don/bin/lock.sh #set $lock 'swaylock -f -c 000000' exec swayidle -w \ timeout 300 $lock \ timeout 360 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' \ before-sleep $lock floating_modifier $mod hide_edge_borders both titlebar_border_thickness 0 titlebar_padding 5 0 font pango:JetBrains Mono 8 workspace_auto_back_and_forth yes set $laptop eDP-1 output $laptop scale 1.1 bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable title_align center # Music control bindsym XF86AudioPlay exec --no-startup-id control-music --pause bindsym Control+Shift+F7 exec --no-startup-id control-music --pause bindsym XF86AudioNext exec --no-startup-id control-music --next bindsym XF86AudioPrev exec --no-startup-id control-music --prev bindsym XF86AudioStop exec --no-startup-id control-music --stop # change volume or toggle mute #bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks #bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks #bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks #bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set 10%+ #bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 10%- # Brightness bindsym XF86MonBrightnessDown exec light -U 10 bindsym XF86MonBrightnessUp exec light -A 10 # Volume bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym Control+Shift+F10 exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym Control+Shift+F9 exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym Control+Shift+F8 exec pactl set-sink-mute @DEFAULT_SINK@ toggle # start a terminal bindsym $mod+Return exec --no-startup-id $HOME/bin/mynewterm # kill focused window bindsym $mod+Shift+q kill # start dmenu (a program launcher) set $menu_command fuzzel set $bemenu_options -i --nb "#3f3f3f" --nf "#dcdccc" -fn "pango:JetBrains Mono 8" set $menu dmenu_path | bemenu $bemenu_options| xargs swaymsg exec -- bindsym $mod+Shift+d exec $menu # rofi app and window launchers bindsym $mod+p exec $menu_command bindsym menu exec $menu_command bindsym $mod+Shift+w exec dwifi bindsym $mod+d exec --no-startup-id $menu bindsym $mod+t exec --no-startup-id $HOME/bin/mynewterm -e ttmenu # 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+Shift+h split h # split in vertical orientation bindsym $mod+Shift+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # change gaps interactively bindsym $mod+minus gaps inner current minus 2 bindsym $mod+plus gaps inner current plus 2 # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w 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+Shift+f focus mode_toggle bindsym $mod+Shift+F floating enable; resize set 590 px 333 px; sticky enable; move window to position 1330 px 745 px # switch to workspace bindsym $mod+F1 workspace 1 bindsym $mod+F2 workspace 2 bindsym $mod+F3 workspace 3 bindsym $mod+F4 workspace 4 bindsym $mod+F5 workspace 5 bindsym $mod+F6 workspace 6 bindsym $mod+F7 workspace 7 bindsym $mod+F8 workspace 8 bindsym $mod+F9 workspace 9 bindsym $mod+F10 workspace 10 # move focused container to workspace bindsym $mod+Shift+F1 move container to workspace 1 bindsym $mod+Shift+F2 move container to workspace 2 bindsym $mod+Shift+F3 move container to workspace 3 bindsym $mod+Shift+F4 move container to workspace 4 bindsym $mod+Shift+F5 move container to workspace 5 bindsym $mod+Shift+F6 move container to workspace 6 bindsym $mod+Shift+F7 move container to workspace 7 bindsym $mod+Shift+F8 move container to workspace 8 bindsym $mod+Shift+F9 move container to workspace 9 bindsym $mod+Shift+F10 move container to workspace 10 # reload the configuration file bindsym $mod+Shift+c reload # restart sway inplace (preserves your layout/session, can be used to upgrade sway) bindsym $mod+Shift+r reload # exit sway (logs you out of your sway 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' # shortcuts for common system configuration tasks bindsym $mod+Shift+s exec mate-control-center # Fancy logout set $mode_system System (l) lock, (e) logout, (a) goaway, (s) suspend, (h) hibernate, (r) reboot, (CTRL+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id $lock, mode "default" bindsym e exec --no-startup-id swaymsg exit, mode "default" bindsym a exec --no-startup-id $HOME/bin/gosleep, mode "default" bindsym s exec --no-startup-id systemctl suspend, mode "default" bindsym h exec --no-startup-id systemctl hibernate, mode "default" bindsym r exec --no-startup-id systemctl reboot, mode "default" bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default" # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+BackSpace mode "$mode_system" # resize window (you can also use the mouse for that) mode "Resize Mode" { # These bindings trigger as soon as you enter the resize mode bindsym Left resize shrink width 6 px or 6 ppt bindsym Down resize grow height 6 px or 6 ppt bindsym Up resize shrink height 6 px or 6 ppt bindsym Right resize grow width 6 px or 6 ppt bindsym Shift+Left resize shrink width 12 px or 12 ppt bindsym Shift+Down resize grow height 12 px or 12 ppt bindsym Shift+Up resize shrink height 12 px or 12 ppt bindsym Shift+Right resize grow width 12 px or 12 ppt bindsym h resize shrink width 6 px or 6 ppt bindsym k resize grow height 6 px or 6 ppt bindsym j resize shrink height 6 px or 6 ppt bindsym l resize grow width 6 px or 6 ppt bindsym Shift+h resize shrink width 12 px or 12 ppt bindsym Shift+k resize grow height 12 px or 12 ppt bindsym Shift+j resize shrink height 12 px or 12 ppt bindsym Shift+l resize grow width 12 px or 12 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+r mode "default" } bindsym $mod+r mode "Resize Mode" # Disable titlebar default_border none default_floating_border pixel 1 # Only enable gaps on a workspace when there is at least one container smart_gaps on # Enable popup during fullscreen popup_during_fullscreen smart # window focus follows your mouse movements as the mouse crosses window borders focus_follows_mouse yes # Configure the bar bar { swaybar_command waybar position bottom hidden_state hide mode dock modifier Mod4 } # To get the app_id of the focused window use: # $ sleep 2 ; swaymsg -t get_tree | jq -r '..|try select(.focused == true)' assign [app_id="^Wfica$"] 3 assign [class="^Wfica$"] 3 assign [title="^Zoom"] 5 assign [class="^mpv$"] 9 assign [app_id="^mpv$"] 9 assign [app_id="sublime-music"] 9 assign [app_id="Supersonic"] 9 assign [class="Supersonic"] 9 assign [class="Sonixd"] 9 assign [app_id="firefox"] 2 assign [app_id="org.qutebrowser.qutebrowser"] 2 assign [class="^darktable$"] 4 assign [class="^Darktable$"] 4 assign [app_id="^org.telegram.desktop"] 6 assign [title="^Signal"] 6 assign [title="^Tootle"] 6 assign [title="^Element"] 6 assign [app_id="thunderbird" instance="eminder"] floating enable assign [class="^Slack$"] 6 assign [class="^gotktrik$"] 6 assign [app_id="org.jellyfin."] 8 assign [title="Jellyfin Media Player"] 8 #assign [class="evolution-alarm-notify"] floating enable sticky enable #for_window [class="^Authy Desktop$"] floating enable move scratchpad #for_window [class="^Slack$"] floating enable move scratchpad #for_window [title="Reminders"] floating enable sticky enable #for_window [title="^Print$"] floating disable #for_window [class="^obsidian"] floating enable move scratchpad #for_window [class="evolution-alarm-notify"] sticky enable #for_window [class="feh"] floating enable sticky enable #for_window [title="^Print$"] floating disable for_window { #[class="^Authy Desktop$"] floating enable [title="ttmenu"] move scratchpad #[class="^Slack$"] floating enable #[class="^Slack$"] move scratchpad [class="evolution-alarm-notify"] sticky enable [class="KTimer"] floating enable sticky enable [class="feh"] floating enable sticky enable #[class="obsidian"] floating enable #[class="obsidian"] move scratchpad [title="Reminders"] floating enable [title="Reminders"] sticky enable [title="^Print$"] floating disable } input type:touchpad { tap enabled click_method clickfinger middle_emulation enabled dwt enabled tap_button_map lrm } # Custom keys bindsym $mod+Shift+n exec swaync-client -t -sw bindsym $mod+m move scratchpad bindsym $mod+Shift+m exec --no-startup-id "mua" bindsym $mod+o scratchpad show bindsym Mod4+l exec --no-startup-id "~/bin/lock.sh -m" bindsym Mod4+Shift+l exec --no-startup-id "~/bin/lock.sh -m -t" bindsym Mod4+w exec --no-startup-id "randbg-1" bindsym $mod+Control+d exec --no-startup-id "dovideo.sh" bindsym Mod4+Tab focus right bindsym Mod4+Shift+Tab focus left #bindsym $mod+Tab workspace back_and_forth bindsym $mod+Control+h move workspace to output left bindsym $mod+Control+j move workspace to output down bindsym $mod+Control+k move workspace to output up bindsym $mod+Control+l move workspace to output right bindsym $mod+Shift+Control+h move container to output left bindsym $mod+Shift+Control+j move container to output down bindsym $mod+Shift+Control+k move container to output up bindsym $mod+Shift+Control+l move container to output right bindsym $mod+Shift+x floating enable, sticky enable, resize set 50 ppt 50 ppt, move position 0 px 0 px bindsym $mod+Shift+Return exec --no-startup-id $HOME/bin/myterm bindsym $mod+x [urgent=latest] focus ##-## # class border bground text indicator child_border ##-## client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4 ##-## client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A ##-## client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36 ##-## client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555 ##-## client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36 # Set inner/outer gaps gaps inner 0 gaps outer 0 # Hide titlebar on windows: default_border pixel 1 # Default Font font pango:Noto Sans Regular 10 # Thin borders: smart_borders on # Title format for windows for_window [shell="xdg_shell"] title_format "%title (%app_id)" for_window [shell="x_wayland"] title_format "%class - %title" # class border bground text indicator child_border client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4 client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36 client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555 client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36 client.background #F8F8F2 exec_always keyctl link @u @s exec_always mykanshi exec foot --server exec kitty --title ttmenu -e ttmenu-loop seat * hide_cursor 8000 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 dbus-update-activation-environment --systemd DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway exec --no-startup-id udiskie --tray # Gnome intergration exec --no-startup-id /usr/lib/gnome-settings-daemon/gsd-xsettings exec --no-startup-id gnome-flashback exec --no-startup-id dbus-send --session --print-reply=literal --dest=org.gnome.SessionManager "/org/gnome/SessionManager" org.gnome.SessionManager.RegisterClient "string:sway" "string:$DESKTOP_AUTOSTART_ID" exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec --no-startup-id /usr/bin/gnome-keyring-daemon --start # My stuff exec wl-paste -t text --watch clipman store exec configure-gtk exec supersonic exec sonixd exec safeeyes exec dovideo.sh exec auto-start exec /usr/lib/kdeconnectd exec_always gremind exec swaync exec /usr/libexec/notification-daemon exec nm-applet #exec nextcloud exec randbg #exec birdtray exec indicator-kdeconnect exec kdeconnect-indicator exec myweb exec myterm #exec srandrd dovideo.sh exec cbatticons exec telegram-desktop exec element-desktop exec signal-desktop #exec authy #exec obsidian exec pasystray exec headset-charge-indicator.py exec blueberry-tray exec ktimer exec kanshi exec wlsunset -l 29.74 -L -95.77 exec powerkit exec poweralertd exec flameshot