summaryrefslogtreecommitdiff
path: root/dotfiles
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles')
-rw-r--r--dotfiles/system/.config/sway/config306
1 files changed, 163 insertions, 143 deletions
diff --git a/dotfiles/system/.config/sway/config b/dotfiles/system/.config/sway/config
index f23db98..bbd8785 100644
--- a/dotfiles/system/.config/sway/config
+++ b/dotfiles/system/.config/sway/config
@@ -2,14 +2,14 @@
# Craig Jennings <c@cjennings.net>
input * xkb_rules evdev
-
+
### Variables
set $mod Mod4
-set $term foot
-set $menu fuzzel
-set $browser chrome
-set $altbrowser firefox
+set $term foot
+set $menu fuzzel
+set $browser chrome
+set $altbrowser firefox
# vim keybindings
set $left h
@@ -17,10 +17,10 @@ set $down j
set $up k
set $right l
-# default layout (monocle)
+# default layout (monocle)
workspace_layout stacking
-focus_follows_mouse no
+focus_follows_mouse no
### Output configuration
output * bg /home/cjennings/pictures/wallpaper/it.saves.more.than.text.png fill
@@ -36,9 +36,9 @@ output eDP-1 scale 1.8
# Example configuration:
#
# exec swayidle -w \
-# timeout 300 'swaylock -f -c 000000' \
-# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
-# before-sleep 'swaylock -f -c 000000'
+ # timeout 300 'swaylock -f -c 000000' \
+ # timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
+ # before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
@@ -47,150 +47,169 @@ output eDP-1 scale 1.8
### Input configuration
input 2362:628:PIXA3854:06_093A:0274_TouchPad {
- events disabled_on_external_mouse
- clickfinger_button_map lrm
- tap disabled
- tap_button_map lrm
- drag disabled
- natural_scroll disabled
- scroll_method two_finger
- dwt enabled
+ events disabled_on_external_mouse
+ clickfinger_button_map lrm
+ tap disabled
+ tap_button_map lrm
+ drag disabled
+ natural_scroll disabled
+ scroll_method two_finger
+ dwt enabled
}
input type:mouse {
- events enabled
- natural_scroll disabled
- dwt enabled
+ events enabled
+ natural_scroll disabled
+ dwt enabled
}
input "type:keyboard" {
- # replace caps lock with escape
- xkb_options caps:escape
-}
+ # replace caps lock with escape
+ xkb_options caps:escape
+}
### Key bindings
#
# Basics:
#
- ####
- #### Application Bindings
- ####
- bindsym $mod+Shift+w exec $altbrowser
- bindsym $mod+a exec pavucontrol
- bindsym $mod+b exec calibre
- bindsym $mod+e exec emacsclient -c -a ""
- bindsym $mod+f exec thunar
- bindsym $mod+w exec $browser
- bindsym $mod+Shift+Return exec $term
-
- # Kill focused window
- bindsym $mod+Shift+c kill
-
- # Start your launcher
- bindsym $mod+d exec $menu
-
- # Drag floating windows by holding down $mod and left mouse button.
- # Resize them with right mouse button + $mod.
- # Despite the name, also works for non-floating windows.
- # Change normal to inverse to use left mouse button for resizing and right
- # mouse button for dragging.
- floating_modifier $mod normal
-
- # Reload the configuration file
- bindsym $mod+Shift+r reload
-
- # Exit sway (logs you out of your Wayland session)
- # bindsym $mod+Shift+q exec swaynag -t warning -m 'Exit?' -B 'Yes' 'swaymsg exit'
- bindsym $mod+Shift+q exec sway exit
+####
+#### Application Bindings
+####
+
+bindsym $mod+a exec foot --title=mixertui mixertui
+for_window [title="mixertui"] {
+ floating enable
+ resize set 600 400,
+ move position center
+ border normal
+}
+
+bindsym $mod+Shift+Return exec foot --title=terminal tmux
+for_window [title="terminal"] {
+ floating enable
+ resize set 800 600,
+ move position center
+ border normal
+}
+
+
+
+bindsym $mod+w exec $browser
+bindsym $mod+Shift+w exec $altbrowser
+bindsym $mod+b exec calibre
+bindsym $mod+e exec emacsclient -c -a ""
+bindsym $mod+f exec thunar
+
+# Kill focused window
+bindsym $mod+Shift+c kill
+
+# Start your launcher
+bindsym $mod+d exec $menu
+
+# Drag floating windows by holding down $mod and left mouse button.
+# Resize them with right mouse button + $mod.
+# Despite the name, also works for non-floating windows.
+# Change normal to inverse to use left mouse button for resizing and right
+# mouse button for dragging.
+floating_modifier $mod normal
+
+# Reload the configuration file
+bindsym $mod+Shift+r reload
+
+# Exit sway (logs you out of your Wayland session)
+# bindsym $mod+Shift+q exec swaynag -t warning -m 'Exit?' -B 'Yes' 'swaymsg exit'
+bindsym $mod+Shift+q exec sway 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
+# 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
#
# Workspaces:
#
- # Switch to workspace
- bindsym $mod+1 workspace number 1
- bindsym $mod+2 workspace number 2
- bindsym $mod+3 workspace number 3
- bindsym $mod+4 workspace number 4
- bindsym $mod+5 workspace number 5
- bindsym $mod+6 workspace number 6
- bindsym $mod+7 workspace number 7
- bindsym $mod+8 workspace number 8
- bindsym $mod+9 workspace number 9
- bindsym $mod+0 workspace number 10
- # Move focused container to workspace
- bindsym $mod+Shift+1 move container to workspace number 1
- bindsym $mod+Shift+2 move container to workspace number 2
- bindsym $mod+Shift+3 move container to workspace number 3
- bindsym $mod+Shift+4 move container to workspace number 4
- bindsym $mod+Shift+5 move container to workspace number 5
- bindsym $mod+Shift+6 move container to workspace number 6
- bindsym $mod+Shift+7 move container to workspace number 7
- bindsym $mod+Shift+8 move container to workspace number 8
- bindsym $mod+Shift+9 move container to workspace number 9
- bindsym $mod+Shift+0 move container to workspace number 10
- # Note: workspaces can have any name you want, not just numbers.
- # We just use 1-10 as the default.
+# Switch to workspace
+bindsym $mod+1 workspace number 1
+bindsym $mod+2 workspace number 2
+bindsym $mod+3 workspace number 3
+bindsym $mod+4 workspace number 4
+bindsym $mod+5 workspace number 5
+bindsym $mod+6 workspace number 6
+bindsym $mod+7 workspace number 7
+bindsym $mod+8 workspace number 8
+bindsym $mod+9 workspace number 9
+bindsym $mod+0 workspace number 10
+# Move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 10
+# Note: workspaces can have any name you want, not just numbers.
+# We just use 1-10 as the default.
#
# Layout stuff:
#
- # You can "split" the current object of your focus with
- # $mod+b or $mod+v, for horizontal and vertical splits
- # respectively.
- bindsym $mod+Shift+b splith
- bindsym $mod++Shift+v splitv
+# You can "split" the current object of your focus with
+# $mod+b or $mod+v, for horizontal and vertical splits
+# respectively.
+bindsym $mod+Shift+b splith
+bindsym $mod++Shift+v splitv
+
+# Switch the current container between different layout styles
+bindsym $mod+Shift+m layout stacking # (monacle-view)
+bindsym $mod+Shift+t layout toggle split
+# bindsym $mod+Shift+i layout toggle split
- # Switch the current container between different layout styles
- bindsym $mod+Shift+m layout stacking # (monacle-view)
- bindsym $mod+Shift+t layout toggle split
- # bindsym $mod+Shift+i layout toggle split
+# Make the current focus fullscreen
+bindsym $mod+Shift+f fullscreen
- # Make the current focus fullscreen
- bindsym $mod+Shift+f fullscreen
+# Toggle the current focus between tiling and floating mode
+bindsym $mod+Shift+space floating toggle
- # Toggle the current focus between tiling and floating mode
- bindsym $mod+Shift+space floating toggle
+# Swap focus between the tiling area and the floating area
+bindsym $mod+space focus mode_toggle
+
+# Move focus to the parent container
+bindsym $mod+Shift+a focus parent
- # Swap focus between the tiling area and the floating area
- bindsym $mod+space focus mode_toggle
- # Move focus to the parent container
- bindsym $mod+Shift+a focus parent
#
# Scratchpad:
#
- # Sway has a "scratchpad", which is a bag of holding for windows.
- # You can send windows there and get them back later.
+# Sway has a "scratchpad", which is a bag of holding for windows.
+# You can send windows there and get them back later.
- # Move the currently focused window to the scratchpad
- bindsym $mod+Shift+minus move scratchpad
+# Move the currently focused window to the scratchpad
+bindsym $mod+Shift+minus move scratchpad
- # Show the next scratchpad window or hide the focused scratchpad window.
- # If there are multiple scratchpad windows, this command cycles through them.
- bindsym $mod+minus scratchpad show
+# Show the next scratchpad window or hide the focused scratchpad window.
+# If there are multiple scratchpad windows, this command cycles through them.
+bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
@@ -220,38 +239,38 @@ bindsym $mod+r mode "resize"
# Utilities:
#
- # Brightness Controls
- bindsym XF86MonBrightnessUp exec backlight incr 5
- bindsym XF86MonBrightnessDown exec backlight decr 5
-
- # Audio Controls
- bindsym XF86AudioMute exec mixer vol.mute=^
- bindsym XF86AudioLowerVolume exec mixer vol=-0.1
- bindsym XF86AudioRaiseVolume exec mixer vol=+0.1
+# Brightness Controls
+bindsym XF86MonBrightnessUp exec backlight incr 5
+bindsym XF86MonBrightnessDown exec backlight decr 5
+
+# Audio Controls
+bindsym XF86AudioMute exec mixer vol.mute=^
+bindsym XF86AudioLowerVolume exec mixer vol=-0.1
+bindsym XF86AudioRaiseVolume exec mixer vol=+0.1
- # # Special key to take a screenshot with grim
- bindsym Print exec grim
+# # Special key to take a screenshot with grim
+bindsym Print exec grim
-# Disable display when lid is closed (and vice versa)
+# Disable display when lid is closed (and vice versa)
set $disp_laptop "eDP-1"
-bindswitch --reload --locked lid:on output $disp_laptop disable
+bindswitch --reload --locked lid:on output $disp_laptop disable
bindswitch --reload --locked lid:off output $disp_laptop enable
#
-# Window Title Bar
-#
+# Window Title Bar
+#
- # don't display titlebar unless > 1 window in monocle mode
- default_border none
- hide_edge_borders --i3 smart
- smart_borders smart
- titlebar_border_thickness 0
+# don't display titlebar unless > 1 window in monocle mode
+default_border none
+hide_edge_borders --i3 smart
+smart_borders smart
+titlebar_border_thickness 0
#
# Swaybar Contents
-#
+#
bar {
swaybar_command swaybar
@@ -266,4 +285,5 @@ bar {
}
}
+
include /usr/local/etc/sway/config.d/*