summaryrefslogtreecommitdiff
path: root/.config/sway
diff options
context:
space:
mode:
Diffstat (limited to '.config/sway')
-rw-r--r--.config/sway/config221
1 files changed, 81 insertions, 140 deletions
diff --git a/.config/sway/config b/.config/sway/config
index cac0633..82d7345 100644
--- a/.config/sway/config
+++ b/.config/sway/config
@@ -1,49 +1,13 @@
-# Default config for sway
-#
-# Copy this to ~/.config/sway/config and edit it to your liking.
-#
-# Read `man 5 sway` for a complete reference.
-
-### Variables
-#
-# Logo key. Use Mod1 for Alt.
+include catppuccin-mocha
+
set $mod Mod4
-# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
-# Your preferred terminal emulator
set $term foot
-# Your preferred application launcher
-# Note: pass the final command to swaymsg so that the resulting window can be opened
-# on the original workspace that the command was run on.
set $menu wmenu-run
-### 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
-#
-# 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'
-#
-# 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
-# resumed. It will also lock your screen before your computer goes to sleep.
-
input type:pointer {
left_handed enabled
}
@@ -53,73 +17,43 @@ input type:keyboard {
repeat_rate 40
}
-### Input configuration
-#
-# Example configuration:
-#
-# input "2:14:SynPS/2_Synaptics_TouchPad" {
-# dwt enabled
-# tap enabled
-# natural_scroll enabled
-# middle_emulation enabled
-# }
-#
-# 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.
-
-### Key bindings
-#
-# Basics:
-#
- # Start a terminal
bindsym $mod+Return exec $term
-
- # Kill focused window
- bindsym $mod+Shift+q kill
-
- # Start your launcher
bindsym $mod+p 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+q kill
bindsym $mod+Shift+c reload
+ bindsym $mod+Shift+e exec wmenu-yesno 'Really exit?' swaymsg exit
+ floating_modifier $mod normal
- # Exit sway (logs you out of your Wayland session)
- 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
-#
-# Workspaces:
-#
- # Switch to workspace
+ bindsym $mod+Shift+$left move left 10px
+ bindsym $mod+Shift+$down move down 10px
+ bindsym $mod+Shift+$up move up 10px
+ bindsym $mod+Shift+$right move right 10px
+
+ bindsym $mod+Shift+Left move left 10px
+ bindsym $mod+Shift+Down move down 10px
+ bindsym $mod+Shift+Up move up 10px
+ bindsym $mod+Shift+Right move right 10px
+
+ bindsym $mod+Mod1+Shift+$left move left 1px
+ bindsym $mod+Mod1+Shift+$down move down 1px
+ bindsym $mod+Mod1+Shift+$up move up 1px
+ bindsym $mod+Mod1+Shift+$right move right 1px
+
+ bindsym $mod+Mod1+Shift+Left move left 1px
+ bindsym $mod+Mod1+Shift+Down move down 1px
+ bindsym $mod+Mod1+Shift+Up move up 1px
+ bindsym $mod+Mod1+Shift+Right move right 1px
+
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
@@ -129,7 +63,7 @@ input type:keyboard {
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
- # 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
@@ -139,90 +73,97 @@ input type:keyboard {
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
- # 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
- # 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
-#
-# 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
-
- # 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
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
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
+ bindsym Mod1+$left resize shrink width 1px
+ bindsym Mod1+$down resize grow height 1px
+ bindsym Mod1+$up resize shrink height 1px
+ bindsym Mod1+$right resize grow width 1px
+
+ bindsym Mod1+Left resize shrink width 1px
+ bindsym Mod1+Down resize grow height 1px
+ bindsym Mod1+Up resize shrink height 1px
+ bindsym Mod1+Right resize grow width 1px
+
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
+bindsym XF86MonBrightnessUp exec brightctl +5
+bindsym XF86MonBrightnessDown exec brightctl -5
bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_SINK@ 5%+
bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_SINK@ 5%-
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_SINK@ toggle
-#
-# Status Bar:
-#
-# Read `man 5 sway-bar` for more information about this section.
+font 'FiraCode Nerd Font 11'
+
+set $gap 6
+
+gaps inner $gap
+
+titlebar_border_thickness 2
+
+# target border bg text indicator child_border
+client.focused $overlay0 $overlay0 $text $overlay0 $overlay0
+client.focused_inactive $surface0 $surface0 $text $overlay0 $surface0
+client.unfocused $mantle $mantle $text $overlay0 $mantle
+client.urgent $red $red $base $overlay0 $red
+client.background $base
+
bar {
position top
output eDP-1
- # When the status_command prints a new line to stdout, swaybar updates.
- # The default just shows the current date and time.
status_command statusbar
+ separator_symbol ''
+ pango_markup enabled
+ status_padding 6
+ status_edge_padding 0
+ workspace_min_width 32
+ gaps $gap
+
+ font 'FiraCode Nerd Font 11'
colors {
- statusline #ffffff
- background #323232
- inactive_workspace #32323200 #32323200 #5c5c5c
+ background $base
+ statusline $text
+ # separator
+ # focused_background
+ # focused_statusline
+ # focused_separator
+ focused_workspace $blue $blue $base
+ active_workspace $surface0 $surface0 $overlay2
+ inactive_workspace $base $base $overlay2
+ urgent_workspace $base $base $red
+ binding_mode $base $base $red
}
}
@@ -235,11 +176,11 @@ workspace 10 output HEADLESS-1
bindsym $mod+0 workspace number 10
bindsym $mod+Shift+0 move container to workspace number 10
-exec printf '%s\n' "$WAYLAND_DISPLAY" > "$XDG_RUNTIME_DIR"/service/sway/env/WAYLAND_DISPLAY
-exec printf '%s\n' "$SWAYSOCK" > "$XDG_RUNTIME_DIR"/service/sway/env/SWAYSOCK
-exec printf '%s\n' "$DISPLAY" > "$XDG_RUNTIME_DIR"/service/sway/env/DISPLAY
-exec printf '%s\n' "$I3SOCK" > "$XDG_RUNTIME_DIR"/service/sway/env/I3SOCK
-exec dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
-exec printf '\n' > "$XDG_RUNTIME_DIR"/service/sway/data/ready
+exec printf %s\\n "$WAYLAND_DISPLAY" >"$XDG_RUNTIME_DIR"/wl_env/WAYLAND_DISPLAY
+exec printf %s\\n "$DISPLAY" >"$XDG_RUNTIME_DIR"/wl_env/DISPLAY
+exec printf %s\\n "$SWAYSOCK" >"$XDG_RUNTIME_DIR"/wl_env/SWAYSOCK
+exec printf %s\\n "$I3SOCK" >"$XDG_RUNTIME_DIR"/wl_env/I3SOCK
+exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP=sway
+exec printf \\n >"$XDG_RUNTIME_DIR"/service/sway/data/ready
include /etc/sway/config.d/*