Reworked sway config to be the correct amount of modular
This commit is contained in:
parent
147d46b91e
commit
6988108459
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
}
|
||||
@ -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
|
||||
@ -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
|
||||
}
|
||||
@ -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'
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
}
|
||||
11
.config/sway/display-arrangement.conf##hostname.normandy
Normal file
11
.config/sway/display-arrangement.conf##hostname.normandy
Normal file
@ -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
|
||||
}
|
||||
11
.config/sway/display-arrangement.conf##hostname.tycho
Normal file
11
.config/sway/display-arrangement.conf##hostname.tycho
Normal file
@ -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
|
||||
}
|
||||
63
.config/sway/workspace-arrangement.conf##class.dual-monitor
Normal file
63
.config/sway/workspace-arrangement.conf##class.dual-monitor
Normal file
@ -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)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user