dotfiles

Personal dotfiles
git clone https://git.bracken.jp/dotfiles.git
Log | Files | Refs | LICENSE

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