# Default config for sway # # Copy this to ~/.config/sway/config and edit it to your liking. # # Read `man 5 sway` for a complete reference. ### Variables # # Logo key. Use Mod1 for Alt. set $mod Mod1 # Home row direction keys, like vim #set $left h #set $down j #set $up k #set $right l # Your preferred terminal emulator set $term alacritty # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. #set $menu wofi --show drun set $menu rofi -show drun ### Output configuration # # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) set $bg /data/sync/images/wallpapers/0002.png set $screenlock 'swaylock -i $bg' set $images $(xdg-user-dir PICTURES)/$(date +'%s_grim.png') # exec --no-startup-id swaybg -m fill -i $bg # Example configuration: # #output HDMI-A-1 resolution 1920x1080@120hz position 1920,0 # # You can get the names of your outputs by running: swaymsg -t get_outputs ### Idle configuration # # Example configuration: # exec swayidle -w \ timeout 900 $screenlock \ timeout 1800 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ before-sleep $screenlock # # This will lock your screen after 300 seconds of inactivity, then turn off # your displays after another 300 seconds, and turn your screens back on when # resumed. It will also lock your screen before your computer goes to sleep. ### Input configuration input "type:touchpad" { tap enabled natural_scroll enabled middle_emulation enabled } # Example configuration: # # input "2:14:SynPS/2_Synaptics_TouchPad" { # dwt enabled # tap enabled # natural_scroll enabled # middle_emulation enabled # } # # You can get the names of your inputs by running: swaymsg -t get_inputs # Read `man 5 sway-input` for more information about this section. input "2:7:SynPS/2_Synaptics_TouchPad" { events disabled_on_external_mouse } input "5426:156:Razer_Razer_DeathAdder_V2_X_HyperSpeed" { accel_profile "flat" # disable mouse acceleration (enabled by default; to set it manually, use "adaptive" instead of "flat") pointer_accel 0.5 # set mouse sensitivity (between -1 and 1) } #exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh exec --no-startup-id kwalletd6 exec --no-startup-id fcitx5 #exec --no-startup-id blueman-applet exec --no-startup-id owncloud exec --no-startup-id waybar exec --no-startup-id nm-applet --indicator exec --no-startup-id nohup gentoo-pipewire-launcher restart >/dev/null 2>&1 & exec --no-startup-id xset m 1/1 0 exec --no-startup-id /usr/lib/pam_kwallet_init # Use pactl to adjust volume in PulseAudio. bindsym XF86AudioRaiseVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02+ --limit 1 && $refresh_i3status bindsym XF86AudioLowerVolume exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02- --limit 0 && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id wpctl set-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status bindsym $mod+slash exec --no-startup-id wpctl set-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym $mod+period exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02+ --limit 1 && $refresh_i3status bindsym $mod+comma exec --no-startup-id wpctl set-volume @DEFAULT_SINK@ 0.02- --limit 0 && $refresh_i3status # Brightness key bindings bindsym XF86MonBrightnessUp exec brightnessctl set +5% bindsym XF86MonBrightnessDown exec brightnessctl set 5%- # Media player key bindings (need media-sound/playerctl for playerctl.) bindsym XF86AudioPlay exec playerctl play bindsym XF86AudioPause exec playerctl pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous bindsym $mod+Shift+comma exec playerctl previous bindsym $mod+Shift+period exec playerctl next bindsym $mod+Shift+slash exec playerctl play-pause bindsym Print exec grim -g "$(slurp)" - | wl-copy bindsym $mod+Print exec grim -o $images ### Key bindings # # Basics: # # Start a terminal bindsym $mod+Return exec $term # Kill focused window bindsym $mod+Shift+q kill # Start your launcher bindsym $mod+d exec $menu # bindsym $mod+l exec $screenlock # Drag floating windows by holding down $mod and left mouse button. # Resize them with right mouse button + $mod. # Despite the name, also works for non-floating windows. # Change normal to inverse to use left mouse button for resizing and right # mouse button for dragging. floating_modifier $mod normal # Reload the configuration file bindsym $mod+Shift+c reload # Exit sway (logs you out of your Wayland 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' bindsym $mod+Shift+p exec systemctl poweroff bindsym $mod+Shift+l exec swaymsg exit # # 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 # 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 # Workspaces: # # Switch to workspace bindsym $mod+1 workspace number 1 bindsym $mod+2 workspace number 2 bindsym $mod+3 workspace number 3 bindsym $mod+4 workspace number 4 bindsym $mod+5 workspace number 5 bindsym $mod+6 workspace number 6 bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 bindsym $mod+0 workspace number 10 # Move focused container to workspace bindsym $mod+Shift+1 move container to workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2 bindsym $mod+Shift+3 move container to workspace number 3 bindsym $mod+Shift+4 move container to workspace number 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 # Note: workspaces can have any name you want, not just numbers. # We just use 1-10 as the default. # # Layout stuff: # # You can "split" the current object of your focus with # $mod+b or $mod+v, for horizontal and vertical splits # respectively. bindsym $mod+b splith bindsym $mod+v splitv # Switch the current container between different layout styles bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # Make the current focus fullscreen bindsym $mod+Shift+space fullscreen # Toggle the current focus between tiling and floating mode bindsym $mod+f floating toggle # Swap focus between the tiling area and the floating area bindsym $mod+space focus mode_toggle # Move focus to the parent container bindsym $mod+a focus parent # # 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+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 $mod+minus scratchpad show # bindsym $mod+Tab workspace back_and_forth # Resizing containers: # 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 or $mod+r bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+r mode "default" } bindsym $mod+r mode "resize" # # Status Bar: # # Read `man 5 sway-bar` for more information about this section. bar { } for_window [class="^.*"] border pixel 1 #floating for_window [app_id="signal"] floating enable for_window [app_id="fluffychat"] floating enable for_window [app_id="im.dino.Dino"] floating enable for_window [app_id="desktopclient.owncloud.com.owncloud"] floating enable for_window [app_id="firefox-bin"] move to workspace 1 for_window [app_id="thunderbird"] move container to workspace 4 for_window [app_id="thunar"] move container to workspace 3 for_window [title="wtui"] floating enable include ~./config/sway/* #include /etc/sway/config.d/*