From 62d8bd12d82299f7a869b3b4070cd2c39e1af8fd Mon Sep 17 00:00:00 2001 From: tslil Date: Tue, 17 Feb 2026 14:10:19 +0000 Subject: [sway] [waybar]: try switching to sway --- sway/config | 347 +++++++++++++++++++++++++----------------------------------- 1 file changed, 145 insertions(+), 202 deletions(-) (limited to 'sway') diff --git a/sway/config b/sway/config index 9dcdcd7..8e1b93a 100644 --- a/sway/config +++ b/sway/config @@ -1,217 +1,160 @@ -# Read `man 5 sway` for a complete reference. - -### Keyboard layout +# --- Variables --- +set $mod Mod4 +floating_modifier $mod -input "1:1:AT_Translated_Set_2_keyboard" { - xkb_model pc105aw-sl - xkb_layout "us(cmk_ed_dh)" - xkb_options "caps:backspace,lv3:ralt_alt,ctrl:swap_lalt_lctl" +set $left h +set $right i +set $up e +set $down a +set $term foot +set $menu fuzzel + +# --- Environment & Autostart --- + +# Wayland environment variables +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE +exec hash dbus-update-activation-environment 2>/dev/null && \ + dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE + +# Cursor +seat seat0 xcursor_theme Adwaita 64 +exec "gsettings set org.gnome.desktop.interface cursor-theme Adwaita" +exec "gsettings set org.gnome.desktop.interface cursor-size 64" + +# Start background services +exec kanshi +exec waybar +exec "gammastep -l 52.2:4.5" + +# --- Input Configuration --- +input type:touchpad { + tap enabled + drag enabled + drag_lock disabled } -input "1:2:AT_Raw_Set_2_keyboard" { - xkb_model pc105aw-sl - xkb_layout "us(cmk_ed_dh)" - xkb_options "caps:backspace,lv3:ralt_alt,ctrl:swap_lalt_lctl" +input type:keyboard { + xkb_layout gallium + xkb_options ctrl:swap_lalt_lctl,ctrl:swap_rwin_rctl,ctrl:nocaps + #repeat_delay 50 + #repeat_rate 300 } -input "2:10:TPPS/2_IBM_TrackPoint" { - pointer_accel 1 -} +# --- Appearance --- +set $bg_colour #002B36 +set $ac_colour #FF8C00 +set $in_colour #586E75 -### Variables -set $mod Mod4 +# Window colours (border, background, text, indicator, child_border) +client.focused $ac_colour $bg_colour $ac_colour $ac_colour $ac_colour +client.unfocused $in_colour $bg_colour $in_colour $in_colour $in_colour +client.focused_inactive $in_colour $bg_colour $in_colour $in_colour $in_colour +client.urgent $ac_colour $bg_colour $ac_colour $ac_colour $ac_colour -set $left n -set $down e -set $up i -set $right o +# Border settings +default_border pixel 2 +default_floating_border normal 2 -set $term foot +# Background colour +output '*' bg $bg_colour solid_color -# 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 bemenu-run -p 'run' -M 64 -c --fn 32 | xargs swaymsg exec -- - -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill -# - -### Visual stuff - -hide_edge_borders --i3 none -default_border none # pixel 1 - -client.focused #000000 #af4c00 #ffffff #2e9ef4 #AF4C00 - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+t exec $term - - # Kill focused window - bindsym $mod+Shift+k kill - - # Start your launcher - bindsym $mod+Space exec $menu - - # Time - bindsym $mod+Return exec sway_stats - - # Autolock - bindsym $mod+Shift+h exec sway_autolock - - # 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+Control+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - #bindsym $mod+Shift+Control+q 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+Control+q 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 - # 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 - - # 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 -# -# Workspaces: -# - - bindsym $mod+tab workspace back_and_forth - # Switch to workspace - bindsym $mod+l exec sway_workspace 1 L - bindsym $mod+u exec sway_workspace 2 U - bindsym $mod+y exec sway_workspace 3 Y - bindsym $mod+semicolon exec sway_workspace 4 ";" - bindsym $mod+q exec sway_workspace 5 Q - bindsym $mod+w exec sway_workspace 6 W - bindsym $mod+f exec sway_workspace 7 F - bindsym $mod+p exec sway_workspace 8 P - bindsym $mod+b exec sway_workspace 9 B - # Move focused container to workspace - bindsym $mod+Shift+l move container to workspace number 1 - bindsym $mod+Shift+u move container to workspace number 2 - bindsym $mod+Shift+y move container to workspace number 3 - bindsym $mod+Shift+semicolon move container to workspace number 4 - bindsym $mod+Shift+q move container to workspace number 5 - bindsym $mod+Shift+w move container to workspace number 6 - bindsym $mod+Shift+f move container to workspace number 7 - bindsym $mod+Shift+p move container to workspace number 8 - bindsym $mod+Shift+b move container to workspace number 9 - # 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+h splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - workspace_layout tabbed - bindsym $mod+a layout stacking - bindsym $mod+r layout tabbed - bindsym $mod+s layout toggle split - - # Make the current focus fullscreen - bindsym $mod+g fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+d floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+Shift+d focus mode_toggle - - # Move focus to the parent container - bindsym $mod+comma 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 -# -# 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+Shift+r mode "resize" +mouse_warping container + +font pango:BQN386 Unicode DZ 12 + +# --- Key Bindings --- +# Basic execution +bindsym $mod+t exec $term +bindsym $mod+space exec $menu +bindsym $mod+p exec grim_slurp +bindsym $mod+Shift+x exec lock +bindsym $mod+Shift+space exec albumbler.py +bindsym $mod+slash exec "foot qalc" + +# Window Management +bindsym $mod+Shift+k kill +bindsym $mod+Shift+Control+k exec "swaymsg exit" +bindsym $mod+Shift+Control+r reload + +# Layout +workspace_layout tabbed +bindsym $mod+n layout splith +bindsym $mod+r layout splitv +bindsym $mod+s layout tabbed -# Audio: -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 +# Movement and Focus +bindsym $mod+$right focus right +bindsym $mod+$left focus left +bindsym $mod+$up focus up +bindsym $mod+$down focus down -# Misc: -bindsym XF86Battery exec lock +bindsym $mod+Shift+$right move right +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$down move down -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. +# bindsym $mod+Return focus child -include /etc/sway/config.d/* +# Toggle Floating and Fullscreen +bindsym $mod+g floating toggle +bindsym $mod+w fullscreen toggle -exec sway_audio -exec sway_autolock -exec inactive-windows-transparency.py --opacity 0.8 -exec wlsunset -l 39 -L -76 -exec fnott +# Outputs +#bindsym $mod+Shift+e move container to workspace next +#bindsym $mod+Shift+a move container to workspace prev -#exec sway_outputs -exec foot +# Ratio Changes +bindsym $mod+Control+$up resize shrink width 10 ppt +bindsym $mod+Control+$down resize grow width 10 ppt + +# Floating Window Movement +bindsym $mod+Mod1+$left floating toggle; move left +bindsym $mod+Mod1+$down floating toggle; move down +bindsym $mod+Mod1+$up floating toggle; move up +bindsym $mod+Mod1+$right floating toggle; move right + +# Workspaces +bindsym $mod+f workspace "F" +bindsym $mod+Shift+f move container to workspace "F" + +bindsym $mod+o workspace "O" +bindsym $mod+Shift+o move container to workspace "O" + +bindsym $mod+u workspace "U" +bindsym $mod+Shift+u move container to workspace "U" + +bindsym $mod+b workspace "B" +bindsym $mod+Shift+b move container to workspace "B" + +bindsym $mod+l workspace "L" +bindsym $mod+Shift+l move container to workspace "L" + +bindsym $mod+d workspace "D" +bindsym $mod+Shift+d move container to workspace "D" + +bindsym $mod+c workspace "C" +bindsym $mod+Shift+c move container to workspace "C" + +bindsym $mod+Tab workspace back_and_forth + +# Passthrough Mode +mode "passthrough" { + bindsym $mod+Escape mode default + bindsym $mod+F11 mode default +} +bindsym $mod+F11 mode "passthrough" + +# Media Keys +bindsym XF86AudioRaiseVolume exec "pactl set-sink-volume 0 +2%" +bindsym XF86AudioLowerVolume exec "pactl set-sink-volume 0 -2%" +bindsym XF86AudioMute exec "pactl set-sink-mute 0 toggle" +bindsym XF86AudioPlay exec "mpc toggle" +bindsym XF86AudioPrev exec "mpc previous" +bindsym XF86AudioNext exec "mpc next" +bindsym XF86MonBrightnessUp exec "light -A 2" +bindsym XF86MonBrightnessDown exec "light -U 2" + +# --- Keyboard Layout Switching --- +bindsym $mod+Control+Escape exec "swaymsg 'input type:keyboard xkb_layout -options ctrl:swap_lalt_lctl,ctrl:swap_rwin_rctl,ctrl:nocaps pinev4wide'" +bindsym $mod+Escape exec "swaymsg 'input type:keyboard xkb_layout -options ctrl:swap_lalt_lctl,ctrl:swap_rwin_rctl,ctrl:nocaps gallium'" +bindsym $mod+Shift+Escape exec "swaymsg 'input type:keyboard xkb_options \"\"'" -- cgit v1.2.3