diff --git a/shared/.config/emacs b/shared/.config/emacs index ac62918..86f20a5 160000 --- a/shared/.config/emacs +++ b/shared/.config/emacs @@ -1 +1 @@ -Subproject commit ac629183ba4ad21c212dce82b8fe6ac3ccb806d2 +Subproject commit 86f20a508fd0209d64c9ac685541f22c1c6008e8 diff --git a/shared/.config/sway/#config# b/shared/.config/sway/#config# new file mode 100644 index 0000000..d5b145c --- /dev/null +++ b/shared/.config/sway/#config# @@ -0,0 +1,261 @@ +### Variables +set $mod Mod4 +set $left h +set $down j +set $up k +set $right l + +# Terminal +set $term ghostty + +# App Launcher +set $menu wofi --show drun + +# This systemd unit indicates that sway is running for other things (kanshi) +exec_always systemctl --user start sway-session.target +exec_always systemctl --user restart kanshi.service +# Wallpaper +output * bg #282828 solid_color + +# Displays (these get updated to an autodetect kanshi config, but this is a default before it runs) +output "Dell Inc. DELL S3422DWG 3LTSS63" mode 3440x1440@143.975Hz +output eDP-1 mode 2256x1504@59.999Hz scale 1.25 + +# Idle Configuration +exec swayidle -w \ + timeout 300 'swaylock -f' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + timeout 900 'if [ $(cat /sys/class/power_supply/BAT*/status) != "Charging" ]; then systemctl suspend; fi' \ + before-sleep 'swaylock -f' + +# Keyboard +input type:keyboard { + xkb_layout "us" + xkb_variant "" + xkb_options "caps:ctrl_modifier,shift:both_capslock" + repeat_delay 400 + repeat_rate 40 +} + +# Mouse +input type:pointer { + accel_profile "flat" + pointer_accel 0.0 + scroll_factor 1.0 +} +focus_follows_mouse no + +# Trackpad +input type:touchpad { + tap enabled + natural_scroll enabled + dwt enabled + accel_profile "adaptive" + pointer_accel 0.3 + scroll_factor 1.0 + middle_emulation enabled +} + +### 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 + + # 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' + +# +# Custom Binds: +# + bindsym $mod+Shift+s exec grimshot copy area + bindsym $mod+x exec swaylock -f + +# +# 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+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+Shift+v 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 Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" +# +# Utilities: +# + # Special keys to adjust volume via PulseAudio + bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + # Special keys to adjust brightness via brightnessctl + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + # Special key to take a screenshot with grim + bindsym Print exec grim + +# +# Styling: +# + +# Remove title bars + +default_border pixel 2 +default_floating_border pixel 2 + +# Add gaps +gaps inner 5 +gaps outer 2 + +# Gruvbox Dark colors +set $bg #282828 +set $fg #ebdbb2 +set $red #cc241d +set $green #98971a +set $yellow #d79921 +set $blue #458588 +set $purple #b16286 +set $aqua #689d6a +set $gray #a89984 +set $darkgray #1d2021 + +# Window decorations +# class border backgr. text indicator child_border +client.focused $aqua $aqua $bg $purple $aqua +client.focused_inactive $darkgray $darkgray $fg $purple $darkgray +client.unfocused $darkgray $darkgray $gray $purple $darkgray +client.urgent $red $red $bg $red $red + +# Font +font pango:Hack Nerd Font Mono 10 + + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + swaybar_command waybar +} + +include /etc/sway/config.d/*