summaryrefslogtreecommitdiff
path: root/.config/sway/config
diff options
context:
space:
mode:
authorryukamish <[email protected]>2026-06-06 01:22:03 +0530
committerryukamish <[email protected]>2026-06-06 01:22:03 +0530
commitb91a830fe91c2819cb0ca9b91dcfdcb02b2a2ead (patch)
tree363492c2a3dda8480e14af1c01b150e1fabffd33 /.config/sway/config
parent89afa6de2800207d2b3f33bc896b6bf3eaf3b706 (diff)
add: user configs
Diffstat (limited to '.config/sway/config')
-rw-r--r--.config/sway/config322
1 files changed, 322 insertions, 0 deletions
diff --git a/.config/sway/config b/.config/sway/config
new file mode 100644
index 0000000..c254176
--- /dev/null
+++ b/.config/sway/config
@@ -0,0 +1,322 @@
+set $mod Mod4
+set $left h
+set $down j
+set $up k
+set $right l
+set $term kitty
+set $menu bemenu-run -l 5
+set $dmenu bemenu
+set $file_manager dolphin
+
+default_border pixel 2
+default_floating_border pixel 2
+titlebar_border_thickness 2
+titlebar_padding 6 4
+
+smart_gaps off
+smart_borders off
+
+gaps inner 0
+gaps outer 0
+
+hide_edge_borders none
+show_marks yes
+
+focus_follows_mouse no
+focus_on_window_activation smart
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Outputs ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+output "Chimei Innolux Corporation 0x142B Unknown" {
+ mode 1920x1080@60Hz
+ pos 0 0
+ # scale 1.25
+}
+
+output 'Acer Technologies EK220Q H3 14301552C3W01' {
+ mode 1920x1080@100Hz
+}
+
+seat * xcursor_theme Vimix-White 32
+exec gsettings set org.gnome.desktop.interface cursor-theme Vimix-White
+exec gsettings set org.gnome.desktop.interface cursor-size 32
+
+# Services
+
+# DBUS
+exec dbus-update-activation-environment \
+ --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
+
+# Clipboard
+exec wl-paste --watch cliphist store
+
+# swayidle
+exec swayidle -w \
+ timeout 600 'swaylock' \
+ timeout 900 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
+ before-sleep 'swaylock'
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Inputs ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+# MSI touchpad
+input "1267:12930:PNP0C50:00_04F3:3282_Touchpad" {
+ natural_scroll enabled
+ pointer_accel 0
+ dwt enabled
+ tap enabled
+ click_method clickfinger
+ scroll_method two_finger
+}
+
+input "type:keyboard" {
+ repeat_delay 200
+ repeat_rate 30
+}
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Keybinds ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+# Open terminal
+bindsym $mod+Return exec $term
+
+# Kill focused window
+bindsym $mod+q kill
+
+# Start your launcher
+bindsym $mod+Space exec $menu
+
+# File manager
+bindsym $mod+e exec $file_manager
+
+# Open ungoogled chromium
+bindsym $mod+b exec /usr/bin/chromium \
+ --force-dark-mode \
+ --enable-features=WebUIDarkMode
+
+bindsym $mod+Shift+b exec /usr/bin/firefox
+
+# Reload the configuration file
+bindsym $mod+Shift+c reload
+
+# Power menu
+bindsym $mod+p exec /usr/local/bin/sway-power
+
+# Recall last notifications
+bindsym $mod+grave exec makoctl restore
+
+# Exit sway
+bindsym $mod+Shift+e exec swaynag -e bottom \
+ -m 'EXIT SWAY SESSION' \
+ -b ' YES ' 'swaymsg exit' \
+ -s ' NO '
+
+# === Display ===
+
+# Lid close handling
+bindswitch --reload --locked lid:on output eDP-1 disable
+bindswitch --reload --locked lid:off output eDP-1 enable
+
+# === Navigation ===
+
+# 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
+
+# Make the current focus fullscreen
+bindsym $mod+f fullscreen
+
+# Toggle the current focus between tiling and floating mode
+bindsym $mod+Shift+space floating toggle
+
+# === 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 Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+r mode "resize"
+
+# Switch to previous workspace
+bindsym $mod+bracketleft workspace prev
+bindcode --whole-window 275 workspace prev
+
+# Switch to next workspace
+bindsym $mod+bracketright workspace next
+bindcode --whole-window 276 workspace next
+
+# Split view horizontally
+bindsym $mod+equal slith
+
+# Split view vertically
+bindsym $mod+minus slitv
+
+# === Layouts ===
+
+# Activate stacking layout
+bindsym $mod+Shift+s layout stacking
+
+# Activate tabbed layout
+bindsym $mod+t layout tabbed
+
+# Toggle split layout
+bindsym $mod+s layout toggle split
+
+
+# === Media keys ===
+
+# Special keys to adjust volume via PulseAudio
+bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
+bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
+bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
+bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
+
+# Special keys to control media via playerctl
+bindsym --locked XF86AudioPlay exec playerctl play-pause
+bindsym --locked XF86AudioPause exec playerctl play-pause
+bindsym --locked XF86AudioPrev exec playerctl previous
+bindsym --locked XF86AudioNext exec playerctl next
+bindsym --locked XF86AudioStop exec playerctl stop
+
+# Special keys to adjust brightness via brightnessctl
+bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
+bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
+
+# Special key to take a screenshot with grim
+bindsym Print exec grim
+
+# === Clipboard ===
+
+# Open clipboard (copying)
+bindsym $mod+v exec cliphist list \
+ | $dmenu -l 10 \
+ | cliphist decode \
+ | wl-copy
+
+# Open clipboard (deleting)
+bindsym $mod+Shift+v exec cliphist list \
+ | $dmenu -l 10 \
+ | cliphist delete
+
+# === Windows ===
+
+floating_modifier $mod normal
+
+for_window [app_id = "floating"] floating enable
+for_window [app_id = "floating_update"] floating enable
+for_window [title = "^Open File$"] floating enable
+for_window [app_id = "pavucontrol"] {
+ floating enable
+ resize set 900 800 px
+}
+for_window [app_id = "TUI.float"] {
+ floating enable
+ resize set 900 800 px
+}
+
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+# ┃ Status bar ┃
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+no_focus [app_id="waybar"]
+for_window [app_id="waybar" floating] {
+ move position cursor
+ move down 60px
+}
+
+bar {
+ id mainbar
+ output *
+ swaybar_command waybar
+}
+
+# === Autostart ===
+
+# Gnome Keyring
+exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
+
+# wlsunset
+exec wlsunset -S '06:00' -s '18:00' -d 180
+
+# poweralertd
+exec poweralertd
+
+# wallpaper (awww-daemon)
+exec awww-daemon
+
+# clipboard
+exec wl-paste --type text --watch cliphist store
+exec wl-paste --type image --watch cliphist store
+
+# for dolphin file manager
+exec XDG_MENU_PREFIX=arch- kbuildsycoca6 --noincremental
+
+# Desktop notification
+exec mako
+
+# === Other configs ===
+
+include /etc/sway/config.d/*