diff --git a/.bashrc b/.bashrc
index f1ec261..aa6755b 100644
--- a/.bashrc
+++ b/.bashrc
@@ -31,7 +31,7 @@ alias gp='git push'
# config aliases
alias vimc='nvim ~/.config/nvim/init.vim'
-alias wmc='nvim ~/.config/i3/config'
+alias wmc='nvim ~/.config/sway/config'
# asus tools aliases
alias sup='supergfxctl'
diff --git a/.winitrc b/.winitrc
new file mode 100755
index 0000000..df6eee6
--- /dev/null
+++ b/.winitrc
@@ -0,0 +1,36 @@
+#!/bin/sh
+# eDP's dpi
+#xrandr --dpi 119 --output eDP-1 --mode 1920x1080 --rate 144
+
+# lang exports
+export LANG=en_US.UTF-8
+export LC_CTYPE="en_US.UTF-8"
+export LC_NUMERIC="en_US.UTF-8"
+export LC_TIME="en_US.UTF-8"
+export LC_COLLATE="en_US.UTF-8"
+export LC_MONETARY="en_US.UTF-8"
+export LC_MESSAGES="en_US.UTF-8"
+export LC_PAPER="en_US.UTF-8"
+export LC_NAME="en_US.UTF-8"
+export LC_ADDRESS="en_US.UTF-8"
+export LC_TELEPHONE="en_US.UTF-8"
+export LC_MEASUREMENT="en_US.UTF-8"
+export LC_IDENTIFICATION="en_US.UTF-8"
+export LC_ALL="en_US.UTF-8"
+
+# wayland fixes
+export XDG_SESSION_TYPE=wayland
+export MOZ_ENABLE_WAYLAND=1
+export GTK_USE_PORTAL=0
+export SDL_VIDEODRIVER=wayland
+export _JAVA_AWT_WM_NONREPARENTING=1
+export QT_QPA_PLATFORM=wayland
+export XDG_CURRENT_DESKTOP=Sway
+export XDG_SESSION_DESKTOP=Sway
+
+# gnome keyring
+eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
+export SSH_AUTH_SOCK
+
+# start sway
+sway --unsupported-gpu
diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml
index 2e18489..ac39fc0 100644
--- a/alacritty/alacritty.yml
+++ b/alacritty/alacritty.yml
@@ -151,7 +151,7 @@ font:
#style: Bold Italic
# Point size
- size: 10
+ size: 14
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
diff --git a/gtklock/config.ini b/gtklock/config.ini
new file mode 100644
index 0000000..7044b42
--- /dev/null
+++ b/gtklock/config.ini
@@ -0,0 +1,2 @@
+[main]
+gtk-theme=Adwaita-dark
diff --git a/link.sh b/link.sh
index be6c953..c45548c 100755
--- a/link.sh
+++ b/link.sh
@@ -5,11 +5,15 @@ ln -s $(pwd)/alacritty ~/.config
ln -s $(pwd)/.bashrc ~/.bashrc
ln -s $(pwd)/dunst ~/.config
ln -s $(pwd)/i3 ~/.config
+ln -s $(pwd)/sway ~/.config
ln -s $(pwd)/.inputrc ~/.inputrc
ln -s $(pwd)/makepkg.conf ~/.config
ln -s $(pwd)/nvim ~/.config
ln -s $(pwd)/picom ~/.config
ln -s $(pwd)/polybar ~/.config
+ln -s $(pwd)/waybar ~/.config
ln -s $(pwd)/.tmux.conf ~/.tmux.conf
ln -s $(pwd)/.xinitrc ~/.xinitrc
+ln -s $(pwd)/.winitrc ~/.winitrc
ln -s $(pwd)/.Xresources ~/.Xresources
+ln -s $(pwd)/gtklock ~/.config
diff --git a/sway/config b/sway/config
new file mode 100644
index 0000000..b2993c9
--- /dev/null
+++ b/sway/config
@@ -0,0 +1,285 @@
+# set edp
+output eDP-1 {
+ mode 1920x1080@144Hz
+ scale 1.25
+ adaptive_sync off
+}
+
+# set mouse
+input type:pointer {
+ accel_profile flat
+}
+
+# set touchpad
+input "1267:12521:ELAN1205:00_04F3:30E9_Touchpad" {
+ tap enabled
+ tap_button_map lrm
+}
+
+# fix for gtk app loading
+exec systemctl --user import-environment SWAYSOCK WAYLAND_DISPLAY
+exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
+
+# fix for gtk theming
+exec_always {
+ gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
+ gsettings set org.gnome.desktop.interface icon-theme "Adwaita"
+ gsettings set org.gnome.desktop.interface cursor-theme "Adwaita"
+ gsettings set org.gnome.desktop.interface font-name "Cantarell"
+}
+
+# set mod to super
+set $mod Mod4
+
+# font for window titles
+font pango:Roboto Mono for Powerline 10
+
+# use mouse + $mod to move windows
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec alacritty
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu
+bindsym $mod+d exec bemenu-run
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+# alternatively, you can use the cursor keys:
+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+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+# alternatively, you can use the cursor 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
+
+# split in horizontal orientation
+bindsym $mod+semicolon split h
+
+# split in vertical orienta! special
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f 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+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.
+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"
+
+# switch to workspace
+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
+
+# move focused container to workspace
+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
+
+# reload the configuration file
+bindsym $mod+Shift+r reload
+
+# exit i3 (logs you out of your X 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 session.' -B 'Yes, exit sway' 'swaymsg exit'"
+
+# resize window
+mode "resize" {
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym h resize shrink width 10 px or 10 ppt
+ bindsym j resize grow height 10 px or 10 ppt
+ bindsym k resize shrink height 10 px or 10 ppt
+ bindsym l resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape or $mod+r
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+# client colors border backgr text indicator child_border
+client.focused #161b1d #161b1d #ebf8ff #161b1d #161b1d
+client.focused_inactive #333333 #161bfd #7ea2b4 #5a7b8c #333333
+client.unfocused #333333 #161b1d #7ea2b4 #5a7b8c #333333
+client.urgent #d22d72 #161b1d #7ea2b4 #5d5db1 #d22d72
+client.placeholder #333333 #161b1d #7ea2b4 #5a7b8c #333333
+
+client.background #161b1d
+
+# start urxvtd for faster term load
+# exec /usr/bin/urxvtd
+
+# start polybar
+exec_always --no-startup-id $HOME/.config/waybar/launch.sh
+
+# start kde connect
+exec --no-startup-id /usr/lib/kdeconnectd
+
+# invoke i3lock-color
+bindsym $mod+x exec gtklock
+
+# move focused window to the scratchpad
+bindsym $mod+Shift+minus move scratchpad
+
+# Show the scratchpad
+bindsym $mod+minus scratchpad show
+
+# remove title bars
+#for_window [class=".*"] border pixel 2
+#for_window [class="VirtualBox Manager"] border normal 1
+#for_window [class="VirtualBox Machine"] border normal 1
+default_border pixel
+default_floating_border pixel
+
+# set gaps
+#gaps top 43
+gaps inner 20
+
+# set smart gaps
+#smart_gaps on
+
+# ws 4 no gaps
+workspace $ws4 gaps inner 0
+
+# set desktop bg
+exec_always --no-startup-id swaybg -i ~/.config/i3/wall.jpg -m stretch
+
+# start picom, config: .config/picom.conf
+#exec --no-startup-id dbus-launch picom --experimental-backend
+
+# start dunst, config: .config/dunst/dunstrc
+exec --no-startup-id dunst -config .config/dunst/dunstrc
+
+# start nextcloud
+exec "/usr/bin/sleep 5; /usr/bin/nextcloud --background"
+
+# start nm-applet
+exec --no-startup-id nm-applet --indicator
+
+# dunst keybinds
+bindsym Ctrl+space exec dunstctl close
+bindsym Ctrl+Shift+space exec dunstctl close-all
+
+# take screenshot using gnome-screenshot
+#bindsym $mod+s exec gnome-screenshot -c
+#bindsym --release $mod+Control+s exec "import -format png -window root /tmp/ss.png && xclip -i /tmp/ss.png -selection c -t image/png && mv /tmp/ss.png ~/Pictures/Screenshots/Screenshot-$(date +%s).png"
+bindsym --release $mod+Control+s exec "grim /tmp/ss.png && wl-copy {}"
+ },
+ "tray": {
+ // "icon-size": 21,
+ "spacing": 10
+ },
+ "clock": {
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+ "cpu": {
+ "format": " {usage}%",
+ "tooltip": false
+ },
+ "memory": {
+ "format": " {}%"
+ },
+ "temperature": {
+ "critical-threshold": 80,
+ "format": " {temperatureC}°C",
+ },
+ "backlight": {
+ "format": "{icon} {percent}%",
+ "format-icons": ["", "", "", "", "", "", "", "", ""]
+ },
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 19,
+ "critical": 15,
+ },
+ "format": " {capacity}%",
+ "format-time": "{H}h {M}m",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{icon} {time}",
+ "format-icons": ["", "", "", "", ""]
+ },
+ "network": {
+ // "interface": "wlp2*", // (Optional) To force the use of this interface
+ "format-wifi": "{essid} ({signalStrength}%) ",
+ "format-ethernet": "{ipaddr}/{cidr} ",
+ "tooltip-format": "{ifname} via {gwaddr} ",
+ "format-linked": "{ifname} (No IP) ",
+ "format-disconnected": "Disconnected ⚠",
+ "format-alt": "{ifname}: {ipaddr}/{cidr}"
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": " {volume}%",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/media": {
+ "format": "{icon} {}",
+ "return-type": "json",
+ "max-length": 40,
+ "format-icons": {
+ "spotify": "",
+ "default": "🎜"
+ },
+ "escape": true,
+ "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
+ // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
+ }
+}
diff --git a/waybar/launch.sh b/waybar/launch.sh
new file mode 100755
index 0000000..3177829
--- /dev/null
+++ b/waybar/launch.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+killall -q waybar
+
+while pgrep -u $UID -x waybar >/dev/null; do sleep 1; done
+
+echo "---" | tee -a /tmp/waybar.log
+
+#for m in $(polybar --list-monitors | cut -d":" -f1); do
+ # MONITOR=$m polybar example -c ~/.config/polybar/gloom-onedark.ini >>/tmp/polybarl.log 2>&1 &
+#done
+waybar >>/tmp/waybar.log 2>&1 &
+
+echo "Bar launched..."
diff --git a/waybar/style.css b/waybar/style.css
new file mode 100644
index 0000000..6a4b41a
--- /dev/null
+++ b/waybar/style.css
@@ -0,0 +1,234 @@
+* {
+ font-family: 'JetBrainsMono Nerd Font', 'Material Icons', 'unifont';
+ font-size: 15px;
+}
+
+window#waybar {
+ background-color: rgba(30, 34, 42, 0.5);
+ color: #979eab;
+ padding: 0 1px;
+}
+
+window#waybar.termite {
+ background-color: #3F3F3F;
+}
+
+window#waybar.chromium {
+ background-color: #000000;
+ border: none;
+}
+
+#workspaces button {
+ padding: 0 2px;
+ background: transparent;
+ color: #979eab;
+ box-shadow: inset 0 -2px transparent;
+ border: none;
+ border-radius: 0;
+}
+
+#workspaces button:hover {
+ padding: 0 2px;
+ background: transparent;
+ box-shadow: inherit;
+ text-shadow: inherit;
+}
+
+#workspaces button.focused {
+ background-color: #282c35;
+ box-shadow: inset 0 -2px #61afef;
+}
+
+#workspaces button.urgent {
+ box-shadow: inset 0 -2px #e06c75;
+}
+
+#clock,
+#battery,
+#cpu,
+#memory,
+#disk,
+#temperature,
+#backlight,
+#network,
+#pulseaudio,
+#custom-media,
+#tray,
+#mode,
+#idle_inhibitor,
+#mpd {
+ padding: 0 10px;
+ color: #979eab;
+}
+
+#window,
+#workspaces {
+ margin: 0 4px;
+}
+
+/* If workspaces is the leftmost module, omit left margin */
+.modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+}
+
+/* If workspaces is the rightmost module, omit right margin */
+.modules-right > widget:last-child > #workspaces {
+ margin-right: 0;
+}
+
+#clock {
+ background-color: #282c35;
+ padding: 0 20px;
+}
+
+#battery {
+ background-color: #282c35;
+}
+
+#battery.charging, #battery.plugged {
+ color: #5dabeb;
+ background-color: inherit;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+label:focus {
+ background-color: #000000;
+}
+
+#cpu {
+ background-color: #282c35;
+ color: #abb2bf;
+}
+
+#memory {
+ background-color: #282c35;
+}
+
+#disk {
+ background-color: #964B00;
+}
+
+#backlight {
+ background-color: transparent;
+ color: #abb2bf;
+}
+
+#network {
+ background-color: #2980b9;
+}
+
+#network.disconnected {
+ background-color: #f53c3c;
+}
+
+#pulseaudio {
+ background-color: transparent;
+ color: #979eab;
+}
+
+#pulseaudio.muted {
+ background-color: #2b2f37;
+ color: #979eab;
+}
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+}
+
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+}
+
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
+
+#temperature {
+ background-color: transparent;
+ color: #abb2bf;
+}
+
+#temperature.critical {
+ color: #e06c75;
+}
+
+#tray {
+ background-color: #2980b9;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+#idle_inhibitor {
+ background-color: #2d3436;
+}
+
+#idle_inhibitor.activated {
+ background-color: #ecf0f1;
+ color: #2d3436;
+}
+
+#mpd {
+ background-color: #66cc99;
+ color: #2a5c45;
+}
+
+#mpd.disconnected {
+ background-color: #f53c3c;
+}
+
+#mpd.stopped {
+ background-color: #90b1b1;
+}
+
+#mpd.paused {
+ background-color: #51a37a;
+}
+
+#language {
+ background: #00b093;
+ color: #740864;
+ padding: 0 5px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state {
+ background: #97e1ad;
+ color: #000000;
+ padding: 0 0px;
+ margin: 0 5px;
+ min-width: 16px;
+}
+
+#keyboard-state > label {
+ padding: 0 5px;
+}
+
+#keyboard-state > label.locked {
+ background: rgba(0, 0, 0, 0.2);
+}