diff --git a/.config/sway/config b/.config/sway/config index 02c7b87..8afe4e1 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,19 +1,224 @@ -### ### -# Tycho Station Sway Config # -### ### +#### -*-conf-space-*- #### +## Global Sway Config File ## +#### #### -# This config file is modular. Set variables here, then use them in -# drop-in config files located in ~/.config/sway/config.d/ +# This config file is global, anything in this file should work on all devices. +# Any device-specific configuration should be placed in one of these drop-in +# locations: +# - `display-arrangement.conf` -- display arrangement +# - `workspace-arrangement.conf` -- workspace arrangement +# - `local-config.d/*.conf` -- additional device-specific configuration files +# These files should be symlinks managed by `yadm`. + +### ### +# Set Variables # +### ### set $mod Mod4 set $alt Mod1 -set $colors.primary '#815986' -set $colors.background '#2d272f' +set $colorprimary '#815986' +set $colorbackground '#2d272f' +set $colorwallpaper '#1e1e1e' -### ### -# HERE BE DRAGONS # -### ### +## ## +# Configure displays and workspaces # +## ## -# Do not edit anything below these comments. You have been warned. -include ~/.config/sway/config.d/*.conf +## Set Background +output * bg '#1e1e1e' solid_color + +## Include Device-Specific Configs +include display-arrangement.conf +include workspace-arrangement.conf + +### ### +# Window Management Keybinds # +### ### + +floating_modifier $mod + +## Resize Mode +mode "resize" { + bindsym { + # Arrow key bindings + Left resize shrink width 10 px or 1 ppt + Right resize grow width 10 px or 1 ppt + Up resize shrink height 10 px or 1 ppt + Down resize grow height 10 px or 1 ppt + + # Emacs bindings + $mod+b resize shrink width 10 px or 1 ppt + $mod+f resize grow width 10 px or 1 ppt + $mod+p resize shrink height 10 px or 1 ppt + $mod+n resize grow height 10 px or 1 ppt + + # Escape bindings + Return mode "default" + Escape mode "default" + $mod+r mode "default" + } +} + +## Moving Windows +bindsym { + # Arrow key bindings + $mod+Shift+Left move left + $mod+Shift+Right move right + $mod+Shift+Up move up + $mod+Shift+Down move down + + # Emacs bindings + $mod+Shift+b move left + $mod+Shift+f move right + $mod+Shift+p move up + $mod+Shift+n move down +} + +## Shifting Focus +bindsym { + # Arrow key bindings + $mod+Left focus left + $mod+Right focus right + $mod+Up focus up + $mod+Down focus down + + # Emacs bindings + $mod+b focus left + $mod+f focus right + $mod+p focus up + $mod+n focus down +} + +## Containers +bindsym { + # Create new containers + $mod+h split h + $mod+v split v + + # Rearrange current container + $mod+e layout toggle split + $mod+t layout tabbed + $mod+s layout stacking +} + +## Close focused window +bindsym $mod+Shift+q kill + +### ### +# Style Configuration # +### ### + +## Font +font pango:JetBrainsMono Nerd Font 8 + +## Borders +default_border pixel 1 + +## Colors +client.focused $colorprimary $colorbackground $colorprimary $colorprimary $colorprimary +client.focused_inactive $colorbackground $colorbackground $colorprimary $colorbackground $colorbackground +client.unfocused $colorwallpaper $colorwallpaper $colorprimary $colorbackground $colorbackground + +## Window gaps +gaps inner 10 + +## GTK theme +exec_always gsettings set org.gnome.desktop.interface { + gtk-theme 'Nordic-darker' + icon-theme 'ePapirus-dark' + font-name 'JetBrainsMono NF:12' + text-scaling-factor 1 +} + +## Terminals +for_window [app_id="Alacritty"] { + border normal 1 + client.focused $colorprimary $colorbackground $colorprimary $colorprimary $colorprimary + client.focused_inactive $colorbackground $colorbackground $colorprimary $colorbackground $colorbackground + client.unfocused $colorbackground $colorwallpaper $colorprimary $colorbackground $colorbackground +} + +### ### +# Application Keybinds # +### ### + +## Reload Sway +bindsym $mod+Shift+r reload + +## Default Application Launcher +bindsym $mod+Return exec default-application-launcher + +## Terminal Launcher +bindsym $mod+Shift+Return exec alacritty msg create-window || alacritty + +## Program Menu +bindsym $mod+d exec wofi --show drun + +## Media Controls +bindsym --locked { + XF86AudioPlay exec playerctl play-pause + XF86AudioNext exec playerctl next + XF86AudioPrev exec playerctl previous +} + +## Screen Locking +bindsym $mod+l exec loginctl lock-session + +## Notifications +bindsym $mod+Ctrl+Space exec swaync-client --hide-latest +bindsym Ctrl+Shift+Space exec swaync-client -t + +## Screenshotting +bindsym { + Shift+Print exec grimshot copy window && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the selected window has been copied to clipboard' + Ctrl+Print exec grimshot copy area && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the selected area has been copied to clipboard' + Print exec grimshot copy screen && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the entire screen has been copied to clipboard' + Mod1+Print exec grimshot copy output && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the focused output has been copied to clipboard' +} + +### ### +# Input Configuration # +### ### + +## Keyboard Settings +input type:keyboard { + xkb_numlock enabled + xkb_options compose:caps + xkb_file ~/.config/sway/keymap.xkb +} + +## Touchpad Settings +input type:touchpad { + tap enabled + natural_scroll enabled + dwt disabled + drag enabled + accel_profile adaptive +} + +## Mouse Settings +input type:pointer { + accel_profile flat + natural_scroll disabled +} + +### ### +# Service Management # +### ### + +## Import Environment Variables +exec_always XDG_CURRENT_DESKTOP=sway { + systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH ASDF_DATA_DIR + dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH ASDF_DATA_DIR +} + +## Start Session Target +exec_always systemctl --user start sway-session.target + +### ### +# Generic Local Configuration # +### ### + +## Include any relevant files from local-config.d/ +include local-config.d/*.conf diff --git a/.config/sway/config.d/00-meta.conf b/.config/sway/config.d/00-meta.conf deleted file mode 100644 index dec694a..0000000 --- a/.config/sway/config.d/00-meta.conf +++ /dev/null @@ -1,9 +0,0 @@ -### ### -# Controls for Sway # -### ### - -# This file includes "meta" controls, that is, keybinds -# for sway itself. - -bindsym $mod+Shift+r reload -bindsym $mod+Shift+e exit diff --git a/.config/sway/config.d/10-display-arrangement.conf##hostname.normandy b/.config/sway/config.d/10-display-arrangement.conf##hostname.normandy deleted file mode 100644 index 3d6ec91..0000000 --- a/.config/sway/config.d/10-display-arrangement.conf##hostname.normandy +++ /dev/null @@ -1,9 +0,0 @@ -# Display Arrangement # - -set $leftdisplay 'HDMI-A-1' -set $centerdisplay 'DP-2' - -output { - $leftdisplay pos 0 0 mode 1920x1200 - $centerdisplay pos 1920 0 mode 1920x1200 -} diff --git a/.config/sway/config.d/10-display-arrangement.conf##hostname.tycho b/.config/sway/config.d/10-display-arrangement.conf##hostname.tycho deleted file mode 100644 index d520e2d..0000000 --- a/.config/sway/config.d/10-display-arrangement.conf##hostname.tycho +++ /dev/null @@ -1,7 +0,0 @@ -set $leftdisplay 'Hewlett Packard HP Z24n CN47090537' -set $centerdisplay 'Hewlett Packard HP Z24n CN4709053L' - -output { - $leftdisplay pos 0 0 mode 1920x1200 - $centerdisplay pos 1920 0 mode 1920x1200 -} \ No newline at end of file diff --git a/.config/sway/config.d/11-display-settings.conf b/.config/sway/config.d/11-display-settings.conf deleted file mode 100644 index 15cfe90..0000000 --- a/.config/sway/config.d/11-display-settings.conf +++ /dev/null @@ -1,80 +0,0 @@ -### ### -# Display Settings # -### ### - -output * bg '#1e1e1e' solid_color - -mode "output-switching" { - bindsym 1 mode output-1 - bindsym 2 mode output-2 -# bindsym 3 mode output-3 -} - -mode "output-1" { - - ## Focus output - bindsym Return exec swaymsg focus output $leftdisplay && swaymsg mode default - - ## Focus workspace on another output - bindsym 1 exec swaymsg workspace 1 && swaymsg mode default - bindsym 2 exec swaymsg workspace 2 && swaymsg mode default - bindsym 3 exec swaymsg workspace 3 && swaymsg mode default - bindsym 4 exec swaymsg workspace 4 && swaymsg mode default - bindsym 5 exec swaymsg workspace 5 && swaymsg mode default - bindsym 6 exec swaymsg workspace 6 && swaymsg mode default - bindsym 7 exec swaymsg workspace 7 && swaymsg mode default - bindsym 8 exec swaymsg workspace 8 && swaymsg mode default - bindsym 9 exec swaymsg workspace 9 && swaymsg mode default - bindsym 0 exec swaymsg workspace 10 && swaymsg mode default - - ## Move container to focused workspace on other output - bindsym Shift+Return exec swaymsg move container to output $leftdisplay && swaymsg mode default - - ## Move container to workspace on another output - bindsym Shift+1 exec swaymsg move container to workspace 1 && swaymsg mode default - bindsym Shift+2 exec swaymsg move container to workspace 2 && swaymsg mode default - bindsym Shift+3 exec swaymsg move container to workspace 3 && swaymsg mode default - bindsym Shift+4 exec swaymsg move container to workspace 4 && swaymsg mode default - bindsym Shift+5 exec swaymsg move container to workspace 5 && swaymsg mode default - bindsym Shift+6 exec swaymsg move container to workspace 6 && swaymsg mode default - bindsym Shift+7 exec swaymsg move container to workspace 7 && swaymsg mode default - bindsym Shift+8 exec swaymsg move container to workspace 8 && swaymsg mode default - bindsym Shift+9 exec swaymsg move container to workspace 9 && swaymsg mode default - bindsym Shift+0 exec swaymsg move container to workspace 10 && swaymsg mode default -} - -mode "output-2" { - - ## Focus output - bindsym Return exec swaymsg focus output $centerdisplay && swaymsg mode default - - ## Focus workspace on another output - bindsym 1 exec swaymsg workspace 11 && swaymsg mode default - bindsym 2 exec swaymsg workspace 12 && swaymsg mode default - bindsym 3 exec swaymsg workspace 13 && swaymsg mode default - bindsym 4 exec swaymsg workspace 14 && swaymsg mode default - bindsym 5 exec swaymsg workspace 15 && swaymsg mode default - bindsym 6 exec swaymsg workspace 16 && swaymsg mode default - bindsym 7 exec swaymsg workspace 17 && swaymsg mode default - bindsym 8 exec swaymsg workspace 18 && swaymsg mode default - bindsym 9 exec swaymsg workspace 19 && swaymsg mode default - bindsym 0 exec swaymsg workspace 20 && swaymsg mode default - - ## Move container to focused workspace on other output - bindsym Shift+Return exec swaymsg move container to output $centerdisplay && swaymsg mode default - - ## Move container to workspace on another output - bindsym Shift+1 exec swaymsg move container to workspace 11 && swaymsg mode default - bindsym Shift+2 exec swaymsg move container to workspace 12 && swaymsg mode default - bindsym Shift+3 exec swaymsg move container to workspace 13 && swaymsg mode default - bindsym Shift+4 exec swaymsg move container to workspace 14 && swaymsg mode default - bindsym Shift+5 exec swaymsg move container to workspace 15 && swaymsg mode default - bindsym Shift+6 exec swaymsg move container to workspace 16 && swaymsg mode default - bindsym Shift+7 exec swaymsg move container to workspace 17 && swaymsg mode default - bindsym Shift+8 exec swaymsg move container to workspace 18 && swaymsg mode default - bindsym Shift+9 exec swaymsg move container to workspace 19 && swaymsg mode default - bindsym Shift+0 exec swaymsg move container to workspace 10 && swaymsg mode default -} - -bindsym $mod+O mode output-switching - diff --git a/.config/sway/config.d/11-workspaces.conf b/.config/sway/config.d/11-workspaces.conf deleted file mode 100644 index 8981802..0000000 --- a/.config/sway/config.d/11-workspaces.conf +++ /dev/null @@ -1,66 +0,0 @@ -### ### -# Workspaces # -### ### - -# This section defines the workspaces and creates keybinds to switch -# between them. It relies on an `i3-sensible-workspaces' command -# which prints the name of the workspace to target when given a -# workspace index - -## Define Workspaces - -workspace { - # Left monitor workspaces - 1 output $leftdisplay - 2 output $leftdisplay - 3 output $leftdisplay - 4 output $leftdisplay - 5 output $leftdisplay - 6 output $leftdisplay - 7 output $leftdisplay - 8 output $leftdisplay - 9 output $leftdisplay - 10 output $leftdisplay - - # Right monitor workspaces - 11 output $centerdisplay - 12 output $centerdisplay - 13 output $centerdisplay - 14 output $centerdisplay - 15 output $centerdisplay - 16 output $centerdisplay - 17 output $centerdisplay - 18 output $centerdisplay - 19 output $centerdisplay - 20 output $centerdisplay -} - -## Workspace Switching Keybinds - -bindsym { - $mod+1 exec swaymsg workspace $(i3-sensible-workspaces 1 ) - $mod+2 exec swaymsg workspace $(i3-sensible-workspaces 2 ) - $mod+3 exec swaymsg workspace $(i3-sensible-workspaces 3 ) - $mod+4 exec swaymsg workspace $(i3-sensible-workspaces 4 ) - $mod+5 exec swaymsg workspace $(i3-sensible-workspaces 5 ) - $mod+6 exec swaymsg workspace $(i3-sensible-workspaces 6 ) - $mod+7 exec swaymsg workspace $(i3-sensible-workspaces 7 ) - $mod+8 exec swaymsg workspace $(i3-sensible-workspaces 8 ) - $mod+9 exec swaymsg workspace $(i3-sensible-workspaces 9 ) - $mod+0 exec swaymsg workspace $(i3-sensible-workspaces 10) -} - -## Window Reassignment Keybinds - -bindsym { - $mod+Shift+1 exec swaymsg move container to workspace $(i3-sensible-workspaces 1 ) - $mod+Shift+2 exec swaymsg move container to workspace $(i3-sensible-workspaces 2 ) - $mod+Shift+3 exec swaymsg move container to workspace $(i3-sensible-workspaces 3 ) - $mod+Shift+4 exec swaymsg move container to workspace $(i3-sensible-workspaces 4 ) - $mod+Shift+5 exec swaymsg move container to workspace $(i3-sensible-workspaces 5 ) - $mod+Shift+6 exec swaymsg move container to workspace $(i3-sensible-workspaces 6 ) - $mod+Shift+7 exec swaymsg move container to workspace $(i3-sensible-workspaces 7 ) - $mod+Shift+8 exec swaymsg move container to workspace $(i3-sensible-workspaces 8 ) - $mod+Shift+9 exec swaymsg move container to workspace $(i3-sensible-workspaces 9 ) - $mod+Shift+0 exec swaymsg move container to workspace $(i3-sensible-workspaces 10) -} diff --git a/.config/sway/config.d/12-windows.conf b/.config/sway/config.d/12-windows.conf deleted file mode 100644 index 40aae72..0000000 --- a/.config/sway/config.d/12-windows.conf +++ /dev/null @@ -1,71 +0,0 @@ -### ### -# Window Management # -### ### - -# This file contains settings and keybinds related to window -# management - -## Allow dragging of floating windows whilst holding $mod -floating_modifier $mod - -## Define a window resizing mode -mode "resize" { - bindsym { - Left resize shrink width 10 px or 1 ppt - Right resize grow width 10 px or 1 ppt - Up resize shrink height 10 px or 1 ppt - Down resize grow height 10 px or 1 ppt - - Return mode "default" - Escape mode "default" - $mod+r mode "default" - } -} -bindsym $mod+r mode "resize" - -## Moving windows -bindsym { - $mod+Shift+b move left - $mod+Shift+f move right - $mod+Shift+p move up - $mod+Shift+n move down - - $mod+Shift+Left move left - $mod+Shift+Right move right - $mod+Shift+Up move up - $mod+Shift+Down move down -} - -## Shifting focus -bindsym { - $mod+b focus left - $mod+f focus right - $mod+p focus up - $mod+n focus down - - $mod+Left focus left - $mod+Right focus right - $mod+Up focus up - $mod+Down focus down - - $mod+a focus parent - $mod+space focus mode_toggle -} - -## Creating and rearranging containers -bindsym { - # Create new split-view containers - $mod+h split h - $mod+v split v - - # Rearrange focused container - $mod+e layout toggle split - $mod+t layout tabbed - $mod+s layout stacking - - # Toggle floating of focused container - $mod+Shift+space floating toggle -} - -## Close focused window -bindsym $mod+Shift+q kill diff --git a/.config/sway/config.d/20-style.conf b/.config/sway/config.d/20-style.conf deleted file mode 100644 index f35cc45..0000000 --- a/.config/sway/config.d/20-style.conf +++ /dev/null @@ -1,36 +0,0 @@ -### ### -# Style configuration # -### ### - -## Window-manager Font -font pango:JetBrainsMono Nerd Font 8 - -## One-pixel borders around windows -default_border pixel 1 - -set $colorprimary '#815986' -set $colorbackground '#2d272f' -set $colorwallpaper '#1e1e1e' - -## Colors (define these in the main config file -client.focused $colorprimary $colorbackground $colorprimary $colorprimary $colorprimary -client.focused_inactive $colorbackground $colorbackground $colorprimary $colorbackground $colorbackground -client.unfocused $colorwallpaper $colorwallpaper $colorprimary $colorbackground $colorbackground - -## Window gaps -gaps inner 10 - -## GTK theme -exec_always gsettings set org.gnome.desktop.interface { - gtk-theme 'Nordic-darker' - icon-theme 'ePapirus-dark' - font-name 'Source Sans Pro:12' - text-scaling-factor 1 -} - -for_window [app_id="Alacritty"] { - border normal 1 - client.focused $colorprimary $colorbackground $colorprimary $colorprimary $colorprimary - client.focused_inactive $colorbackground $colorbackground $colorprimary $colorbackground $colorbackground - client.unfocusd $colorbackground $colorwallpaper $colorprimary $colorbackground $colorbackground -} diff --git a/.config/sway/config.d/30-qol.conf b/.config/sway/config.d/30-qol.conf deleted file mode 100644 index 2653e5b..0000000 --- a/.config/sway/config.d/30-qol.conf +++ /dev/null @@ -1,51 +0,0 @@ -### ### -# Desktop QoL Features # -### ### - -# This file includes common desktop features such as application -# launching keybinds, alongside quality-of-life things such as media -# controls. - -## Application 'sensible' launcher. -# Relies on an `i3-sensible-launcher' script, intended to launch -# specific programs based on environment data, such as the current -# workspace. -bindsym $mod+Return exec i3-sensible-launcher - -## Terminal launch override -# Quick keybind to launch a terminal on any workspace, ignoring the -# normal default. -bindsym $mod+Shift+Return exec alacritty msg create-window || alacritty - -## Program menu -bindsym $mod+d exec wofi --show drun - -## Media controls -# Relies on the `playerctl' command, will not function without it. -# Security note: these keybinds will function while screen is locked -bindsym --locked { - XF86AudioPlay exec playerctl play-pause - XF86AudioNext exec playerctl next - XF86AudioPrev exec playerctl previous - - Ctrl+F7 exec playerctl previous - Ctrl+F8 exec playerctl play-pause - Ctrl+F9 exec playerctl next -} - -## Screen locking -# This depends on a running screen-locking agent (ideally `swayidle') -bindsym $mod+l exec loginctl lock-session - -## Notification management -# This depends on the `dunst' notification daemon -bindsym $mod+Ctrl+Space exec swaync-client --hide-latest -bindsym Ctrl+Shift+Space exec swaync-client -t - -## Screenshotting -bindsym { - Shift+Print exec grimshot copy window && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the focused window has been copied to clipboard' - Ctrl+Print exec grimshot copy area && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the selected area has been copied to clipboard' - Print exec grimshot copy screen && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the entire screen has been copied to clipboard' - Mod1+Print exec grimshot copy output && notify-send -a 'Screenshot' -u low 'Screenshot taken' 'An image of the focused display has been copied to clipboard' -} diff --git a/.config/sway/config.d/40-input.conf b/.config/sway/config.d/40-input.conf deleted file mode 100644 index 0bbadf8..0000000 --- a/.config/sway/config.d/40-input.conf +++ /dev/null @@ -1,21 +0,0 @@ -### ### -# Input Configuration # -### ### - -# Includes configuration for input devices (keyboards, mice, -# trackpads, etc.) - -## Keyboard settings -# Enables numlock, makes capslock into a compose key, and loads custom -# keymap -input * { - xkb_numlock enabled - xkb_options compose:caps - xkb_file ~/.config/sway/keymap.xkb -} - -## Touchpad settings -# Enables tap-to-click -input type:touchpad { - tap enabled -} \ No newline at end of file diff --git a/.config/sway/config.d/90-services.conf b/.config/sway/config.d/90-services.conf deleted file mode 100644 index c09aa42..0000000 --- a/.config/sway/config.d/90-services.conf +++ /dev/null @@ -1,14 +0,0 @@ -### ### -# Service Management # -### ### - -# This file interacts with SystemD to activate services - -## Import activation environment -exec_always XDG_CURRENT_DESKTOP=sway { - systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH ASDF_DATA_DIR - dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH ASDF_DATA_DIR -} - -## Start the session target -exec_always systemctl --user start sway-session.target diff --git a/.config/sway/config.new b/.config/sway/config.new deleted file mode 100644 index 55384d1..0000000 --- a/.config/sway/config.new +++ /dev/null @@ -1,19 +0,0 @@ -### ### -# Tycho Station Sway Config # -### ### - -# This config file is modular. Set variables here, then use them in -# drop-in config files located in ~/.config/sway/config.d/ - -set $mod Mod4 -set $alt Mod1 - -set $leftdisplay DP-1 -set $rightdisplay DP-2 - -### ### -# HERE BE DRAGONS # -### ### - -# Do not edit anything below these comments. You have been warned. -include ~/.config/sway/config.d/*.conf diff --git a/.config/sway/config.old b/.config/sway/config.old deleted file mode 100644 index bc6a748..0000000 --- a/.config/sway/config.old +++ /dev/null @@ -1,264 +0,0 @@ - -#### #### -## Tycho Station sway Config File ## -#### #### - -### ### -# Display settings # -### ### - -# This section controls how connected displays are treated - -# Set monitor vars -set $leftdisplay DP-1 -set $rightdisplay DP-2 - -output { - $leftdisplay pos 0 0 mode 1920x1200 - $rightdisplay pos 1920 0 mode 1920x1200 - * bg '#1e1e1e' solid_color -} - -### ### -# Window Manager settings # -### ### - -# This section controls how the window manager functions. It does -# not include keybinds that are not directly related to the window -# manager's window management functions. - -set $mod Mod4 -set $alt Mod1 - -# Set font -font pango:Source Code Pro 8 - -# Reload configuration -bindsym $mod+Shift+r reload - -# Exit -bindsym $mod+Shift+e exit - -### ### -# Window Management Settings # -### ### - -# This section controls window behavior and management keybinds. -# It also includes the resize mode. - -# Set keybinds to switch workspaces -bindsym $mod+1 exec swaymsg workspace $(i3-sensible-workspaces 1 ) -bindsym $mod+2 exec swaymsg workspace $(i3-sensible-workspaces 2 ) -bindsym $mod+3 exec swaymsg workspace $(i3-sensible-workspaces 3 ) -bindsym $mod+4 exec swaymsg workspace $(i3-sensible-workspaces 4 ) -bindsym $mod+5 exec swaymsg workspace $(i3-sensible-workspaces 5 ) -bindsym $mod+6 exec swaymsg workspace $(i3-sensible-workspaces 6 ) -bindsym $mod+7 exec swaymsg workspace $(i3-sensible-workspaces 7 ) -bindsym $mod+8 exec swaymsg workspace $(i3-sensible-workspaces 8 ) -bindsym $mod+9 exec swaymsg workspace $(i3-sensible-workspaces 9 ) -bindsym $mod+0 exec swaymsg workspace $(i3-sensible-workspaces 10) - -# Set keybinds to move windows between workspaces -bindsym $mod+Shift+1 exec swaymsg move container to workspace $(i3-sensible-workspaces 1 ) -bindsym $mod+Shift+2 exec swaymsg move container to workspace $(i3-sensible-workspaces 2 ) -bindsym $mod+Shift+3 exec swaymsg move container to workspace $(i3-sensible-workspaces 3 ) -bindsym $mod+Shift+4 exec swaymsg move container to workspace $(i3-sensible-workspaces 4 ) -bindsym $mod+Shift+5 exec swaymsg move container to workspace $(i3-sensible-workspaces 5 ) -bindsym $mod+Shift+6 exec swaymsg move container to workspace $(i3-sensible-workspaces 6 ) -bindsym $mod+Shift+7 exec swaymsg move container to workspace $(i3-sensible-workspaces 7 ) -bindsym $mod+Shift+8 exec swaymsg move container to workspace $(i3-sensible-workspaces 8 ) -bindsym $mod+Shift+9 exec swaymsg move container to workspace $(i3-sensible-workspaces 9 ) -bindsym $mod+Shift+0 exec swaymsg move container to workspace $(i3-sensible-workspaces 10) - -# Bind workspaces to monitors -workspace 1 output $leftdisplay -workspace 2 output $leftdisplay -workspace 3 output $leftdisplay -workspace 4 output $leftdisplay -workspace 5 output $leftdisplay -workspace 6 output $leftdisplay -workspace 7 output $leftdisplay -workspace 8 output $leftdisplay -workspace 9 output $leftdisplay -workspace 10 output $leftdisplay - -workspace 11 output $rightdisplay -workspace 12 output $rightdisplay -workspace 13 output $rightdisplay -workspace 14 output $rightdisplay -workspace 15 output $rightdisplay -workspace 16 output $rightdisplay -workspace 17 output $rightdisplay -workspace 18 output $rightdisplay -workspace 19 output $rightdisplay -workspace 20 output $rightdisplay - -# Allow dragging of floating windows whilst holding $mod -floating_modifier $mod - -# Resize mode -mode "resize" { - bindsym Left resize shrink width 10 px or 1 ppt - bindsym Down resize grow height 10 px or 1 ppt - bindsym Up resize shrink height 10 px or 1 ppt - bindsym f resize grow width 10 px or 1 ppt - - # Exit resize mode - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym $mod+r mode "default" -} - -bindsym $mod+r mode "resize" - - -bindsym { -# Move windows -$mod+Shift+b move left -$mod+Shift+f move right -$mod+Shift+p move up -$mod+Shift+n move down - -$mod+Shift+Left move left -$mod+Shift+Right move right -$mod+Shift+Up move up -$mod+Shift+Down move down - -# Shift focus -$mod+b focus left -$mod+f focus right -$mod+p focus up -$mod+n focus down -$mod+a focus parent - -# Splits -$mod+h split h -$mod+v split v - -# Fullscreen -$mod+$alt+f fullscreen toggle - -# Floating -$mod+Shift+space floating toggle -$mod+space focus mode_toggle - -# Close window -$mod+Shift+q kill - -# Change window arrangement -$mod+e layout toggle split -$mod+t layout tabbed -$mod+s layout stacking -} - -### ### -# Appearance # -### ### - -default_border pixel 1 - -# Colors -set $blue #5E81AC -set $orange #D08770 -set $grey #2E3440 -set $wallpaper #242933 - -set $primary '#815986' -set $background '#2d272f' -set $wallpaper '#242933' - -client.focused $primary $background $primary $primary $primary -client.focused_inactive $primary $background $primary $background $background -client.unfocused $background $background $primary $background $background - -# client.focused $blue $grey $blue $blue $blue -# client.focused_inactive $grey $grey $blue $blue $grey -# client.unfocused $grey $grey $blue $blue $grey -# client.urgent $orange $wallpaper $orange $orange $orange - -# Gaps -gaps inner 10 - -# Themes - -set $gnome-schema org.gnome.desktop.interface - -exec_always { - gsettings set $gnome-schema gtk-theme 'Nordic-darker' - gsettings set $gnome-schema icon-theme 'ePapirus-Dark' - gsettings set $gnome-schema font-name 'Source Sans Pro:12' - gsettings set $gnome-schema text-scaling-factor 1 -} - -### ### -# Desktop Features # -### ### - -# This section includes basic desktop features, such as -# the ability to launch programs and functional media keys - -# Sensible launcher (launches program based on workspace) -bindsym $mod+Return exec i3-sensible-launcher - -# Terminal launch override -bindsym $mod+Shift+Return exec alacritty - -# Program menu -bindsym $mod+d exec wofi --show drun - -# Media keys -bindsym --locked { - XF86AudioPlay exec playerctl play-pause - XF86AudioNext exec playerctl next - XF86AudioPrev exec playerctl previous -} - -# Volume keys (disabled) -# bindsym --locked { -# XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +1% -# XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -1% -# XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle -# } -# Backlight -bindsym --locked { - XF86MonBrightnessUp exec light -A 5 - XF86MonBrightnessDown exec light -U 5 -} - -# Lock screen -bindsym $mod+l exec loginctl lock-session -bindsym $mod+Shift+l exec aggietimed -s /run/user/1000/aggietimed.sock --action clock-out && loginctl lock-session - -# Notification management -bindsym $mod+Ctrl+Space exec dunstctl close - -# Screenshot bindings -bindsym { - Shift+Print exec grimshot copy area - Ctrl+Print exec grimshot copy window - Print exec grimshot copy screen - Mod1+Print exec grimshot copy output -} - -# Start daemons -#include /etc/sway/config.d/50-systemd-user.conf -exec_always env ASDF_DATA_DIR=/home/ezri/.local/share/asdf-vm XDG_CURRENT_DESKTOP=sway { - systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH ASDF_DATA_DIR - dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH ASDF_DATA_DIR -} - -exec_always /usr/bin/systemctl --user start sway-session.target - -# Start status bars -exec systemd-cat -t eww -p info --stderr-priority=notice eww daemon; sleep 1; eww open-many leftbar rightbar - -# Keyboard settings -input * { - xkb_numlock enabled - xkb_options compose:caps - xkb_file ~/.config/sway/keymap.xkb -} - -input type:touchpad { - tap enabled -} diff --git a/.config/sway/display-arrangement.conf##hostname.normandy b/.config/sway/display-arrangement.conf##hostname.normandy new file mode 100644 index 0000000..9533ff1 --- /dev/null +++ b/.config/sway/display-arrangement.conf##hostname.normandy @@ -0,0 +1,11 @@ +### -*-conf-space-*- ### +# S.S.V. Normandy Display Config # +### ### + +set $leftdisplay 'HDMI-A-1' +set $centerdisplay 'DP-2' + +output { + $leftdisplay pos 0 0 mode --custom 1920x1080@75Hz + $centerdisplay pos 1920 0 mode --custom 1920x1080@75Hz +} diff --git a/.config/sway/display-arrangement.conf##hostname.tycho b/.config/sway/display-arrangement.conf##hostname.tycho new file mode 100644 index 0000000..2a4551b --- /dev/null +++ b/.config/sway/display-arrangement.conf##hostname.tycho @@ -0,0 +1,11 @@ +### -*-conf-space-*- ### +# Tycho Station Display Config # +### ### + +set $leftdisplay 'Hewlett Packard HP Z24n CN47090537' +set $centerdisplay 'Hewlett Packard HP Z24n CN4709053L' + +output { + $leftdisplay pos 0 0 mode 1920x1200 + $centerdisplay pos 1920 0 mode 1920x1200 +} \ No newline at end of file diff --git a/.config/sway/workspace-arrangement.conf##class.dual-monitor b/.config/sway/workspace-arrangement.conf##class.dual-monitor new file mode 100644 index 0000000..9fbcb39 --- /dev/null +++ b/.config/sway/workspace-arrangement.conf##class.dual-monitor @@ -0,0 +1,63 @@ +### -*-conf-space-*- ### +# Dual-Monitor Workspace Settings # +### ### + +# This file defines the workspaces and creates the keybinds to switch +# between them and move containers around between them. This version +# is for dual-monitor systems. The host-specific display-arrangement.conf +# file should declare the $leftdisplay and $rightdisplay variables used +# here. + +workspace { + # Left monitor workspaces + 1 output $leftdisplay + 2 output $leftdisplay + 3 output $leftdisplay + 4 output $leftdisplay + 5 output $leftdisplay + 6 output $leftdisplay + 7 output $leftdisplay + 8 output $leftdisplay + 9 output $leftdisplay + 10 output $leftdisplay + + # Right monitor workspaces + 11 output $rightdisplay + 12 output $rightdisplay + 13 output $rightdisplay + 14 output $rightdisplay + 15 output $rightdisplay + 16 output $rightdisplay + 17 output $rightdisplay + 18 output $rightdisplay + 19 output $rightdisplay + 20 output $rightdisplay +} + +## Workspace Switching Keybinds +bindsym { + $mod+1 exec swaymsg workspace $(sway-find-workspace 1 ) + $mod+2 exec swaymsg workspace $(sway-find-workspace 2 ) + $mod+3 exec swaymsg workspace $(sway-find-workspace 3 ) + $mod+4 exec swaymsg workspace $(sway-find-workspace 4 ) + $mod+5 exec swaymsg workspace $(sway-find-workspace 5 ) + $mod+6 exec swaymsg workspace $(sway-find-workspace 6 ) + $mod+7 exec swaymsg workspace $(sway-find-workspace 7 ) + $mod+8 exec swaymsg workspace $(sway-find-workspace 8 ) + $mod+9 exec swaymsg workspace $(sway-find-workspace 9 ) + $mod+0 exec swaymsg workspace $(sway-find-workspace 10) +} + +## Window Reassignment Keybinds +bindsym { + $mod+Shift+1 exec swaymsg move container to workspace $(sway-find-workspace 1 ) + $mod+Shift+2 exec swaymsg move container to workspace $(sway-find-workspace 2 ) + $mod+Shift+3 exec swaymsg move container to workspace $(sway-find-workspace 3 ) + $mod+Shift+4 exec swaymsg move container to workspace $(sway-find-workspace 4 ) + $mod+Shift+5 exec swaymsg move container to workspace $(sway-find-workspace 5 ) + $mod+Shift+6 exec swaymsg move container to workspace $(sway-find-workspace 6 ) + $mod+Shift+7 exec swaymsg move container to workspace $(sway-find-workspace 7 ) + $mod+Shift+8 exec swaymsg move container to workspace $(sway-find-workspace 8 ) + $mod+Shift+9 exec swaymsg move container to workspace $(sway-find-workspace 9 ) + $mod+Shift+0 exec swaymsg move container to workspace $(sway-find-workspace 10) +} diff --git a/.local/bin/i3-sensible-launcher b/.local/bin/default-application-launcher similarity index 100% rename from .local/bin/i3-sensible-launcher rename to .local/bin/default-application-launcher diff --git a/.local/bin/i3-sensible-workspaces b/.local/bin/sway-find-workspace similarity index 100% rename from .local/bin/i3-sensible-workspaces rename to .local/bin/sway-find-workspace