From 77b295b8b0f9b73ecbda809e7843812c5f4c3737 Mon Sep 17 00:00:00 2001 From: Sam Nystrom Date: Thu, 27 Nov 2025 17:35:42 -0500 Subject: update --- .config/sway/config | 221 +++++++++++++++++++--------------------------------- 1 file changed, 81 insertions(+), 140 deletions(-) (limited to '.config/sway/config') diff --git a/.config/sway/config b/.config/sway/config index cac0633..82d7345 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,49 +1,13 @@ -# 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. +include catppuccin-mocha + set $mod Mod4 -# Home row direction keys, like vim set $left h set $down j set $up k set $right l -# Your preferred terminal emulator set $term foot -# 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 wmenu-run -### 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 -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 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 300 'swaylock -f -c 000000' \ -# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ -# before-sleep 'swaylock -f -c 000000' -# -# 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 type:pointer { left_handed enabled } @@ -53,73 +17,43 @@ input type:keyboard { repeat_rate 40 } -### Input configuration -# -# 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. - -### Key bindings -# -# Basics: -# - # Start a terminal bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher bindsym $mod+p exec $menu - - # 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+q kill bindsym $mod+Shift+c reload + bindsym $mod+Shift+e exec wmenu-yesno 'Really exit?' swaymsg exit + floating_modifier $mod normal - # 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' -# -# 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: -# - # Switch to workspace + bindsym $mod+Shift+$left move left 10px + bindsym $mod+Shift+$down move down 10px + bindsym $mod+Shift+$up move up 10px + bindsym $mod+Shift+$right move right 10px + + bindsym $mod+Shift+Left move left 10px + bindsym $mod+Shift+Down move down 10px + bindsym $mod+Shift+Up move up 10px + bindsym $mod+Shift+Right move right 10px + + bindsym $mod+Mod1+Shift+$left move left 1px + bindsym $mod+Mod1+Shift+$down move down 1px + bindsym $mod+Mod1+Shift+$up move up 1px + bindsym $mod+Mod1+Shift+$right move right 1px + + bindsym $mod+Mod1+Shift+Left move left 1px + bindsym $mod+Mod1+Shift+Down move down 1px + bindsym $mod+Mod1+Shift+Up move up 1px + bindsym $mod+Mod1+Shift+Right move right 1px + bindsym $mod+1 workspace number 1 bindsym $mod+2 workspace number 2 bindsym $mod+3 workspace number 3 @@ -129,7 +63,7 @@ input type:keyboard { bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 - # 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 @@ -139,90 +73,97 @@ input type:keyboard { 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 - # 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+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 -# -# 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 Mod1+$left resize shrink width 1px + bindsym Mod1+$down resize grow height 1px + bindsym Mod1+$up resize shrink height 1px + bindsym Mod1+$right resize grow width 1px + + bindsym Mod1+Left resize shrink width 1px + bindsym Mod1+Down resize grow height 1px + bindsym Mod1+Up resize shrink height 1px + bindsym Mod1+Right resize grow width 1px + bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" +bindsym XF86MonBrightnessUp exec brightctl +5 +bindsym XF86MonBrightnessDown exec brightctl -5 bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_SINK@ 5%+ bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_SINK@ 5%- bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_SINK@ toggle -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. +font 'FiraCode Nerd Font 11' + +set $gap 6 + +gaps inner $gap + +titlebar_border_thickness 2 + +# target border bg text indicator child_border +client.focused $overlay0 $overlay0 $text $overlay0 $overlay0 +client.focused_inactive $surface0 $surface0 $text $overlay0 $surface0 +client.unfocused $mantle $mantle $text $overlay0 $mantle +client.urgent $red $red $base $overlay0 $red +client.background $base + bar { position top output eDP-1 - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. status_command statusbar + separator_symbol '' + pango_markup enabled + status_padding 6 + status_edge_padding 0 + workspace_min_width 32 + gaps $gap + + font 'FiraCode Nerd Font 11' colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c + background $base + statusline $text + # separator + # focused_background + # focused_statusline + # focused_separator + focused_workspace $blue $blue $base + active_workspace $surface0 $surface0 $overlay2 + inactive_workspace $base $base $overlay2 + urgent_workspace $base $base $red + binding_mode $base $base $red } } @@ -235,11 +176,11 @@ workspace 10 output HEADLESS-1 bindsym $mod+0 workspace number 10 bindsym $mod+Shift+0 move container to workspace number 10 -exec printf '%s\n' "$WAYLAND_DISPLAY" > "$XDG_RUNTIME_DIR"/service/sway/env/WAYLAND_DISPLAY -exec printf '%s\n' "$SWAYSOCK" > "$XDG_RUNTIME_DIR"/service/sway/env/SWAYSOCK -exec printf '%s\n' "$DISPLAY" > "$XDG_RUNTIME_DIR"/service/sway/env/DISPLAY -exec printf '%s\n' "$I3SOCK" > "$XDG_RUNTIME_DIR"/service/sway/env/I3SOCK -exec dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway -exec printf '\n' > "$XDG_RUNTIME_DIR"/service/sway/data/ready +exec printf %s\\n "$WAYLAND_DISPLAY" >"$XDG_RUNTIME_DIR"/wl_env/WAYLAND_DISPLAY +exec printf %s\\n "$DISPLAY" >"$XDG_RUNTIME_DIR"/wl_env/DISPLAY +exec printf %s\\n "$SWAYSOCK" >"$XDG_RUNTIME_DIR"/wl_env/SWAYSOCK +exec printf %s\\n "$I3SOCK" >"$XDG_RUNTIME_DIR"/wl_env/I3SOCK +exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP=sway +exec printf \\n >"$XDG_RUNTIME_DIR"/service/sway/data/ready include /etc/sway/config.d/* -- cgit v1.2.3