.dotfiles/sway/config

119 lines
4.0 KiB
Bash
Executable File

# vim: ft=sh
################################################################################
# Keyboard
################################################################################
# I use a Dvorak keyboard, like a weirdo
input * xkb_layout "us"
input * xkb_variant "dvorak"
# Key repeat values
input * repeat_delay 300
input * repeat_rate 30
################################################################################
# Mouse
################################################################################
# TrackPoint acceleration
input 1133:49291:Logitech_G502_HERO_SE accel_profile flat
input 1133:49291:Logitech_G502_HERO_SE pointer_accel -0.966
# When using a 2-button mouse, simulate button 3 with simultaneous press
input * middle_emulation enable
# Hide cursor after 1 second
seat seat0 hide_cursor 1000
# Disable mouse as trigger to wake from idle
seat * idle_wake keyboard switch
################################################################################
# Appearance
################################################################################
# Gtk themes
exec gsettings set org.gnome.desktop.interface gtk-theme 'Oled' &
exec gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark-Grey' &
# X11 Cursor theme
exec gsettings set org.gnome.desktop.interface cursor-theme 'FlatbedCursors-Blue' &
seat seat0 xcursor_theme FlatbedCursors-Blue
# Minimize borders from all windows
hide_edge_borders none
default_floating_border normal 1
default_border pixel 1
# Font only visible in tabbed mode. Also inheritted by bar.
font pango:Anonymous Pro 12
# Start Waybar with IPC functionality (requires waybar>=0.9.9, wlroots>=0.15)
bar bar-1 {
swaybar_command /usr/bin/waybar -c $HOME/.config/waybar/config
mode hide
hidden_state hide
position bottom
}
# gaps
gaps inner 10
gaps outer 0
# Color definitions
include $HOME/.dotfiles/sway/colorscheme
# Assign colors to elements (TODO: actually name the colors for better readability)
client.background $base07
# Property Name Border BG Text Indicator Child Border
client.focused $base05 $base0D $base00 $base0D $base0D
client.focused_inactive $base01 $base01 $base05 $base03 $base01
client.unfocused $base01 $base00 $base05 $base01 $base01
client.urgent $base08 $base08 $base00 $base08 $base08
# Feature request placed for this, but it does not exist as of 1.7
#client.sticky $base08 $base08 $base00 $base08 $base08
client.placeholder $base00 $base00 $base05 $base00 $base00
################################################################################
# Bindings
################################################################################
# Set super key to Windows/Super key
set $mod Mod4
### Load keybindings
include $HOME/.dotfiles/sway/bindings
################################################################################
# Behaviour
################################################################################
# Custom SwayIdle script
exec swayidle -w timeout 500 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' &
# Allow movement of floating windows with Left Click+Drag
floating_modifier $mod
# Load special window behaviours
include $HOME/.dotfiles/sway/behaviours
# TODO Execute actions upon entering/exiting a device mode
# bindswitch [lib|tablet]:[on|off|toggle]
# eg. bindswitch tablet:on tablet_mode.sh on
# X window 'activation' should just make a window 'urgent' instead of 'focused'
focus_on_window_activation urgent
################################################################################
# Start-up Applications
################################################################################
# Configure XDG desktop portal
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec systemctl --user start xdg-desktop-portal-wlr.service
include $HOME/.dotfiles/sway/autostart