commit 5a187e56e70cbd642da263a581b57dd7ab01db44
parent f58769c587e3d1bcf9586cf37f78dacc3655e050
Author: Chris Bracken <chris@bracken.jp>
Date: Wed, 22 Apr 2020 13:27:28 -0700
Update formatting, comments for Sway config
Diffstat:
M | .config/sway/config | | | 315 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
1 file changed, 169 insertions(+), 146 deletions(-)
diff --git a/.config/sway/config b/.config/sway/config
@@ -4,8 +4,10 @@
#
# Read `man 5 sway` for a complete reference.
-### Startup
-#
+
+############################################################
+# Startup
+
# Configure Xresources settings.
exec xrdb ~/.Xresources
@@ -15,43 +17,36 @@ exec ibus-daemon --xim
# Start up Dunst notification system
exec dunst
-# Window title font
+# Set the window title font.
font pango:IPAGothic 14, DejaVu Sans Mono 12
-### Variables
-#
+
+############################################################
+# Variables
+
# Logo key. Use Mod1 for Alt.
set $mod Mod4
-# Home row direction keys, like vim
+# Home row direction keys, like vim.
set $left h
set $down j
set $up k
set $right l
-# Your preferred terminal emulator
+# Your preferred terminal emulator.
set $term rxvt
-# Your preferred application launcher
-# Note: it's recommended that you pass the final command to sway
+# Your preferred application launcher.
+# Note: it's recommended that you pass the final command to sway.
set $menu dmenu_path | dmenu -fn "DejaVu Sans Mono-16" | xargs swaymsg exec --
-# Set lock screen handler
+# Set lock screen handler.
set $lock_screen swaylock -c 000000
-### Output configuration
-#
-# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
-output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
-#
-# Example configuration:
-#
-# output HDMI-A-1 resolution 1920x1080 position 1920,0
-#
-# You can get the names of your outputs by running: swaymsg -t get_outputs
-### Idle configuration
-#
+############################################################
+# Idle configuration
+
# Lock screen after 300 seconds of inactivity, then turn off displays after
# another 300 seconds, and turn screens back on when resumed. Also lock screen
# before the computer goes to sleep.
@@ -61,7 +56,22 @@ exec swayidle -w \
resume 'swaymsg "output * dpms on"' \
before-sleep '$lock_screen'
-### Input configuration
+
+############################################################
+# Output configuration
+#
+# Example configuration:
+#
+# output HDMI-A-1 resolution 1920x1080 position 1920,0
+#
+# You can get the names of your outputs by running: swaymsg -t get_outputs
+
+# Default wallpaper (more resolutions in /usr/share/backgrounds/sway/).
+output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
+
+
+############################################################
+# Input configuration
#
# Example configuration:
#
@@ -72,51 +82,58 @@ exec swayidle -w \
# middle_emulation enabled
# }
#
-# You can get the names of your inputs by running: swaymsg -t get_inputs
+# You can get the names of your inputs by running: swaymsg -t get_inputs.
# Read `man 5 sway-input` for more information about this section.
+
input * {
+ # Use Japanese keyboard layout with caps-lock as control.
xkb_layout jp
xkb_options ctrl:nocaps
+
+ # Use natural mouse-wheel scrolling.
natural_scroll enabled
}
-### Key bindings
-#
-# Basics:
-#
- # Start a terminal
- bindsym $mod+Return exec $term
- # Kill focused window
- bindsym $mod+Shift+q kill
+############################################################
+# Key bindings: Basics
- # Start your launcher
- bindsym $mod+d exec $menu
+# Start a terminal.
+bindsym $mod+Return exec $term
- # 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
+# Kill focused window.
+bindsym $mod+Shift+q kill
- # Reload the configuration file
- bindsym $mod+Shift+c reload
+# Start the launcher.
+bindsym $mod+d exec $menu
- # Lock the screen
- bindsym Control+$mod+l exec $lock_screen
+# 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
- # Exit sway (logs you out of your Wayland session)
- bindsym $mod+Shift+e exec ~/.config/sway/exit_check.sh
+# Reload the configuration file.
+bindsym $mod+Shift+c reload
-#
-# Volume control:
-#
+# Lock the screen.
+bindsym Control+$mod+l exec $lock_screen
+
+# Exit sway (logs you out of your Wayland session).
+bindsym $mod+Shift+e exec ~/.config/sway/exit_check.sh
+
+
+############################################################
+# Key bindings: Volume control
+
+# Increase and decrease volume.
bindsym Control+$mod+F12 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym Control+$mod+F11 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
-
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
+
+# Handle media 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%-
@@ -125,122 +142,127 @@ bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
-#
-# 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
-#
-# Workspaces:
-#
- # Switch to workspace
- 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
- # Move focused container to workspace
- 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
- # 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+b splith
- bindsym $mod+v splitv
-
- # Switch the current container between different layout styles
- bindsym $mod+s layout stacking
- bindsym $mod+w layout tabbed
- bindsym $mod+e layout toggle split
- # Make the current focus fullscreen
- bindsym $mod+f fullscreen
+############################################################
+# Key bindings: 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
+
+
+############################################################
+# Key bindings: Workspaces
+
+# Switch to workspace.
+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
+
+# Move focused container to workspace.
+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
+
+
+############################################################
+# Key bindings: Layout
+
+# You can "split" the current object of your focus with $mod+b or $mod+v, for
+# horizontal and vertical splits respectively.
+bindsym $mod+b splith
+bindsym $mod+v splitv
+
+# Switch the current container between different layout styles.
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# Make the current focus fullscreen.
+bindsym $mod+f fullscreen
+
+# 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+a focus parent
+
+
+############################################################
+# Key bindings: Scratchpad
+#
+# Sway has a "scratchpad", which is a bag of holding for windows.
+# You can send windows there and get them back later.
- # Toggle the current focus between tiling and floating mode
- bindsym $mod+Shift+space floating toggle
+# Move the currently focused window to the scratchpad.
+bindsym $mod+Shift+minus move scratchpad
- # Swap focus between the tiling area and the floating area
- bindsym $mod+space focus mode_toggle
+# 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
- # Move focus to the parent container
- bindsym $mod+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.
- # Move the currently focused window to the scratchpad
- bindsym $mod+Shift+minus move scratchpad
+############################################################
+# Key bindings: Resizing containers
- # 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:
-#
mode "resize" {
- # left will shrink the containers width
- # right will grow the containers width
- # up will shrink the containers height
- # down will grow the containers height
+ # Shrink or grow the container's width, height.
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
- # Ditto, with arrow keys
+ # Ditto, with arrow keys.
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
- # Return to default mode
+ # Return to default mode on Return or Esc.
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
-#
-# Input manager:
-#
+
+############################################################
+# Key bindings: Input manager
+
bindsym $mod+i mode "j: japanese; e: english"
mode "j: japanese; e: english" {
@@ -250,10 +272,11 @@ mode "j: japanese; e: english" {
bindsym Escape mode "default"
}
-#
-# Status Bar:
+############################################################
+# Status Bar
#
# Read `man 5 sway-bar` for more information about this section.
+
bar {
position top
pango_markup disabled