diff --git a/.config/sway/config b/.config/sway/config index 7332b30..c0a8fb0 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -19,6 +19,7 @@ set { $bg ~/Pictures/drain.jpg $lockscreen exec '~/.local/bin/lockscreen' #$lockscreen 'swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 10 --effect-blur 7x5 --effect-vignette 0.4:0.4 --ring-color bb00cc --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2' + # Heads $primary eDP-1 } @@ -67,105 +68,162 @@ output $primary pos 0 0 res 1920x1080 output * bg $bg fill # -### Key bindings +# Modes: # -# 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+shift+d exec $runmenu - - # 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 wlogout #swaynag -t warning -m 'Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' - - #Lock the session - bindsym Control+Alt+l $lockscreen - -# -# Program shortcuts -# -bindsym { - $mod+c exec gnome-calculator +# Resizing containers: +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym { + $left resize shrink width 10px + $down resize grow height 10px + $up resize shrink height 10px + $right resize grow width 10px + # Ditto, with arrow keys + Left resize shrink width 10px + Down resize grow height 10px + Up resize shrink height 10px + Right resize grow width 10px + # Return to default mode + Return mode "default" + Escape mode "default" + } } +# +### Key bindings +bindsym { +# +# Basics: +# +# Start a terminal + $mod+Return exec $term +# Kill focused window + $mod+Shift+q kill +# Launcher + $mod+d exec $menu + $mod+shift+d exec $runmenu +# Reload the configuration file + $mod+Shift+c reload +# Exit sway (logs you out of your Wayland session) + $mod+Shift+e exec wlogout #swaynag -t warning -m 'Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' +#Lock the session + Control+Alt+l $lockscreen +# +# Program shortcuts: +# + $mod+c exec gnome-calculator # # 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 - - bindsym $mod+comma workspace prev_on_output - bindsym $mod+period workspace next_on_output - bindsym $mod+tab workspace back_and_forth - - # 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 +# Move your focus around + $mod+$left focus left + $mod+$down focus down + $mod+$up focus up + $mod+$right focus right +# Or use $mod+[up|down|left|right] + $mod+Left focus left + $mod+Down focus down + $mod+Up focus up + $mod+Right focus right + $mod+comma workspace prev_on_output + $mod+period workspace next_on_output + $mod+tab workspace back_and_forth +# Move the focused window with the same, but add Shift + $mod+Shift+$left move left + $mod+Shift+$down move down + $mod+Shift+$up move up + $mod+Shift+$right move right +# Ditto, with arrow keys + $mod+Shift+Left move left + $mod+Shift+Down move down + $mod+Shift+Up move up + $mod+Shift+Right move right # # Workspaces: # - # Switch to workspace - # For single head configs - 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 +# Switch to workspace + $mod+1 workspace 1 + $mod+2 workspace 2 + $mod+3 workspace 3 + $mod+4 workspace 4 + $mod+5 workspace 5 + $mod+6 workspace 6 + $mod+7 workspace 7 + $mod+8 workspace 8 + $mod+9 workspace 9 + $mod+0 workspace 10 + $mod+t workspace 11 + $mod+m workspace 12 +# Move focused container to workspace + $mod+Shift+1 move container to workspace 1 + $mod+Shift+2 move container to workspace 2 + $mod+Shift+3 move container to workspace 3 + $mod+Shift+4 move container to workspace 4 + $mod+Shift+5 move container to workspace 5 + $mod+Shift+6 move container to workspace 6 + $mod+Shift+7 move container to workspace 7 + $mod+Shift+8 move container to workspace 8 + $mod+Shift+9 move container to workspace 9 + $mod+Shift+0 move container to workspace 10 +# +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. + $mod+b splith + $mod+v splitv +# Switch the current container between different layout styles + $mod+s layout stacking + $mod+w layout tabbed + $mod+e layout toggle split +# Make the current focus fullscreen + $mod+f fullscreen +# Toggle the current focus between tiling and floating mode + $mod+Shift+space floating toggle +# Swap focus between the tiling area and the floating area + $mod+space focus mode_toggle +# Move focus to the parent container + $mod+a focus parent + $mod+Shift+a focus child +# Switch to resize mode + $mod+r mode "resize" +# +# Media keys and screenshots +# + XF86PowerOff exec systemctl suspend + XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% + XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + XF86MonBrightnessDown exec brightnessctl set 5%- + XF86MonBrightnessUp exec brightnessctl set +5% + print exec grim ~/Pictures/Screenshots/grim-$(date +'%Y-%m-%d_%H-%M-%S').png + Shift+print exec grim -g "$(slurp)" ~/Pictures/Screenshots/grim-$(date +'%Y-%m-%d_%H-%M-%S').png + XF86LaunchA exec toggle_touchpad.py +# +# 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 + $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. + $mod+minus scratchpad show +} - bindsym $mod+t workspace 11:comm - bindsym $mod+m workspace M +# 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 - # 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 5 - bindsym $mod+Shift+6 move container to workspace 6 - bindsym $mod+Shift+7 move container to workspace 7 - bindsym $mod+Shift+8 move container to workspace 8 - bindsym $mod+Shift+9 move container to workspace 9 - bindsym $mod+Shift+0 move container to workspace 10 - - # Workspace-monitor assignments - # For single head devices - #workspace comm output $primary +# Workspace-monitor assignments workspace 1 output $primary workspace 2 output $primary workspace 3 output $primary @@ -176,93 +234,15 @@ bindsym { workspace 8 output $primary workspace 9 output $primary workspace 10 output $primary - workspace comm output $primary - workspace M output $primary - workspace net output $primary + workspace 11 output $primary + workspace 12 output $primary # Assign programs to workspaces - -assign [app_id="evolution"] 11:comm -assign [app_id="telegramdesktop"] 11:comm -assign [instance="Telegram"] 11:comm -assign [title="nmtui"] net - -# -# 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+f fullscreen - - # 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 - - # Move focus to the parent container - bindsym $mod+a focus parent - bindsym $mod+Shift+a focus child - -# -# Media keys and screenshots -# - bindsym XF86PowerOff exec systemctl suspend - 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 XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle - bindsym XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym XF86MonBrightnessUp exec brightnessctl set +5% - bindsym print exec grim ~/Pictures/Screenshots/grim-$(date +'%Y-%m-%d_%H-%M-%S').png - bindsym Shift+print exec grim -g "$(slurp)" ~/Pictures/Screenshots/grim-$(date +'%Y-%m-%d_%H-%M-%S').png - -# -# 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 -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" +assign [app_id="evolution"] 11 +assign [app_id="telegramdesktop"] 11 +assign [instance="Telegram"] 11 +assign [app_id="mpv"] 12 +assign [title="mpv"] 12 # ### Input @@ -277,8 +257,6 @@ input 2:7:SynPS/2_Synaptics_TouchPad { scroll_method two_finger } -bindsym XF86LaunchA exec toggle_touchpad.py - focus_follows_mouse yes focus_wrapping yes popup_during_fullscreen leave_fullscreen @@ -349,6 +327,12 @@ for_window [app_id="pavucontrol"] { } for_window [title="Calculator"] floating enable; border pixel 2 +for_window [class="Bitwarden"] { + border normal $border + floating enable + resize set width 1200px + resize set height 675px +} include /etc/sway/config.d/*