261 lines
7.2 KiB
Plaintext
261 lines
7.2 KiB
Plaintext
#### ####
|
|
## Triskelion 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 1920x1080
|
|
$rightdisplay pos 1920 0 mode 1920x1080
|
|
* 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
|
|
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
|
|
|
|
# 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 env XDG_CURRENT_DESKTOP=sway systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH
|
|
exec env XDG_CURRENT_DESKTOP=sway hash dbus-update-activation-environment 2>/dev/null && \
|
|
env XDG_CURRENT_DESKTOP=sway dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP PATH
|
|
exec_always /usr/bin/systemctl --user start sway-session.target
|
|
|
|
# Start status bars
|
|
exec 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
|
|
}
|