195 lines
5.4 KiB
Text
195 lines
5.4 KiB
Text
# Basic keys
|
|
set $mod Mod4
|
|
set $left b
|
|
set $down n
|
|
set $up p
|
|
set $right f
|
|
|
|
# Program variables
|
|
set $term alacritty
|
|
set $editor em
|
|
set $menu bemenu-run -i -p "" --hf "#009900" --hb "#333333"
|
|
set $lock fuzzy-swaylock
|
|
set $screenshot grim
|
|
|
|
# use mouse + $mod to drag floating windows to their wanted position
|
|
floating_modifier $mod normal
|
|
|
|
# start a terminal
|
|
bindsym $mod+Return exec $term
|
|
|
|
# start emacs
|
|
bindsym $mod+Shift+Return exec $editor
|
|
|
|
# take screenshot
|
|
bindsym $mod+Print exec $screenshot
|
|
|
|
# lock screen
|
|
bindsym $mod+l exec $lock
|
|
|
|
# kill focused window
|
|
bindsym $mod+Shift+q kill
|
|
|
|
# start bemenu (program launcher)
|
|
bindsym $mod+d exec $menu
|
|
|
|
# reload config
|
|
bindsym $mod+Shift+r reload
|
|
|
|
# split in horizontal orientation
|
|
bindsym $mod+h splith
|
|
|
|
# split in vertical orientation
|
|
bindsym $mod+v splitv
|
|
|
|
# toggle fullscreen mode
|
|
bindsym $mod+c fullscreen toggle
|
|
|
|
# change container layout (stacked, tabbed, toggle split)
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
|
|
# toggle tiling / floating
|
|
bindsym $mod+space focus mode_toggle
|
|
|
|
# focus the parent container
|
|
bindsym $mod+a focus parent
|
|
|
|
# focus the child container
|
|
bindsym $mod+q focus child
|
|
|
|
# media keys
|
|
set $refresh_i3status killall -SIGUSR1 i3status-rs
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status
|
|
bindsym $mod+XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1% && $refresh_i3status
|
|
bindsym $mod+XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1% && $refresh_i3status
|
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
|
bindsym XF86AudioNext exec --no-startup-id mpc next
|
|
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
|
bindsym XF86AudioPrev exec --no-startup-id mpc prev
|
|
bindsym XF86AudioStop exec --no-startup-id mpc stop
|
|
|
|
# exit sway
|
|
bindsym $mod+Shift+e 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'
|
|
|
|
#
|
|
# Moving around:
|
|
#
|
|
# Move your focus around
|
|
bindsym $mod+$left focus left
|
|
bindsym $mod+$down focus down
|
|
bindsym $mod+$up focus up
|
|
bindsym $mod+$right focus right
|
|
|
|
# Or use $mod+[up|down|left|right]
|
|
bindsym $mod+Left focus left
|
|
bindsym $mod+Down focus down
|
|
bindsym $mod+Up focus up
|
|
bindsym $mod+Right focus right
|
|
|
|
# Move the focused window with the same, but add Shift
|
|
bindsym $mod+Shift+$left move left
|
|
bindsym $mod+Shift+$down move down
|
|
bindsym $mod+Shift+$up move up
|
|
bindsym $mod+Shift+$right move right
|
|
|
|
# Ditto, with arrow keys
|
|
bindsym $mod+Shift+Left move left
|
|
bindsym $mod+Shift+Down move down
|
|
bindsym $mod+Shift+Up move up
|
|
bindsym $mod+Shift+Right move right
|
|
|
|
#
|
|
# Workspace setup
|
|
#
|
|
set $ws1 "1"
|
|
set $ws2 "2"
|
|
set $ws3 "3"
|
|
set $ws4 "4"
|
|
set $ws5 "5"
|
|
set $ws6 "6"
|
|
set $ws7 "7"
|
|
set $ws8 "8"
|
|
set $ws9 "9"
|
|
set $ws10 "10"
|
|
|
|
# Switch to workspace
|
|
bindsym $mod+1 workspace number $ws1
|
|
bindsym $mod+2 workspace number $ws2
|
|
bindsym $mod+3 workspace number $ws3
|
|
bindsym $mod+4 workspace number $ws4
|
|
bindsym $mod+5 workspace number $ws5
|
|
bindsym $mod+6 workspace number $ws6
|
|
bindsym $mod+7 workspace number $ws7
|
|
bindsym $mod+8 workspace number $w8
|
|
bindsym $mod+9 workspace number $w9
|
|
bindsym $mod+0 workspace number $ws10
|
|
|
|
# Move focused container to workspace
|
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
|
|
|
#
|
|
# Resizing containers:
|
|
#
|
|
mode "resize" {
|
|
bindsym Right resize shrink width 10 px or 10 ppt
|
|
bindsym Up resize grow height 10 px or 10 ppt
|
|
bindsym Down resize shrink height 10 px or 10 ppt
|
|
bindsym Left resize grow width 10 px or 10 ppt
|
|
|
|
bindsym $mod+$right resize grow width 10 px or 10 ppt
|
|
bindsym $mod+$down resize shrink height 10 px or 10 ppt
|
|
bindsym $mod+$up resize grow height 10 px or 10 ppt
|
|
bindsym $mod+$left resize shrink width 10 px or 10 ppt
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
bindsym $mod+r mode "default"
|
|
}
|
|
|
|
# resize container
|
|
bindsym $mod+r mode "resize"
|
|
|
|
# constraining floating window size
|
|
floating_maximum_size -1 x -1
|
|
|
|
# border style
|
|
default_border normal 1
|
|
|
|
# floating border style
|
|
default_floating_border normal 1
|
|
|
|
# colors
|
|
client.focused #000000 #009900 #ffffff #ff0000
|
|
client.unfocused #000000 #005500 #000000 #ff0000
|
|
|
|
# titlebar style
|
|
titlebar_padding 5 1
|
|
|
|
# i3status-rust
|
|
bar {
|
|
status_command i3status-rs
|
|
font pango:DejaVu Sans Mono, forkawesome 8
|
|
position top
|
|
|
|
colors {
|
|
statusline #00ff00
|
|
focused_workspace #00cc00 #00ff00 #000000
|
|
inactive_workspace #00cc00 #008b00 #cccccc
|
|
}
|
|
}
|
|
|
|
include /$HOME/.config/sway/config.d/*
|
|
include /etc/sway/config.d/*
|