.dotfiles/sway/config

137 lines
5.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 5 seconds
seat seat0 hide_cursor 5000
# Move cursor to center of container when switching
mouse_warping container
# Disable mouse as trigger to wake from idle
#seat * idle_wake keyboard switch
################################################################################
# Touchscreen
################################################################################
# Map touchscreen to output
input 1386:20615:Wacom_Pen_and_multitouch_sensor_Pen map_to_output eDP-1
input 1386:20615:Wacom_Pen_and_multitouch_sensor_Finger map_to_output eDP-1
#
# bindswitch [lib|tablet]:[on|off|toggle]
bindswitch --reload tablet:on exec ${HOME}/scripts/thinkpad/tablet_mode.sh on ; busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
bindswitch --reload tablet:off exec ${HOME}/scripts/thinkpad/tablet_mode.sh off; busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false
################################################################################
# Lid switch
################################################################################
# Restore display configuration on reload
bindswitch --reload lid:on /home/jpm/scripts/sway/displays.pl detached
################################################################################
# Appearance
################################################################################
# Gtk themes
exec gsettings set org.gnome.desktop.interface gtk-theme 'Gruvbox-Dark-BL' &
exec gsettings set org.gnome.desktop.interface icon-theme 'Flat-Remix-Blue-Dark' &
# X11 Cursor theme
exec gsettings set org.gnome.desktop.interface cursor-theme 'Vimix-cursors' &
seat seat0 xcursor_theme FlatbedCursors-Blue
# Minimize borders from all windows
hide_edge_borders none
default_floating_border pixel 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 $base02 $base08 $base00 $base08 $base02
# Feature request (https://github.com/swaywm/sway/pull/7208) does not exist as of 1.7
#client.sticky $base04 $base04 $base04 $base04 $base04
#client.sticky_inactive $base06 $base06 $base06 $base06 $base06
#client.sticky_unfocused $base07 $base07 $base07 $base07 $base07
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
################################################################################
# Allow movement of floating windows with Left Click+Drag
floating_modifier $mod
# Load special window behaviours
include $HOME/.dotfiles/sway/behaviours
# 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
exec systemctl --user start wallpapers.service
include $HOME/.dotfiles/sway/autostart