summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIbrahim Muftee <ibrahim@muftee.net>2025-07-14 20:38:21 -0500
committerIbrahim Muftee <ibrahim@muftee.net>2026-07-01 00:23:31 -0400
commit4b73881c693bea0ca0298265796c5724727956c5 (patch)
tree55cf3c745a6e8255e93c7af6e00342c9c57c2ceb
parent59da689717fb275880763ef15988f82a6e9d8f69 (diff)
feat: replace i3 with sway
-rw-r--r--dot_config/sway/config (renamed from dot_config/i3/config)62
1 files changed, 26 insertions, 36 deletions
diff --git a/dot_config/i3/config b/dot_config/sway/config
index 55fe8ee..d6870d9 100644
--- a/dot_config/i3/config
+++ b/dot_config/sway/config
@@ -1,6 +1,4 @@
-# i3 config file (v4)
-#
-# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+# sway config file (v4)
set $mod Mod4
@@ -8,16 +6,12 @@ set $mod Mod4
# is used in the bar {} block below.
font pango:Iosevka Nerd Font 10
-# Start XDG autostart .desktop files using dex. See also
-# https://wiki.archlinux.org/index.php/XDG_Autostart
-exec --no-startup-id dex --autostart --environment i3
-
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
-# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
+# xss-lock grabs a logind suspend inhibit lock and will use swaylock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
-exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+exec --no-startup-id xss-lock --transfer-sleep-lock -- swaylock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
@@ -27,17 +21,18 @@ exec --no-startup-id nm-applet
exec --no-startup-id feh --bg-scale $HOME/.local/share/wall.jpg
# Use pactl to adjust volume in PulseAudio.
-set $refresh_i3status killall -SIGUSR1 i3status
-bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
-bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
-bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
-bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
+# Disabled bc sway
+# set $refresh_i3status killall -SIGUSR1 i3status
+# bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
+# bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
+# bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
+# bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
-bindsym $mod+Return exec wezterm
+bindsym $mod+t exec wezterm
# Open web browser
bindsym $mod+b exec librewolf
@@ -48,13 +43,8 @@ bindsym $mod+Shift+q kill
# Open Pulsemixer
bindsym $mod+p exec --no-startup-id wezterm -e pulsemixer
-# start dmenu (a program launcher)
-bindsym $mod+d exec --no-startup-id dmenu_run
-# A more modern dmenu replacement is rofi:
-# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
-# There also is i3-dmenu-desktop which only displays applications shipping a
-# .desktop file. It is a wrapper around dmenu, so you need that installed.
-# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
+# start wmenu (a program launcher)
+bindsym $mod+d exec --no-startup-id wmenu-run
# change focus
bindsym $mod+h focus left
@@ -100,11 +90,11 @@ bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
-# focus the parent container
-bindsym $mod+a focus parent
-
-# focus the child container
-#bindsym $mod+d focus child
+# # focus the parent container
+# bindsym $mod+a focus parent
+#
+# # focus the child container
+# #bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
@@ -145,13 +135,11 @@ bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
-# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
-bindsym $mod+Shift+r restart
-# exit i3 (logs you out of your X session)
-bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
+# 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'"
-# Lock the desktop using i3lock
-bindsym $mod+Control+l exec --no-startup-id i3lock
+# Lock the desktop using swaylock
+bindsym $mod+Control+l exec --no-startup-id swaylock
# resize window (you can also use the mouse for that)
mode "resize" {
@@ -182,6 +170,8 @@ bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
-bar {
- status_command i3status
-}
+
+# No bar for now bc sway
+# bar {
+# status_command i3status
+# }