# Faulty's sway Config set $mod Mod1 set $sup Mod4 set $terminal alacritty #sway-sensible-terminal set $browser firefox set $editor gedit #font pango:monospace 8 font pango:DejaVu Sans Mono 8 #! Startup Applications exec --no-startup-id xss-lock --transfer-sleep-lock -- swaylock --nofork exec --no-startup-id gnome-keyring-daemon --start --components=ssh,secrets,pkcs11 exec --no-startup-id nm-applet exec thunderbird exec discord set $lock swaylock -c "#000000" set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (Shift+r) reboot, (Shift+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id $lock, mode "default" bindsym e exec --no-startup-id sway exit, mode "default" bindsym s exec --no-startup-id $lock && systemctl suspend, mode "default" bindsym h exec --no-startup-id $lock && systemctl hibernate, mode "default" bindsym Shift+r exec --no-startup-id systemctl reboot, mode "default" bindsym Shift+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 $sup+Delete mode "$mode_system" bindsym $sup+l exec --no-startup-id $lock #! Media bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_swaystatus bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_swaystatus bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_swaystatus bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_swaystatus #! Light bindsym XF86MonBrightnessUp exec light -A 10 # increase screen brightness bindsym XF86MonBrightnessDown exec light -U 10 # decrease screen brightness #! Customization # class border backgr. text indicator child_border client.focused #000000 #222299 #ffffff #000000 #222222 client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a client.unfocused #333333 #222222 #888888 #292d2e #222222 client.urgent #EF2929 #900000 #ffffff #900000 #900000 client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c client.background #888A85 #exec --no-startup-id xsetroot -solid "#333333" exec --no-startup-id swaybg -i ~/Pictures/background.png no_focus [class="Fig" instance="fig" window_role="autocomplete"] for_window [class="Fig" instance="fig" window_role="autocomplete"] border pixel 0 #! Navigation set $up l set $down k set $left j set $right semicolon # use Mouse+Mod1 to drag floating windows to their wanted position floating_modifier $sup #! Applications bindsym $sup+Return exec $terminal bindsym $sup+q exec $browser bindsym $sup+d exec rofi -show run bindsym $sup+Shift+d exec --no-startup-id rofi -show drun bindsym Ctrl+Print exec --no-startup-id grim ~/Pictures/Screenshots/$(date +"%d-%m-%y_%H:%M:%S").png bindsym Print exec --no-startup-id grim - | xclip -selection clipboard -t image/png # kill focused window bindsym $sup+Shift+q kill # 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+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+f fullscreen toggle #! Layouts # change container layout (stacked, tabbed, toggle split) bindsym $sup+s layout stacking bindsym $sup+w layout tabbed bindsym $sup+e 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 Mod1+d focus child # move the currently focused window to the scratchpad bindsym $sup+Shift+minus 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 $sup+minus scratchpad show # Define names for default workspaces for which we configure key bindings later on. # We use variables to avoid repeating the names in multiple places. #! Workspaces set $ws1 "1: main" set $ws2 "2: browse" set $ws3 "3: term" set $ws4 "4: other" set $ws5 "5: other" set $ws6 "6: other" set $ws7 "7: other" set $ws8 "8: business" set $ws9 "9: talk" set $ws10 "10: misc" #! Assignments assign [class="Spotify"] $ws10 assign [class="firefox"] $ws2 assign [class="thunderbird"] $ws8 assign [class="discord"] $ws9 assign [class="jetbrains-idea-ce"] $ws1 bindsym $sup+$left workspace prev bindsym $sup+$right workspace next # alter.. youknow what is coming bindsym $sup+Left workspace prev bindsym $sup+Right workspace next # switch to workspace bindsym $sup+1 workspace number $ws1 bindsym $sup+2 workspace number $ws2 bindsym $sup+3 workspace number $ws3 bindsym $sup+4 workspace number $ws4 bindsym $sup+5 workspace number $ws5 bindsym $sup+6 workspace number $ws6 bindsym $sup+7 workspace number $ws7 bindsym $sup+8 workspace number $ws8 bindsym $sup+9 workspace number $ws9 bindsym $sup+0 workspace number $ws10 # move focused container to workspace bindsym $sup+Shift+1 move container to workspace number $ws1 bindsym $sup+Shift+2 move container to workspace number $ws2 bindsym $sup+Shift+3 move container to workspace number $ws3 bindsym $sup+Shift+4 move container to workspace number $ws4 bindsym $sup+Shift+5 move container to workspace number $ws5 bindsym $sup+Shift+6 move container to workspace number $ws6 bindsym $sup+Shift+7 move container to workspace number $ws7 bindsym $sup+Shift+8 move container to workspace number $ws8 bindsym $sup+Shift+9 move container to workspace number $ws9 bindsym $sup+Shift+0 move container to workspace number $ws10 #! sway manage # reload the configuration file bindsym $sup+Shift+c reload # restart sway inplace (preserves your layout/session, can be used to upgrade sway) bindsym $sup+Shift+r restart # exit sway (logs you out of your X session) bindsym $sup+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your X session.' -B 'Yes, exit sway' 'sway exit'" # edit config bindsym $sup+Shift+Alt+c exec "$editor ~/.config/sway/config" #! Resize # 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 $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 # 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 Mod1+r bindsym Return mode "default" bindsym Escape mode "default" bindsym $sup+r mode "default" } bindsym $sup+r mode "resize" input "1102:4629:ALP0016:00_044E:1215" { tap enabled natural_scroll enabled } bar { position top # When the status_command prints a new line to stdout, swaybar updates. # The default just shows the current date and time. status_command while ~/.config/sway/status.sh; do printf ''; done colors { statusline #ffffff background #323232 inactive_workspace #32323200 #32323200 #5c5c5c } }