This repository has been archived on 2021-04-06. You can view files and clone it, but cannot push or open issues/pull-requests.
dotfiles/home/.config/sway/config

187 lines
5.2 KiB
Plaintext

# vim: set ts=4 sw=4 sts=4:
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term alacritty
# Symlink to the current wallpaper
set $wallpaper $HOME/.config/sway/wallpaper
set $menu dmenu-wl_path | dmenu-wl -nb "#002b36" -nf "#839496" -sb "#859900" -sf "#073642" | xargs swaymsg exec --
# Outputs
output * bg $wallpaper fill
# FIXME: maybe use kanshi
output eDP-1 resolution 1920x1080 position 0,424
output "Dell Inc. DELL U2410 F525M0A104NL" resolution 1920x1200 position 1920,0
# Inputs
input type:keyboard {
xkb_layout de
xkb_options compose:caps
xkb_numlock enable
}
# Idle
exec swayidle -w \
timeout 300 "swaylock -f -i $wallpaper" \
timeout 300 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep "swaylock -f -i $wallpaper"
# Key bindings
# Basics
bindsym $mod+Return exec $term
bindsym $mod+Shift+c kill
bindsym $mod+r exec $menu
floating_modifier $mod normal
bindsym $mod+Control+r reload
bindsym $mod+Shift+q exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
# Focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Moving
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Workspaces
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# Moving workspaces between outputs
bindsym $mod+Control+$left move workspace to output left
bindsym $mod+Control+$down move workspace to output down
bindsym $mod+Control+$up move workspace to output up
bindsym $mod+Control+$right move workspace to output right
bindsym $mod+Control+Left move workspace to output left
bindsym $mod+Control+Down move workspace to output down
bindsym $mod+Control+Up move workspace to output up
bindsym $mod+Control+Right move workspace to output right
# open next window as (vertical/horizontal) split
bindsym $mod+b splith
bindsym $mod+v splitv
# layouts
bindsym $mod+s layout stacking
bindsym $mod+t layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen
bindsym $mod+Control+space floating toggle
# switch focus to tiling/floating
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
# Scratchpad
bindsym $mod+Shift+minus move scratchpad
# show/hide/cycle scratchpad windows
bindsym $mod+minus scratchpad show
# Resizing
mode "resize" {
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+d mode "resize"
# Multimedia Keys
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym $mod+y exec "swaylock -f -i $wallpaper"
# Status Bar
bar {
swaybar_command waybar
}
# Window rules (native: by app_id, xwayland legacy: by class)
assign [app_id="firefox"] 2
#assign [class="Chromium"] 2
assign [app_id="net.sourceforge.mumble."] 3
assign [class="Claws-mail"] 3
assign [app_id="anki"] 4
assign [app_id="libreoffice-startcenter"] 4
assign [app_id="net.sourceforge.gscan2pdf"] 4
assign [app_id="org.pwmt.zathura"] 4
assign [app_id="xournalpp"] 4
assign [app_id="audacious"] 5
assign [app_id="pavucontrol"] 5
assign [app_id="darktable"] 8
assign [app_id="org.inkscape.Inkscape"] 8
assign [class="Blender"] 8
assign [class="Gimp"] 8
assign [class="krita"] 8
# Window borders
default_border pixel 1
client.focused "#93a1a1" "#073642" "#93a1a1" "#2aa198"
client.focused_inactive "#839496" "#073642" "#839496" "#2aa198"
client.unfocused "#839496" "#002b36" "#839496" "#2aa198"
client.urgent "#073642" "#dc322f" "#073642" "#2aa198"
# Cursor
seat seat0 xcursor_theme Adwaita
# Autostart
exec mako