diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
index f5d371f..262b011 100644
--- a/.config/dunst/dunstrc
+++ b/.config/dunst/dunstrc
@@ -6,7 +6,7 @@
history_length = 100
corner_radius = 5
ignore_dbusclose = true
- timeout = 0
+ timeout = 30
background = "#333333"
frame_color = "#009900"
diff --git a/.config/i3/config b/.config/i3/config
new file mode 100644
index 0000000..679f9db
--- /dev/null
+++ b/.config/i3/config
@@ -0,0 +1,201 @@
+set $mod Mod4
+
+font pango:monospace 8
+
+# poweroff stuff
+set $mode_system System: (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
+mode "$mode_system" {
+ bindsym l exec --no-startup-id i3exit lock, mode "default"
+ bindsym e exec --no-startup-id i3exit logout, mode "default"
+ bindsym s exec --no-startup-id i3exit suspend, mode "default"
+ bindsym h exec --no-startup-id i3exit hibernate, mode "default"
+ bindsym r exec --no-startup-id i3exit reboot, mode "default"
+ bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+Pause mode "$mode_system"
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec i3-sensible-terminal
+
+# start emacs
+bindsym $mod+Shift+Return exec i3-sensible-editor
+
+# take screenshot
+bindsym $mod+Print exec scrot ~/tmp/screenshots/'%Y-%m-%d_%H:%M:%S_$wx$h.png'
+
+# lock screen
+bindsym $mod+Shift+l exec fuzzy-i3lock
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu (a program launcher)
+bindsym $mod+d exec --no-startup-id dmenu_run
+
+# toggle i3bar
+bindsym $mod+m bar hidden_state toggle
+
+# change focus
+bindsym $mod+b focus left
+bindsym $mod+n focus down
+bindsym $mod+p focus up
+bindsym $mod+f focus right
+
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# move focused window
+bindsym $mod+Shift+b move left 25 px
+bindsym $mod+Shift+n move down 25 px
+bindsym $mod+Shift+p move up 25 px
+bindsym $mod+Shift+f move right 25 px
+
+bindsym $mod+Shift+Left move left 25 px
+bindsym $mod+Shift+Down move down 25 px
+bindsym $mod+Shift+Up move up 25 px
+bindsym $mod+Shift+Right move right 25 px
+
+# split in horizontal orientation
+bindsym $mod+h split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+c fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+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+q focus child
+
+# 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
+
+# set input keyboard to us english
+bindsym $mod+Control+e exec "ibus engine xkb:us::eng"
+
+# set input keyboard to Chỡ Quố Ngữ (vietnamese)
+bindsym $mod+Control+v exec "ibus engine Unikey"
+
+# 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'"
+
+# media keys
+set $refresh_i3status killall -SIGUSR1 i3status-rs
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status
+bindsym $mod+XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1% && $refresh_i3status
+bindsym $mod+XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1% && $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
+bindsym XF86AudioNext exec --no-startup-id mpc next
+bindsym XF86AudioPlay exec --no-startup-id mpc toggle
+bindsym XF86AudioPrev exec --no-startup-id mpc prev
+bindsym XF86AudioStop exec --no-startup-id mpc stop
+
+# dunst control
+bindsym $mod+comma exec dunstctl close
+bindsym $mod+Shift+comma exec dunstctl close-all
+bindsym $mod+period exec dunstctl history-pop
+
+# open login screen on another vt (virtual terminal)
+bindsym $mod+Shift+XF86HomePage exec "dm-tool switch-to-greeter"
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+ bindsym Right resize shrink width 10 px or 10 ppt
+ bindsym Up resize grow height 10 px or 10 ppt
+ bindsym Down resize shrink height 10 px or 10 ppt
+ bindsym Left resize grow width 10 px or 10 ppt
+
+ bindsym $mod+f resize grow width 10 px or 10 ppt
+ bindsym $mod+n resize shrink height 10 px or 10 ppt
+ bindsym $mod+p resize grow height 10 px or 10 ppt
+ bindsym $mod+b resize shrink width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+# constraining floating window size
+# floating_minimum_size 75 x 50
+floating_maximum_size -1 x -1
+
+# colors & style
+new_window normal 1
+new_float normal 1
+client.focused #000000 #009900 #ffffff #ff0000
+client.unfocused #000000 #005500 #000000 #ff0000
+
+# use variables for screens
+set $screen0 "DP-1"
+set $screen1 "HDMI-2"
+
+# Start i3bar to display a workspace bar (plus the system information
+# i3status-rust finds out, if available)
+bar {
+ status_command i3status-rs
+ font pango:NotoSansMono-Regular, forkawesome 8
+ position top
+ tray_output primary
+ workspace_buttons yes
+ mode dock
+ modifier $mod
+ output $screen0
+
+ colors {
+ statusline #00ff00
+ focused_workspace #00cc00 #00ff00 #000000
+ inactive_workspace #00cc00 #008b00 #cccccc
+ #client.orientation #ff0000
+ }
+}
+
+bar {
+ status_command i3status-rs ~/.config/i3status-rust/secondary.toml
+ font pango:NotoSansMono-Regular, forkawesome 8
+ position top
+ tray_output primary
+ workspace_buttons yes
+ mode dock
+ modifier $mod
+ output $screen1
+
+ colors {
+ statusline #00ff00
+ focused_workspace #00cc00 #00ff00 #000000
+ inactive_workspace #00cc00 #008b00 #cccccc
+ #client.orientation #ff0000
+ }
+}
+
+include ~/.config/i3/config.d/*.conf
diff --git a/.config/i3/config.d/workspaces.conf b/.config/i3/config.d/workspaces.conf
new file mode 100644
index 0000000..a0cd82a
--- /dev/null
+++ b/.config/i3/config.d/workspaces.conf
@@ -0,0 +1,59 @@
+# create workspace names
+set $ws0 "0"
+set $ws1 "1"
+set $ws2 "2"
+set $ws3 "3"
+set $ws4 "4"
+set $ws5 "5"
+set $ws6 "6"
+set $ws7 "7"
+set $ws8 "8"
+set $ws9 "9"
+set $ws10 "10"
+set $ws11 "11"
+set $ws12 "12"
+
+# switch to workspace
+bindsym $mod+grave workspace $ws0
+bindsym $mod+1 workspace $ws1
+bindsym $mod+2 workspace $ws2
+bindsym $mod+3 workspace $ws3
+bindsym $mod+4 workspace $ws4
+bindsym $mod+5 workspace $ws5
+bindsym $mod+6 workspace $ws6
+bindsym $mod+7 workspace $ws7
+bindsym $mod+8 workspace $ws8
+bindsym $mod+9 workspace $ws9
+bindsym $mod+0 workspace $ws10
+bindsym $mod+minus workspace $ws11
+bindsym $mod+equal workspace $ws12
+
+# move focused container to workspace
+bindsym $mod+Shift+grave move container to workspace $ws0
+bindsym $mod+Shift+1 move container to workspace $ws1
+bindsym $mod+Shift+2 move container to workspace $ws2
+bindsym $mod+Shift+3 move container to workspace $ws3
+bindsym $mod+Shift+4 move container to workspace $ws4
+bindsym $mod+Shift+5 move container to workspace $ws5
+bindsym $mod+Shift+6 move container to workspace $ws6
+bindsym $mod+Shift+7 move container to workspace $ws7
+bindsym $mod+Shift+8 move container to workspace $ws8
+bindsym $mod+Shift+9 move container to workspace $ws9
+bindsym $mod+Shift+0 move container to workspace $ws10
+bindsym $mod+Shift+underscore move container to workspace $ws11
+bindsym $mod+Shift+plus move container to workspace $ws12
+
+# put workspaces on fixed screens
+workspace $ws0 output $screen0
+workspace $ws1 output $screen0
+workspace $ws2 output $screen0
+workspace $ws3 output $screen0
+workspace $ws4 output $screen0
+workspace $ws5 output $screen0
+workspace $ws6 output $screen1
+workspace $ws7 output $screen1
+workspace $ws8 output $screen1
+workspace $ws9 output $screen1
+workspace $ws10 output $screen1
+workspace $ws11 output $screen1
+workspace $ws12 output $screen1
diff --git a/.config/i3status-rust/config.toml b/.config/i3status-rust/config.toml
index d07d1fd..fd1e336 100644
--- a/.config/i3status-rust/config.toml
+++ b/.config/i3status-rust/config.toml
@@ -1,5 +1,5 @@
[icons]
-icons = "awesome6"
+icons = "awesome"
[theme]
theme = "solarized-dark"
@@ -11,94 +11,90 @@ separator = "|"
separator_fg = "#00cc00"
separator_bg = "#222222"
+[[block]]
+block = "maildir"
+interval = 15
+inboxes = ["/home/finga/mail/onders.org/Inbox", "/home/finga/mail/chaostreff.at/Inbox"]
+display_type = "new"
+
[[block]]
block = "weather"
+format = "$weather $temp, $humidity, $wind m/s $direction"
service = { name = "openweathermap", api_key = "8271cc3c23dbae82eda2123c55c050be", city_id = "2766824", units = "metric" }
-format = " $icon $weather $temp, $humidity, $wind m/s $direction "
[[block]]
block = "sound"
-driver = "pulseaudio"
[[block]]
-block = "net"
-device = "enp9s0"
-format = " $icon $ip $graph_down $speed_down^icon_net_down $graph_up $speed_up^icon_net_up "
+block = "music"
+format = "$combo.rot-str(30) $play"
+player = "mpd"
[[block]]
block = "net"
device = "enp0s31f6"
-format = " $icon $ip $graph_down $speed_down^icon_net_down $graph_up $speed_up^icon_net_up "
+format = "$ip $graph_down $speed_down $graph_up $speed_up"
-[[block]]
-block = "disk_space"
-path = "/"
-warning = 80.0
-alert = 90.0
-info_type = "used"
-format = " $icon $path $percentage "
+# [[block]]
+# block = "disk_space"
+# path = "/"
+# info_type = "used"
+# format = "{path} {percentage}"
-[[block]]
-block = "disk_space"
-path = "/boot"
-warning = 70.0
-alert = 85.0
-info_type = "used"
-format = " $icon $path $percentage "
+# [[block]]
+# block = "disk_space"
+# path = "/home"
+# info_type = "used"
+# format = "{path} {percentage}"
-[[block]]
-block = "disk_space"
-path = "/home"
-warning = 75.0
-alert = 90.0
-info_type = "used"
-format = " $icon $path $percentage "
+# [[block]]
+# block = "disk_space"
+# path = "/var"
+# info_type = "used"
+# warning = 20.0
+# format = "{path} {percentage}"
-[[block]]
-block = "disk_space"
-path = "/tmp"
-warning = 70.0
-alert = 80.0
-info_type = "used"
-format = " $icon $path $percentage "
-
-[[block]]
-block = "disk_space"
-path = "/var"
-warning = 70.0
-alert = 80.0
-info_type = "used"
-format = " $icon $path $percentage "
+# [[block]]
+# block = "disk_space"
+# path = "/tmp"
+# info_type = "used"
+# format = "{path} {percentage}"
[[block]]
block = "memory"
-format = " $icon $mem_used_percents.eng(w:3) "
+display_type = "memory"
+format_mem = "$mem_total_used_percents.eng(3)"
+clickable = false
[[block]]
block = "memory"
-format = " $icon_swap $swap_used_percents.eng(w:3) "
+display_type = "swap"
+format_swap = "$swap_used_percents.eng(3)"
+clickable = false
[[block]]
block = "cpu"
interval = 1
-format = " $icon $barchart $utilization $frequency.eng(w:4) "
+format = "$barchart $utilization $frequency.eng(4)"
[[block]]
block = "temperature"
-format = " $icon $min min, $max max, $average avg "
+collapsed = false
+format = "$min min, $max max, $average avg"
+chip = "*-isa-*"
[[block]]
block = "load"
-format = " $icon $1m.eng(w:4) $5m.eng(w:4) $15m.eng(w:4) "
+format = "$1m.eng(4) $5m.eng(4) $15m.eng(4)"
[[block]]
block = "time"
interval = 1
-format = " $icon $timestamp.datetime(f:'%F (%Z) %T') "
+format = "%F (%Z) %T"
timezone = "Europe/Vienna"
[[block]]
block = "time"
interval = 1
-format = " $icon $timestamp.datetime(f:'(%Z) %T') "
+format = "(%Z) %T"
timezone = "Etc/UTC"
diff --git a/.config/i3status-rust/secondary.toml b/.config/i3status-rust/secondary.toml
index 412297d..88569de 100644
--- a/.config/i3status-rust/secondary.toml
+++ b/.config/i3status-rust/secondary.toml
@@ -1,5 +1,5 @@
[icons]
-icons = "awesome4"
+icons = "awesome"
[theme]
theme = "solarized-dark"
@@ -13,40 +13,45 @@ separator_bg = "#222222"
[[block]]
block = "sound"
-driver = "pulseaudio"
[[block]]
block = "uptime"
[[block]]
block = "memory"
-format = " $icon $mem_used_percents.eng(w:3) "
+display_type = "memory"
+format_mem = "$mem_total_used_percents.eng(3)"
+clickable = false
[[block]]
block = "memory"
-format = " $icon_swap $swap_used_percents.eng(w:3) "
+display_type = "swap"
+format_swap = "$swap_used_percents.eng(3)"
+clickable = false
[[block]]
block = "cpu"
interval = 1
-format = " $icon $barchart $utilization $frequency.eng(w:4) "
+format = "$barchart $utilization"
[[block]]
block = "temperature"
-format = " $icon $min min, $max max, $average avg "
+collapsed = false
+format = "$min min, $max max, $average avg"
+chip = "*-isa-*"
[[block]]
block = "load"
-format = " $icon $1m.eng(w:4) $5m.eng(w:4) $15m.eng(w:4) "
+format = "$1m.eng(4) $5m.eng(4) $15m.eng(4)"
[[block]]
block = "time"
interval = 1
-format = " $icon $timestamp.datetime(f:'%F (%Z) %T') "
+format = "%Y-%m-%d %a (%Z) %H:%M:%S"
timezone = "Europe/Vienna"
[[block]]
block = "time"
interval = 1
-format = " $icon $timestamp.datetime(f:'(%Z) %T') "
+format = "(%Z) %H:%M:%S"
timezone = "Etc/UTC"
diff --git a/.config/sway/config b/.config/sway/config
deleted file mode 100644
index 11cf6fe..0000000
--- a/.config/sway/config
+++ /dev/null
@@ -1,178 +0,0 @@
-# Basic keys
-set $mod Mod4
-set $left b
-set $down n
-set $up p
-set $right f
-
-# Program variables
-set $term alacritty
-set $editor em
-set $menu wmenu-run -i -M "#222222" -s "#00FF00" -S "#333333"
-set $screenshot grim
-
-# use mouse + $mod to drag floating windows to their wanted position
-floating_modifier $mod normal
-
-# start a terminal
-bindsym $mod+Return exec $term
-
-# start emacs
-bindsym $mod+Shift+Return exec $editor
-
-# take screenshot
-bindsym $mod+Print exec $screenshot
-
-# kill focused window
-bindsym $mod+Shift+q kill
-
-# start launcher
-bindsym $mod+d exec $menu
-
-# reload config
-bindsym $mod+Shift+r reload
-
-# split in horizontal orientation
-bindsym $mod+h splith
-
-# split in vertical orientation
-bindsym $mod+v splitv
-
-# toggle fullscreen mode
-bindsym $mod+c fullscreen toggle
-
-# change container layout (stacked, tabbed, toggle split)
-bindsym $mod+s layout stacking
-bindsym $mod+w layout tabbed
-bindsym $mod+e layout toggle split
-
-# toggle tiling / floating
-bindsym $mod+space focus mode_toggle
-
-# focus the parent container
-bindsym $mod+a focus parent
-
-# focus the child container
-bindsym $mod+q focus child
-
-# exit sway
-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'
-
-#
-# 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
-
-#
-# 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
-
-#
-# Resizing containers:
-#
-mode "resize" {
- bindsym Right resize shrink width 10 px or 10 ppt
- bindsym Up resize grow height 10 px or 10 ppt
- bindsym Down resize shrink height 10 px or 10 ppt
- bindsym Left resize grow width 10 px or 10 ppt
-
- bindsym $mod+$right resize grow width 10 px or 10 ppt
- bindsym $mod+$down resize shrink height 10 px or 10 ppt
- bindsym $mod+$up resize grow height 10 px or 10 ppt
- bindsym $mod+$left resize shrink width 10 px or 10 ppt
-
- bindsym Return mode "default"
- bindsym Escape mode "default"
- bindsym $mod+r mode "default"
-}
-
-# resize container
-bindsym $mod+r mode "resize"
-
-# constraining floating window size
-floating_maximum_size -1 x -1
-
-# border style
-default_border normal 1
-
-# floating border style
-default_floating_border normal 1
-
-# colors
-client.focused #000000 #009900 #ffffff #ff0000
-client.unfocused #000000 #005500 #000000 #ff0000
-
-# titlebar style
-titlebar_padding 5 2
-
-# use variables for screens
-set $screen0 "DP-1"
-set $screen1 "HDMI-A-2"
-
-bar {
- status_command i3status-rs
- font pango:NotoSansMono-Regular, forkawesome 8
- position top
- tray_output primary
- workspace_buttons yes
- mode dock
- modifier $mod
- output $screen0
-
- colors {
- statusline #00ff00
- focused_workspace #00cc00 #00ff00 #000000
- inactive_workspace #00cc00 #008b00 #cccccc
- }
-}
-
-bar {
- status_command i3status-rs ~/.config/i3status-rust/secondary.toml
- font pango:NotoSansMono-Regular, forkawesome 8
- position top
- tray_output primary
- workspace_buttons yes
- mode dock
- modifier $mod
- output $screen1
-
- colors {
- statusline #00ff00
- focused_workspace #00cc00 #00ff00 #000000
- inactive_workspace #00cc00 #008b00 #cccccc
- }
-}
-
-include /etc/sway/config.d/*
-include /$HOME/.config/sway/config.d/*
diff --git a/.config/sway/config.d/00-rotate.conf b/.config/sway/config.d/00-rotate.conf
deleted file mode 100644
index 318a7cf..0000000
--- a/.config/sway/config.d/00-rotate.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-output DP-1 pos 0 0
-output HDMI-A-2 pos 1920 -380 transform 270
diff --git a/.config/sway/config.d/10-workspaces.conf b/.config/sway/config.d/10-workspaces.conf
deleted file mode 100644
index 4560d67..0000000
--- a/.config/sway/config.d/10-workspaces.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Workspace setup
-#
-set $ws0 "0"
-set $ws1 "1"
-set $ws2 "2"
-set $ws3 "3"
-set $ws4 "4"
-set $ws5 "5"
-set $ws6 "6"
-set $ws7 "7"
-set $ws8 "8"
-set $ws9 "9"
-set $ws10 "10"
-set $ws11 "11"
-set $ws12 "12"
-
-# Switch to workspace
-bindsym $mod+grave workspace number $ws0
-bindsym $mod+1 workspace number $ws1
-bindsym $mod+2 workspace number $ws2
-bindsym $mod+3 workspace number $ws3
-bindsym $mod+4 workspace number $ws4
-bindsym $mod+5 workspace number $ws5
-bindsym $mod+6 workspace number $ws6
-bindsym $mod+7 workspace number $ws7
-bindsym $mod+8 workspace number $ws8
-bindsym $mod+9 workspace number $ws9
-bindsym $mod+0 workspace number $ws10
-bindsym $mod+minus workspace number $ws11
-bindsym $mod+equal workspace number $ws12
-
-# Move focused container to workspace
-bindsym $mod+Shift+grave move container to workspace number $ws0
-bindsym $mod+Shift+1 move container to workspace number $ws1
-bindsym $mod+Shift+2 move container to workspace number $ws2
-bindsym $mod+Shift+3 move container to workspace number $ws3
-bindsym $mod+Shift+4 move container to workspace number $ws4
-bindsym $mod+Shift+5 move container to workspace number $ws5
-bindsym $mod+Shift+6 move container to workspace number $ws6
-bindsym $mod+Shift+7 move container to workspace number $ws7
-bindsym $mod+Shift+8 move container to workspace number $ws8
-bindsym $mod+Shift+9 move container to workspace number $ws9
-bindsym $mod+Shift+0 move container to workspace number $ws10
-bindsym $mod+Shift+underscore move container to workspace number $ws11
-bindsym $mod+Shift+plus move container to workspace number $ws12
diff --git a/.config/sway/config.d/20-screenlock.conf b/.config/sway/config.d/20-screenlock.conf
deleted file mode 100644
index 019985c..0000000
--- a/.config/sway/config.d/20-screenlock.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# screenlock
-set $lock fuzzy-swaylock 37c3
-bindsym $mod+Shift+l exec $lock
diff --git a/.config/sway/config.d/30-dunst.conf b/.config/sway/config.d/30-dunst.conf
deleted file mode 100644
index f95ae4d..0000000
--- a/.config/sway/config.d/30-dunst.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-# dunst control
-bindsym $mod+comma exec dunstctl close
-bindsym $mod+Shift+comma exec dunstctl close-all
-bindsym $mod+period exec dunstctl history-pop
diff --git a/.config/sway/config.d/50-systemd-user.conf b/.config/sway/config.d/50-systemd-user.conf
deleted file mode 100644
index 8781db9..0000000
--- a/.config/sway/config.d/50-systemd-user.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
-# See FS#63021
-# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
-
-# Upstream refuses to set XDG_CURRENT_DESKTOP so we have to.
-exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway
-exec systemctl --user import-environment DISPLAY \
- SWAYSOCK \
- WAYLAND_DISPLAY \
- XDG_CURRENT_DESKTOP
-
-exec hash dbus-update-activation-environment 2>/dev/null && \
- dbus-update-activation-environment --systemd DISPLAY \
- SWAYSOCK \
- XDG_CURRENT_DESKTOP=sway \
- WAYLAND_DISPLAY
diff --git a/.config/sway/config.d/60-media.conf b/.config/sway/config.d/60-media.conf
deleted file mode 100644
index 02cd8f0..0000000
--- a/.config/sway/config.d/60-media.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-# media keys
-set $refresh_i3status killall -SIGUSR1 i3status-rs
-bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status
-bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status
-bindsym $mod+XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1% && $refresh_i3status
-bindsym $mod+XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1% && $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
-bindsym XF86AudioNext exec --no-startup-id mpc next
-bindsym XF86AudioPlay exec --no-startup-id mpc toggle
-bindsym XF86AudioPrev exec --no-startup-id mpc prev
-bindsym XF86AudioStop exec --no-startup-id mpc stop
diff --git a/.gitignore.d/i3 b/.gitignore.d/i3
new file mode 100644
index 0000000..41822eb
--- /dev/null
+++ b/.gitignore.d/i3
@@ -0,0 +1,8 @@
+*
+!/.config/dunst/dunstrc
+!/.config/i3/config
+!/.config/i3status-rust/config.toml
+!/.config/i3status-rust/secondary.toml
+!/.gitignore.d/i3
+!/.local/bin/fuzzy-i3lock
+!/.local/bin/i3-run
diff --git a/.gitignore.d/sway b/.gitignore.d/sway
deleted file mode 100644
index bd33188..0000000
--- a/.gitignore.d/sway
+++ /dev/null
@@ -1,22 +0,0 @@
-*
-!/.config
-!/.config/dunst
-!/.config/dunst/dunstrc
-!/.config/i3status-rust
-!/.config/i3status-rust/config.toml
-!/.config/i3status-rust/secondary.toml
-!/.config/sway
-!/.config/sway/config
-!/.config/sway/config.d
-!/.config/sway/config.d/00-rotate.conf
-!/.config/sway/config.d/10-workspaces.conf
-!/.config/sway/config.d/20-screenlock.conf
-!/.config/sway/config.d/30-dunst.conf
-!/.config/sway/config.d/50-systemd-user.conf
-!/.config/sway/config.d/60-media.conf
-!/.gitignore.d
-!/.gitignore.d/sway
-!/.local
-!/.local/bin
-!/.local/bin/fuzzy-swaylock
-!/.local/bin/i3-run
diff --git a/.local/bin/fuzzy-i3lock b/.local/bin/fuzzy-i3lock
new file mode 100755
index 0000000..ef62c6b
--- /dev/null
+++ b/.local/bin/fuzzy-i3lock
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+#
+# Show a pixelated screenshot as background image of i3lock
+#
+# See
+# Copied from
+#
+
+screenshot="${TMPDIR:-/tmp}/fuzzy-i3lock.png"
+
+scrot -o "$screenshot"
+mogrify -scale 10% -scale 1000% "$screenshot"
+exec i3lock -i "$screenshot"
diff --git a/.local/bin/fuzzy-swaylock b/.local/bin/fuzzy-swaylock
deleted file mode 100755
index 358230d..0000000
--- a/.local/bin/fuzzy-swaylock
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh -e
-#
-# Show a pixelated screenshot as background image of i3lock
-#
-# See
-# Copied from
-#
-
-screenshot="${TMPDIR:-/tmp}/fuzzy-swaylock.png"
-
-grim "$screenshot"
-
-case $1 in
- "37c3") mogrify -scale 10% -scale 500% -dither FloydSteinberg -colors 32 -scale 200% "$screenshot"
- ;;
- *) mogrify -scale 10% -scale 1000% "$screenshot"
- ;;
-esac
-
-exec swaylock -i "$screenshot"