diff --git a/dotfiles/config/hypr/animations.conf b/dotfiles/config/hypr/animations.conf
new file mode 100644
index 0000000..6246d41
--- /dev/null
+++ b/dotfiles/config/hypr/animations.conf
@@ -0,0 +1,23 @@
+
+# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
+# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
+
+
+# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+
+animations {
+ enabled = yes
+ bezier = wind, 0.05, 0.9, 0.1, 1.05
+ bezier = winIn, 0.1, 1.1, 0.1, 1.1
+ bezier = winOut, 0.3, -0.3, 0, 1
+ bezier = liner, 1, 1, 1, 1
+ animation = windows, 1, 6, wind, slide
+ animation = windowsIn, 1, 6, winIn, slide
+ animation = windowsOut, 1, 5, winOut, slide
+ animation = windowsMove, 1, 5, wind, slide
+ animation = border, 1, 1, liner
+ animation = borderangle, 1, 30, liner, loop
+ animation = fade, 1, 10, default
+ animation = workspaces, 1, 5, wind
+}
+
diff --git a/dotfiles/config/hypr/hyprland.conf b/dotfiles/config/hypr/hyprland.conf
index c9577ec..14eae3b 100644
--- a/dotfiles/config/hypr/hyprland.conf
+++ b/dotfiles/config/hypr/hyprland.conf
@@ -1,11 +1,23 @@
-#
-# Please note not all available settings / options are set here.
-# For a full list, see the wiki
-#
+# ░▒▒▒▒▒▒▒░░░
+# ░░▒▒▒▒▒▒░░░░▓▓ ____________
+# ░░▒▒▒▒▒░░░░░▓▓ //____________/
+# ░░░▒▒▒░░░░░░▓▓ _ _ _ _ ______
+# ░░░▒▒▒░░░░░▓▓▓▓▓▓ | | | | | | | ___/
+# ░░░▒▒░░░░▓▓ ▓▓ | |_| | |__/ /| |_____
+# ░░░▒▒░░▓▓ ▓▓ \__ |_____/ |______/
+# ░░▒▒▓▓ ▓▓ //____/
-# autogenerated = 1 # remove this line to remove the warning
+
+# Please note not all available settings / options are set here.
+# For a full list, see the wiki https://wiki.hyprland.org
+
+
+
+# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
+# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
# See https://wiki.hyprland.org/Configuring/Monitors/
+
monitor = , preferred, auto, auto
monitor = eDP-1, 1920x1080@60, 0x0, 1
#monitor = DP-1, 2560x1440@75, 0x-1440, 1
@@ -13,262 +25,128 @@ monitor = eDP-1, 1920x1080@60, 0x0, 1
#monitor = DP-1, 2256x1504@60, 0x-1504, 1
monitor = DP-2, 2256x1504@60, 0x-1504, 1
+
+
+# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
+# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
+
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
-
# Execute your favorite apps at launch
-exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Wayland magic (screen sharing etc.)
-exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # More wayland magic (screen sharing etc.)
-exec-once = ~/.config/hypr/scripts/bgaction
-#exec-once = ~/.local/share/hyprload/hyprload.sh
-exec-once = ~/.config/hypr/scripts/xdg-portal-hyprland
-exec-once = /usr/lib/polkit-kde-authentication-agent-1
+$scrPath = ~/.config/hyprdots/scripts
+exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
+exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
+exec-once = dbus-update-activation-environment --systemd --all # for XDPH
+exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
+exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
+exec-once = waybar # launch the system panel
+exec-once = blueman-applet # systray app for BT
+exec-once = nm-applet --indicator # systray app for Network/Wifi
+exec-once = dunst # start notification demon
+exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
+exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
+exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
+exec-once = $scrPath/batterynotify.sh # battery notification
-exec-once = swaync
-exec-once = waybar &
-exec-once = swayosd-server
-exec-once = fcitx5 --replace -d
-exec-once = nm-applet --indicator
-# Source a file (multi-file configs)
-# source = ~/.config/hypr/myColors.conf
-# Set programs that you use
-$terminal = kitty
-$fileManager = dolphin
-$menu = wofi --show drun
+# █▀▀ █▄░█ █░█
+# ██▄ █░▀█ ▀▄▀
# Some default env vars.
-env = XCURSOR_SIZE,24
+env = XDG_CURRENT_DESKTOP,Hyprland
+env = XDG_SESSION_TYPE,wayland
+env = XDG_SESSION_DESKTOP,Hyprland
+env = QT_QPA_PLATFORM,wayland
+#env = QT_STYLE_OVERRIDE,kvantum
+env = QT_QPA_PLATFORMTHEME,qt5ct
+env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
+env = QT_AUTO_SCREEN_SCALE_FACTOR,1
+env = MOZ_ENABLE_WAYLAND,1
+
+
+
+# █ █▄░█ █▀█ █░█ ▀█▀
+# █ █░▀█ █▀▀ █▄█ ░█░
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+
input {
kb_layout = us
- kb_variant =
- kb_model =
- kb_options =
- kb_rules =
-
follow_mouse = 1
touchpad {
- disable_while_typing = yes
- natural_scroll = yes
- tap-to-click = yes
- drag_lock = yes
- scroll_factor = 0.5
- middle_button_emulation = false
- clickfinger_behavior = false
- drag_lock = false
- tap-and-drag = false
+ natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+ force_no_accel = 1
}
-general {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
- gaps_in = 2
- gaps_out = 2
- border_size = 2
- col.active_border = rgba(5fc9f8ee) rgba(fecb2eee) rgba(fd9426ee) rgba(fc3158ee) rgba(147efbee) rgba(53d769ee) rgba(fc3d39ee) rgba(f77737ee) rgba(fcaf45ee) rgba(ffdc80ee) 36deg
- col.inactive_border = rgba(595959aa)
-
- layout = dwindle
-
- # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
- allow_tearing = false
- cursor_inactive_timeout = 10
+device {
+ name = epic mouse V1
+ sensitivity = -0.5
}
-decoration {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
+# See https://wiki.hyprland.org/Configuring/Variables/ for more
- active_opacity=1
- inactive_opacity=0.9
- fullscreen_opacity=1.0
-
- rounding = 5
-
- blur {
- enabled = true
- size = 5
- passes = 2
- ignore_opacity = false
- new_optimizations = true
- vibrancy = 0.1696
- }
-
- drop_shadow = true
- shadow_range = 4
- shadow_render_power = 3
- shadow_ignore_window = true
- col.shadow = rgba(1a1a1aee)
- col.shadow_inactive = rgba(1a1a1aee)
- shadow_scale = 1
+gestures {
+ workspace_swipe = true
+ workspace_swipe_fingers = 3
}
-animations {
- enabled = yes
- first_launch_animation = true
- # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
- bezier = myBezier, 0.05, 0.9, 0.1, 1.05
+# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
+# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
- animation = windows, 1, 7, myBezier
- animation = windowsOut, 1, 7, default, popin 80%
- animation = border, 1, 10, default
- animation = borderangle, 1, 8, default
- animation = fade, 1, 7, default
- animation = workspaces, 1, 6, default
-}
+# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
- # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
+# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+
master {
- # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
-gestures {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
- workspace_swipe = yes
- workspace_swipe_fingers = 3
- workspace_swipe_cancel_ratio = 0.15
- workspace_swipe_distance = 300
- workspace_swipe_create_new = true
- workspace_swipe_numbered = true
-}
+
+
+# █▀▄▀█ █ █▀ █▀▀
+# █░▀░█ █ ▄█ █▄▄
+
+# See https://wiki.hyprland.org/Configuring/Variables/ for more
misc {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
- force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
- disable_hyprland_logo = yes
- disable_splash_rendering = yes
- focus_on_activate = yes
- animate_manual_resizes = yes
- animate_mouse_windowdragging = no
- # suppress_portal_warnings = yes
+ vrr = 0
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+ force_default_wallpaper = 0
}
-# Example per-device config
-# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
-device {
- #name = epic-mouse-v1
- #sensitivity = -0.5
-}
-device:apple-inc.-magic-trackpad-1 {
- #scroll_factor = 1.0
- #middle_button_emulation=0
-}
-# unscale XWayland
-xwayland {
- force_zero_scaling = true
-}
+# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
+# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄
-# Example windowrule v1
-# windowrule = float, ^(kitty)$
-# Example windowrule v2
-# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
-# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
-#windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
-windowrulev2 = opacity 0.8 0.5, class:^(Code)$
-windowrulev2 = opacity 0.8 0.5, class:^(kitty)$
-windowrulev2 = opacity 1.0 1.0, title:^(微信读书)$
-windowrulev2 = opacity 0.8 0.5, class:^(org.kde.polkit-kde-authentication-agent-1)$
-windowrulev2 = tile, title:^(少数派)$
-windowrulev2 = tile, title:^(微信读书)$
-windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
+# Source a file (multi-file configs)
+# source = ~/.config/hypr/myColors.conf
-# See https://wiki.hyprland.org/Configuring/Keywords/ for more
-$mainMod = SUPER
+source = ~/.config/hypr/animations.conf
+source = ~/.config/hypr/keybindings.conf
+source = ~/.config/hypr/windowrules.conf
+source = ~/.config/hypr/themes/common.conf # shared theme settings
+source = ~/.config/hypr/themes/theme.conf # theme specific settings
+source = ~/.config/hypr/themes/colors.conf # wallbash color override
+source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
+source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static
-# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
-bind = $mainMod, F1, exec, ~/.config/hypr/scripts/gamemode.sh
-bind = $mainMod, E, exec, dolphin
-bind = $mainMod, F, exec, firefoxpwa site launch 01HS2PR40FH9C2GNANPA030VCE --protocol
-bind = $mainMod, G, exec, firefox-nightly
-bind = $mainMod, J, exec, pkill jupyter-lab; jupyter-lab
-bind = $mainMod, L, exec, logseq
-bind = $mainMod SHIFT, L, exec, swaylock --clock --grace 10
-bind = $mainMod, M, exec, wlogout --protocol layer-shell
-bind = $mainMod, N, exec, swaync-client -t -sw
-bind = $mainMod SHIFT, N, exec, kitty nvim
-bind = $mainMod, Q, exec, kitty
-bind = $mainMod SHIFT, P, exec, pavucontrol
-bind = $mainMod, R, exec, pkill wofi; wofi --show drun
-bind = $mainMod SHIFT, R, exec, wlfreerdp /u:752549025@qq.com /p:nebkij-xevkec-Zyvha9 /v:43.249.192.204:45561 /f /sound /floatbar:sticky:off,default:hidden,show:window -themes +multitouch /video -wallpaper +nego +smart-sizing
-bind = $mainMod, S, exec, spotify
-bind = $mainMod SHIFT, S, exec, firefoxpwa site launch 01HS2Q4782CRTM3EMA84TPQPDT --protocol
-bind = $mainMod, V, exec, code
-bind = $mainMod SHIFT, V, exec, vlc
-bind = $mainMod, W, exec, firefoxpwa site launch 01HS2PT7V5XJVNVCV5VQS6YMW5 --protocol
-bind = $mainMod, X, exec, firefoxpwa site launch 01HS2ZZT6SFAHT9M8ENEV70DS8 --protocol
-bind = , F11, fullscreen,
-bind = $mainMod, F12, togglefloating,
-bind = $mainMod, C, killactive,
-bind = $mainMod CTRL, P, pseudo,
-bind = $mainMod SHIFT, M, exit,
-bind = $mainMod SHIFT, T, togglesplit,
+# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults
-# Move focus with mainMod + arrow keys
-bind = $mainMod, left, movefocus, l
-bind = $mainMod, right, movefocus, r
-bind = $mainMod, up, movefocus, u
-bind = $mainMod, down, movefocus, d
-
-# Switch workspaces with mainMod + [0-9]
-bind = $mainMod, 1, workspace, 1
-bind = $mainMod, 2, workspace, 2
-bind = $mainMod, 3, workspace, 3
-bind = $mainMod, 4, workspace, 4
-bind = $mainMod, 5, workspace, 5
-bind = $mainMod, 6, workspace, 6
-bind = $mainMod, 7, workspace, 7
-bind = $mainMod, 8, workspace, 8
-bind = $mainMod, 9, workspace, 9
-bind = $mainMod, 0, workspace, 10
-
-# Move active window to a workspace with mainMod + SHIFT + [0-9]
-bind = $mainMod SHIFT, 1, movetoworkspace, 1
-bind = $mainMod SHIFT, 2, movetoworkspace, 2
-bind = $mainMod SHIFT, 3, movetoworkspace, 3
-bind = $mainMod SHIFT, 4, movetoworkspace, 4
-bind = $mainMod SHIFT, 5, movetoworkspace, 5
-bind = $mainMod SHIFT, 6, movetoworkspace, 6
-bind = $mainMod SHIFT, 7, movetoworkspace, 7
-bind = $mainMod SHIFT, 8, movetoworkspace, 8
-bind = $mainMod SHIFT, 9, movetoworkspace, 9
-bind = $mainMod SHIFT, 0, movetoworkspace, 10
-
-# Scroll through existing workspaces with mainMod + scroll
-bind = $mainMod, mouse_down, workspace, e+1
-bind = $mainMod, mouse_up, workspace, e-1
-
-# Move/resize windows with mainMod + LMB/RMB and dragging
-bindm = $mainMod, mouse:272, movewindow
-bindm = $mainMod, mouse:273, resizewindow
-bindm = $mainMod SHIFT, mouse:272, resizewindow
-
-# Brightness control
-binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise
-binde = , XF86MonBrightnessDown, exec, swayosd-client --brightness lower
-
-# Sound control
-binde = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
-binde = , XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
-binde = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
-
-# Player control
-binde = , XF86AudioPlay, exec, playerctl play-pause
-binde = $mainMod SHIFT, right, exec, playerctl next
-binde = $mainMod SHIFT, left, exec, playerctl previous
diff --git a/dotfiles/config/hypr/keybindings.conf b/dotfiles/config/hypr/keybindings.conf
new file mode 100644
index 0000000..36356fb
--- /dev/null
+++ b/dotfiles/config/hypr/keybindings.conf
@@ -0,0 +1,163 @@
+
+# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
+# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+
+# Main modifier
+$mainMod = SUPER # windows key
+
+# assign apps
+$term = kitty
+$editor = code --ozone-platform-hint=wayland --disable-gpu
+$file = dolphin
+$browser = firefox
+
+# Window/Session actions
+bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # killactive, kill the window on focus
+bind = ALT, F4, exec, $scrPath/dontkillsteam.sh # killactive, kill the window on focus
+bind = $mainMod, delete, exit, # kill hyperland session
+bind = $mainMod, W, togglefloating, # toggle the window on focus to float
+bind = $mainMod, G, togglegroup, # toggle the window on focus to group (tab mode)
+bind = ALT, return, fullscreen, # toggle the window on focus to fullscreen
+bind = $mainMod, L, exec, swaylock # lock screen
+bind = $mainMod SHIFT, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
+bind = $mainMod, backspace, exec, $scrPath/logoutlaunch.sh 1 # logout menu
+bind = $CONTROL, ESCAPE, exec, killall waybar || waybar # toggle waybar
+
+# Application shortcuts
+bind = $mainMod, T, exec, $term # open terminal
+bind = $mainMod, E, exec, $file # open file manager
+bind = $mainMod, C, exec, $editor # open vscode
+bind = $mainMod, F, exec, $browser # open browser
+bind = $CONTROL SHIFT, ESCAPE, exec, $scrPath/sysmonlaunch.sh # open htop/btop if installed or default to top (system monitor)
+
+# Rofi is toggled on/off if you repeat the key presses
+bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch desktop applications
+bind = $mainMod, tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # switch between desktop applications
+bind = $mainMod, R, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # browse system files
+
+# Audio control
+bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
+bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
+bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
+bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
+bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
+bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
+bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
+bindl = , XF86AudioPlay, exec, playerctl play-pause
+bindl = , XF86AudioPause, exec, playerctl play-pause
+bindl = , XF86AudioNext, exec, playerctl next
+bindl = , XF86AudioPrev, exec, playerctl previous
+
+# Brightness control
+bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
+bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness
+
+# Screenshot/Screencapture
+bind = $mainMod, P, exec, $scrPath/screenshot.sh s # drag to snip an area / click on a window to print it
+bind = $mainMod CTRL, P, exec, $scrPath/screenshot.sh sf # frozen screen, drag to snip an area / click on a window to print it
+bind = $mainMod ALT, P, exec, $scrPath/screenshot.sh m # print focused monitor
+bind = ,print, exec, $scrPath/screenshot.sh p # print all monitor outputs
+
+# Exec custom scripts
+bind = $mainMod ALT, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
+bind = $mainMod ALT, right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
+bind = $mainMod ALT, left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
+bind = $mainMod ALT, up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
+bind = $mainMod ALT, down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
+bind = $mainMod SHIFT, D, exec, $scrPath/wallbashtoggle.sh # toggle wallbash on/off
+bind = $mainMod SHIFT, T, exec, pkill -x rofi || $scrPath/themeselect.sh # theme select menu
+bind = $mainMod SHIFT, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # rofi style select menu
+bind = $mainMod SHIFT, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # rofi wall select menu
+bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # open Pasteboard in screen center
+bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # change keyboard layout
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+bind = ALT, Tab, movefocus, d
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Switch workspaces relative to the active workspace with mainMod + CTRL + [←→]
+bind = $mainMod CTRL, right, workspace, r+1
+bind = $mainMod CTRL, left, workspace, r-1
+
+# move to the first empty workspace instantly with mainMod + CTRL + [↓]
+bind = $mainMod CTRL, down, workspace, empty
+
+# Resize windows
+binde = $mainMod SHIFT, right, resizeactive, 30 0
+binde = $mainMod SHIFT, left, resizeactive, -30 0
+binde = $mainMod SHIFT, up, resizeactive, 0 -30
+binde = $mainMod SHIFT, down, resizeactive, 0 30
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+# Move active window to a relative workspace with mainMod + CTRL + ALT + [←→]
+bind = $mainMod CTRL ALT, right, movetoworkspace, r+1
+bind = $mainMod CTRL ALT, left, movetoworkspace, r-1
+
+# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
+bind = $mainMod SHIFT $CONTROL, left, movewindow, l
+bind = $mainMod SHIFT $CONTROL, right, movewindow, r
+bind = $mainMod SHIFT $CONTROL, up, movewindow, u
+bind = $mainMod SHIFT $CONTROL, down, movewindow, d
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+# Move/Resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+bindm = Super, Z, movewindow
+bindm = Super, X, resizewindow
+
+# Special workspaces (scratchpad)
+bind = $mainMod ALT, S, movetoworkspacesilent, special
+bind = $mainMod, S, togglespecialworkspace,
+
+# Toggle Layout
+bind = $mainMod, J, togglesplit, # dwindle
+
+# Move window silently to workspace Super + Alt + [0-9]
+bind = $mainMod ALT, 1, movetoworkspacesilent, 1
+bind = $mainMod ALT, 2, movetoworkspacesilent, 2
+bind = $mainMod ALT, 3, movetoworkspacesilent, 3
+bind = $mainMod ALT, 4, movetoworkspacesilent, 4
+bind = $mainMod ALT, 5, movetoworkspacesilent, 5
+bind = $mainMod ALT, 6, movetoworkspacesilent, 6
+bind = $mainMod ALT, 7, movetoworkspacesilent, 7
+bind = $mainMod ALT, 8, movetoworkspacesilent, 8
+bind = $mainMod ALT, 9, movetoworkspacesilent, 9
+bind = $mainMod ALT, 0, movetoworkspacesilent, 10
+
+# Trigger when the switch is turning off, Might cause bugs. Recommend to use logind instead.
+#bindl= , switch:on:Lid Switch, exec, swaylock && systemctl suspend
+
diff --git a/dotfiles/config/hypr/monitors.conf b/dotfiles/config/hypr/monitors.conf
new file mode 100644
index 0000000..b6464fe
--- /dev/null
+++ b/dotfiles/config/hypr/monitors.conf
@@ -0,0 +1,7 @@
+
+# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀
+# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█
+
+
+# Set your monitor configuration here
+# See https://wiki.hyprland.org/Configuring/Monitors/
diff --git a/dotfiles/config/hypr/themes/Catppuccin-Latte.conf b/dotfiles/config/hypr/themes/Catppuccin-Latte.conf
new file mode 100644
index 0000000..6e8e9f6
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Catppuccin-Latte.conf
@@ -0,0 +1,36 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-grey'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Latte'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(dc8a78ff) rgba(8839efff) 45deg
+ col.inactive_border = rgba(7287fdcc) rgba(179299cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(dc8a78ff) rgba(8839efff) 45deg
+ col.border_inactive = rgba(7287fdcc) rgba(179299cc) 45deg
+ col.border_locked_active = rgba(dc8a78ff) rgba(8839efff) 45deg
+ col.border_locked_inactive = rgba(7287fdcc) rgba(179299cc) 45deg
+}
+
+decoration {
+ rounding = 10
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/themes/Catppuccin-Mocha.conf b/dotfiles/config/hypr/themes/Catppuccin-Mocha.conf
new file mode 100644
index 0000000..8ffd46a
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Catppuccin-Mocha.conf
@@ -0,0 +1,36 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
+ col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
+}
+
+decoration {
+ rounding = 10
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/themes/Cyberpunk-Edge.conf b/dotfiles/config/hypr/themes/Cyberpunk-Edge.conf
new file mode 100644
index 0000000..cdc13bc
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Cyberpunk-Edge.conf
@@ -0,0 +1,41 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-yellow'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Cyberpunk-Edge'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 8
+ gaps_out = 15
+ border_size = 4
+ col.active_border = rgba(FADA16ff) rgba(4DBD4Fff) 45deg
+ col.inactive_border = rgba(5032ACff) rgba(1F5322ff) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(FADA16ff) rgba(4DBD4Fff) 45deg
+ col.border_inactive = rgba(5032ACff) rgba(1F5322ff) 45deg
+ col.border_locked_active = rgba(FADA16ff) rgba(4DBD4Fff) 45deg
+ col.border_locked_inactive = rgba(5032ACff) rgba(1F5322ff) 45deg
+}
+
+decoration {
+ rounding = 0
+ drop_shadow = true
+ shadow_ignore_window = true
+ shadow_offset = 5 5
+ shadow_range = 0
+ shadow_render_power = 4
+ col.shadow = 0xffFFA6C2
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = unset,waybar
diff --git a/dotfiles/config/hypr/themes/Decay-Green.conf b/dotfiles/config/hypr/themes/Decay-Green.conf
new file mode 100644
index 0000000..1ca5087
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Decay-Green.conf
@@ -0,0 +1,36 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-green'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Decay-Green'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
+ col.inactive_border = rgba(86aaeccc) rgba(93cee9cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
+ col.border_inactive = rgba(86aaeccc) rgba(93cee9cc) 45deg
+ col.border_locked_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
+ col.border_locked_inactive = rgba(86aaeccc) rgba(93cee9cc) 45deg
+}
+
+decoration {
+ rounding = 10
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 5
+ passes = 4
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = unset,waybar
diff --git a/dotfiles/config/hypr/themes/Frosted-Glass.conf b/dotfiles/config/hypr/themes/Frosted-Glass.conf
new file mode 100644
index 0000000..14e2ceb
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Frosted-Glass.conf
@@ -0,0 +1,50 @@
+# ___________ _________ __
+# \__ ___/ \_ ___ \_______ ___.__._______/ |_
+# | | ______ / \ \/\_ __ < | |\____ \ __\
+# | | /_____/ \ \____| | \/\___ || |_> > |
+# |____| \______ /|__| / ____|| __/|__|
+# \/ \/ |__|
+
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-blue'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Frosted-Glass'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
+
+general {
+ gaps_in = 4
+ gaps_out = 10
+ border_size = 2
+ col.active_border = rgba(2770C0ff) rgba(1E4C84ff) 45deg
+ col.inactive_border = rgba(A44185cc) rgba(012339cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(2770C0ff) rgba(1E4C84ff) 45deg
+ col.border_inactive = rgba(A44185cc) rgba(012339cc) 45deg
+ col.border_locked_active = rgba(2770C0ff) rgba(1E4C84ff) 45deg
+ col.border_locked_inactive = rgba(A44185cc) rgba(012339cc) 45deg
+}
+
+decoration {
+ rounding = 13
+ drop_shadow = false
+ shadow_ignore_window = true
+ shadow_offset = 0 0
+ shadow_range = 15
+ shadow_render_power = 1
+ col.shadow = 0x80ffffff
+ active_opacity = 0.75
+ inactive_opacity = 0.75
+
+ blur {
+ enabled = yes
+ size = 4
+ passes = 4
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/themes/Graphite-Mono.conf b/dotfiles/config/hypr/themes/Graphite-Mono.conf
new file mode 100644
index 0000000..ac44660
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Graphite-Mono.conf
@@ -0,0 +1,41 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-grey'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Graphite-Mono'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 8
+ gaps_out = 14
+ border_size = 3
+ col.active_border = rgba(d9d9d9ff) rgba(a6a6a6ff) 45deg
+ col.inactive_border = rgba(404040cc) rgba(262626cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(d9d9d9ff) rgba(a6a6a6ff) 45deg
+ col.border_inactive = rgba(404040cc) rgba(262626cc) 45deg
+ col.border_locked_active = rgba(d9d9d9ff) rgba(a6a6a6ff) 45deg
+ col.border_locked_inactive = rgba(404040cc) rgba(262626cc) 45deg
+}
+
+decoration {
+ rounding = 0
+ drop_shadow = true
+ shadow_ignore_window = true
+ shadow_offset = 4 4
+ shadow_range = 0
+ shadow_render_power = 4
+ col.shadow = 0xffFFFFFF
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = unset,waybar
diff --git a/dotfiles/config/hypr/themes/Gruvbox-Retro.conf b/dotfiles/config/hypr/themes/Gruvbox-Retro.conf
new file mode 100644
index 0000000..facb79f
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Gruvbox-Retro.conf
@@ -0,0 +1,47 @@
+# ___________ _________ __
+# \__ ___/ \_ ___ \_______ ___.__._______/ |_
+# | | ______ / \ \/\_ __ < | |\____ \ __\
+# | | /_____/ \ \____| | \/\___ || |_> > |
+# |____| \______ /|__| / ____|| __/|__|
+# \/ \/ |__|
+
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Gruvbox-Plus-Dark'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Gruvbox-Retro'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+exec = gsettings set org.gnome.desktop.interface cursor-theme 'Gruvbox-Retro'
+exec = gsettings set org.gnome.desktop.interface cursor-size 20
+exec = hyprctl setcursor Gruvbox-Retro 20
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
+ col.inactive_border = rgba(1e8b50d9) rgba(50b050d9) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
+ col.border_inactive = rgba(1e8b50d9) rgba(50b050d9) 45deg
+ col.border_locked_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg
+ col.border_locked_inactive = rgba(1e8b50d9) rgba(50b050d9) 45deg
+}
+
+decoration {
+ rounding = 3
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 4
+ passes = 2
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/themes/Material-Sakura.conf b/dotfiles/config/hypr/themes/Material-Sakura.conf
new file mode 100644
index 0000000..234e043
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Material-Sakura.conf
@@ -0,0 +1,41 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-black'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Material-Sakura'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
+
+general {
+ gaps_in = 8
+ gaps_out = 14
+ border_size = 4
+ col.active_border = rgba(b4637aff) rgba(d7827eff) 45deg
+ col.inactive_border = rgba(286983cc) rgba(56949fcc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(b4637aff) rgba(d7827eff) 45deg
+ col.border_inactive = rgba(286983cc) rgba(56949fcc) 45deg
+ col.border_locked_active = rgba(b4637aff) rgba(d7827eff) 45deg
+ col.border_locked_inactive = rgba(286983cc) rgba(56949fcc) 45deg
+}
+
+decoration {
+ rounding = 12
+ drop_shadow = true
+ shadow_ignore_window = true
+ shadow_offset = 6 6
+ shadow_range = 3
+ shadow_render_power = 4
+ col.shadow = 0xff26233a
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = unset,waybar
diff --git a/dotfiles/config/hypr/themes/Rose-Pine.conf b/dotfiles/config/hypr/themes/Rose-Pine.conf
new file mode 100644
index 0000000..391651c
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Rose-Pine.conf
@@ -0,0 +1,36 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-pink'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Rose-Pine'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(eb6f92ff) rgba(c4a7e7ff) 45deg
+ col.inactive_border = rgba(31748fcc) rgba(9ccfd8cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(eb6f92ff) rgba(c4a7e7ff) 45deg
+ col.border_inactive = rgba(31748fcc) rgba(9ccfd8cc) 45deg
+ col.border_locked_active = rgba(eb6f92ff) rgba(c4a7e7ff) 45deg
+ col.border_locked_inactive = rgba(31748fcc) rgba(9ccfd8cc) 45deg
+}
+
+decoration {
+ rounding = 10
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/themes/Tokyo-Night.conf b/dotfiles/config/hypr/themes/Tokyo-Night.conf
new file mode 100644
index 0000000..75c084e
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Tokyo-Night.conf
@@ -0,0 +1,36 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-purple'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Tokyo-Night'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(bb9af7ff) rgba(b4f9f8ff) 45deg
+ col.inactive_border = rgba(565f89cc) rgba(9aa5cecc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(bb9af7ff) rgba(b4f9f8ff) 45deg
+ col.border_inactive = rgba(565f89cc) rgba(9aa5cecc) 45deg
+ col.border_locked_active = rgba(bb9af7ff) rgba(b4f9f8ff) 45deg
+ col.border_locked_inactive = rgba(565f89cc) rgba(9aa5cecc) 45deg
+}
+
+decoration {
+ rounding = 10
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/themes/Wall-Dcol.conf b/dotfiles/config/hypr/themes/Wall-Dcol.conf
new file mode 100644
index 0000000..c7830bd
--- /dev/null
+++ b/dotfiles/config/hypr/themes/Wall-Dcol.conf
@@ -0,0 +1,11 @@
+general {
+ col.active_border = rgba(AD584Fff) rgba(1D202Eff) 45deg
+ col.inactive_border = rgba(312A29ff) rgba(622D28ff) 45deg
+}
+
+group {
+ col.border_active = rgba(312A29ff) rgba(622D28ff) 45deg
+ col.border_inactive = rgba(22232Acc) rgba(262C48cc) 45deg
+ col.border_locked_active = rgba(3F2C2Aff) rgba(502E2Aff) 45deg
+ col.border_locked_inactive = rgba(242733cc) rgba(262A3Dcc) 45deg
+}
diff --git a/dotfiles/config/hypr/themes/colors.conf b/dotfiles/config/hypr/themes/colors.conf
new file mode 100644
index 0000000..e69de29
diff --git a/dotfiles/config/hypr/themes/common.conf b/dotfiles/config/hypr/themes/common.conf
new file mode 100644
index 0000000..22c2054
--- /dev/null
+++ b/dotfiles/config/hypr/themes/common.conf
@@ -0,0 +1,32 @@
+
+#█▀▀ █░█ █▀█ █▀ █▀█ █▀█
+#█▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
+
+#env = XCURSOR_THEME,Bibata-Modern-Ice
+#env = XCURSOR_SIZE,20
+
+exec = hyprctl setcursor Bibata-Modern-Ice 20
+exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
+exec = gsettings set org.gnome.desktop.interface cursor-size 20
+
+
+#█▀▀ █▀█ █▄░█ ▀█▀
+#█▀░ █▄█ █░▀█ ░█░
+
+exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
+exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
+exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
+exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
+exec = gsettings set org.gnome.desktop.interface font-hinting 'full'
+
+
+#█▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
+#▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄
+
+decoration {
+ dim_special = 0.3
+ blur {
+ special = true
+ }
+}
+
diff --git a/dotfiles/config/hypr/themes/theme.conf b/dotfiles/config/hypr/themes/theme.conf
new file mode 100644
index 0000000..8ffd46a
--- /dev/null
+++ b/dotfiles/config/hypr/themes/theme.conf
@@ -0,0 +1,36 @@
+exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula'
+exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
+exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
+
+general {
+ gaps_in = 3
+ gaps_out = 8
+ border_size = 2
+ col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg
+ layout = dwindle
+ resize_on_border = true
+}
+
+group {
+ col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
+ col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
+ col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
+}
+
+decoration {
+ rounding = 10
+ drop_shadow = false
+
+ blur {
+ enabled = yes
+ size = 6
+ passes = 3
+ new_optimizations = on
+ ignore_opacity = on
+ xray = false
+ }
+}
+
+layerrule = blur,waybar
diff --git a/dotfiles/config/hypr/userprefs.conf b/dotfiles/config/hypr/userprefs.conf
new file mode 100644
index 0000000..5dd5792
--- /dev/null
+++ b/dotfiles/config/hypr/userprefs.conf
@@ -0,0 +1,7 @@
+
+#█░█ █▀ █▀▀ █▀█ █▀█ █▀█ █▀▀ █▀▀ █▀
+#█▄█ ▄█ ██▄ █▀▄ █▀▀ █▀▄ ██▄ █▀░ ▄█
+
+
+# Set your personal hyprland configuration here
+# for sample file, please refer https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2
diff --git a/dotfiles/config/hypr/windowrules.conf b/dotfiles/config/hypr/windowrules.conf
new file mode 100644
index 0000000..01a75d1
--- /dev/null
+++ b/dotfiles/config/hypr/windowrules.conf
@@ -0,0 +1,91 @@
+
+# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀
+# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█
+
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+
+windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
+windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$
+windowrulev2 = opacity 0.80 0.80,class:^(Steam)$
+windowrulev2 = opacity 0.80 0.80,class:^(steam)$
+windowrulev2 = opacity 0.80 0.80,class:^(steamwebhelper)$
+windowrulev2 = opacity 0.80 0.80,class:^(Spotify)$
+windowrulev2 = opacity 0.80 0.80,class:^(Code)$
+windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$
+windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
+windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
+windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
+windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
+windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
+windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
+windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
+
+windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ #Flatseal-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ #Cartridges-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ #Obs-Qt
+windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ #Boxes-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(discord)$ #Discord-Electron
+windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ #WebCord-Electron
+windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ #ArmCord-Electron
+windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ #Warp-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt
+windowrulev2 = opacity 0.80 0.80,class:^(yad)$ #Protontricks-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ #Signal-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ #planify-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk
+windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ #VideoDownloader-Gtk
+
+windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
+windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
+windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
+windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
+windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
+
+windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
+windowrulev2 = float,title:^(Picture-in-Picture)$
+windowrulev2 = float,class:^(firefox)$,title:^(Library)$
+windowrulev2 = float,class:^(vlc)$
+windowrulev2 = float,class:^(kvantummanager)$
+windowrulev2 = float,class:^(qt5ct)$
+windowrulev2 = float,class:^(qt6ct)$
+windowrulev2 = float,class:^(nwg-look)$
+windowrulev2 = float,class:^(org.kde.ark)$
+windowrulev2 = float,class:^(Signal)$ #Signal-Gtk
+windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ #Clapper-Gtk
+windowrulev2 = float,class:^(app.drey.Warp)$ #Warp-Gtk
+windowrulev2 = float,class:^(net.davidotek.pupgui2)$ #ProtonUp-Qt
+windowrulev2 = float,class:^(yad)$ #Protontricks-Gtk
+windowrulev2 = float,class:^(eog)$ #Imageviewer-Gtk
+windowrulev2 = float,class:^(io.github.alainm23.planify)$ #planify-Gtk
+windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ #Upscaler-Gtk
+windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ #VideoDownloader-Gkk
+windowrulev2 = float,class:^(pavucontrol)$
+windowrulev2 = float,class:^(blueman-manager)$
+windowrulev2 = float,class:^(nm-applet)$
+windowrulev2 = float,class:^(nm-connection-editor)$
+windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
+windowrulev2 = opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.gtk)$
+windowrulev2 = opacity 0.80 0.80,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
+
+
+
+# █░░ ▄▀█ █▄█ █▀▀ █▀█ █▀█ █░█ █░░ █▀▀ █▀
+# █▄▄ █▀█ ░█░ ██▄ █▀▄ █▀▄ █▄█ █▄▄ ██▄ ▄█
+
+
+layerrule = blur,rofi
+layerrule = ignorezero,rofi
+layerrule = blur,notifications
+layerrule = ignorezero,notifications
+layerrule = blur,swaync-notification-window
+layerrule = ignorezero,swaync-notification-window
+layerrule = blur,swaync-control-center
+layerrule = ignorezero,swaync-control-center
+layerrule = blur,logout_dialog
+
diff --git a/dotfiles/config/kitty/kitty.conf b/dotfiles/config/kitty/kitty.conf
index 8aa60eb..ee18e8e 100644
--- a/dotfiles/config/kitty/kitty.conf
+++ b/dotfiles/config/kitty/kitty.conf
@@ -1,13 +1,11 @@
-include ./mocha.conf
-font_family jetbrains mono nerd font
-font_size 15
+font_family CaskaydiaCove Nerd Font Mono
bold_font auto
italic_font auto
bold_italic_font auto
-mouse_hide_wait 2.0
-cursor_shape block
-url_color #0087bd
-url_style dotted
-#Close the terminal without confirmation
-confirm_os_window_close 0
-background_opacity 0.95
+
+font_size 9.0
+window_padding_width 25
+include themes/theme.conf
+#background_opacity 0.60
+#hide_window_decorations yes
+#confirm_os_window_close 0
diff --git a/dotfiles/config/kitty/themes/Catppuccin-Latte.conf b/dotfiles/config/kitty/themes/Catppuccin-Latte.conf
new file mode 100644
index 0000000..3ebaa2d
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Catppuccin-Latte.conf
@@ -0,0 +1,80 @@
+# vim:ft=kitty
+
+## name: Catppuccin Latte 🐑
+## author: Pocco81 (https://github.com/Pocco81)
+## license: MIT
+## upstream: https://github.com/catppuccin/kitty/blob/main/latte.conf
+## blurb: Soothing pastel theme for the high-spirited!
+
+
+
+# The basic colors
+foreground #4C4F69
+background #EFF1F5
+selection_foreground #EFF1F5
+selection_background #DC8A78
+
+# Cursor colors
+cursor #DC8A78
+cursor_text_color #EFF1F5
+
+# URL underline color when hovering with mouse
+url_color #7287FD
+
+# Kitty window border colors
+active_border_color #8839EF
+inactive_border_color #7C7F93
+bell_border_color #E64553
+
+# OS Window titlebar colors
+wayland_titlebar_color system
+macos_titlebar_color system
+
+# Tab bar colors
+active_tab_foreground #EFF1F5
+active_tab_background #8839EF
+inactive_tab_foreground #4C4F69
+inactive_tab_background #9CA0B0
+tab_bar_background #BCC0CC
+
+# Colors for marks (marked text in the terminal)
+mark1_foreground #EFF1F5
+mark1_background #1E66F5
+mark2_foreground #EFF1F5
+mark2_background #8839EF
+mark3_foreground #EFF1F5
+mark3_background #209FB5
+
+# The 16 terminal colors
+
+# black
+color0 #4C4F69
+color8 #6C6F85
+
+# red
+color1 #D20F39
+color9 #D20F39
+
+# green
+color2 #40A02B
+color10 #40A02B
+
+# yellow
+color3 #DF8E1D
+color11 #DF8E1D
+
+# blue
+color4 #1E66F5
+color12 #1E66F5
+
+# magenta
+color5 #EA76CB
+color13 #EA76CB
+
+# cyan
+color6 #179299
+color14 #179299
+
+# white
+color7 #ACB0BE
+color15 #ACB0BE
diff --git a/dotfiles/config/kitty/mocha.conf b/dotfiles/config/kitty/themes/Catppuccin-Mocha.conf
similarity index 81%
rename from dotfiles/config/kitty/mocha.conf
rename to dotfiles/config/kitty/themes/Catppuccin-Mocha.conf
index 2533db7..e52f9e1 100644
--- a/dotfiles/config/kitty/mocha.conf
+++ b/dotfiles/config/kitty/themes/Catppuccin-Mocha.conf
@@ -1,6 +1,6 @@
# vim:ft=kitty
-## name: Catppuccin-Mocha
+## name: Catppuccin Mocha 🌿
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
@@ -19,12 +19,12 @@ cursor #F5E0DC
cursor_text_color #1E1E2E
# URL underline color when hovering with mouse
-url_color #F5E0DC
+url_color #B4BEFE
# Kitty window border colors
-active_border_color #B4BEFE
-inactive_border_color #6C7086
-bell_border_color #F9E2AF
+active_border_color #CBA6F7
+inactive_border_color #8E95B3
+bell_border_color #EBA0AC
# OS Window titlebar colors
wayland_titlebar_color system
@@ -39,7 +39,7 @@ tab_bar_background #11111B
# Colors for marks (marked text in the terminal)
mark1_foreground #1E1E2E
-mark1_background #B4BEFE
+mark1_background #87B0F9
mark2_foreground #1E1E2E
mark2_background #CBA6F7
mark3_foreground #1E1E2E
@@ -48,8 +48,8 @@ mark3_background #74C7EC
# The 16 terminal colors
# black
-color0 #45475A
-color8 #585B70
+color0 #43465A
+color8 #43465A
# red
color1 #F38BA8
@@ -64,8 +64,8 @@ color3 #F9E2AF
color11 #F9E2AF
# blue
-color4 #89B4FA
-color12 #89B4FA
+color4 #87B0F9
+color12 #87B0F9
# magenta
color5 #F5C2E7
@@ -76,5 +76,5 @@ color6 #94E2D5
color14 #94E2D5
# white
-color7 #BAC2DE
-color15 #A6ADC8
+color7 #CDD6F4
+color15 #A1A8C9
diff --git a/dotfiles/config/kitty/themes/Cyberpunk-Edge.conf b/dotfiles/config/kitty/themes/Cyberpunk-Edge.conf
new file mode 100644
index 0000000..26e94b1
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Cyberpunk-Edge.conf
@@ -0,0 +1,72 @@
+# vim:ft=kitty
+
+# The basic colors
+foreground #FDF500
+background #000000
+selection_foreground #000000
+selection_background #FADA16
+
+# Cursor colors
+cursor #FADA16
+cursor_text_color #FADA16
+
+# URL underline color when hovering with mouse
+url_color #FADA16
+
+# Kitty window border colors
+active_border_color #000000
+inactive_border_color #000000
+bell_border_color #000000
+
+# OS Window titlebar colors
+wayland_titlebar_color system
+macos_titlebar_color system
+
+# Tab bar colors
+active_tab_foreground #FADA16
+active_tab_background #000000
+inactive_tab_foreground #000000
+inactive_tab_background #FADA16
+tab_bar_background #000000
+
+# Colors for marks (marked text in the terminal)
+mark1_foreground #FADA16
+mark1_background #000000
+mark2_foreground #FADA16
+mark2_background #000000
+mark3_foreground #FADA16
+mark3_background #000000
+
+# The 16 terminal colors
+
+# black
+color0 #1F2229
+color8 #1B1C22
+
+# red
+color1 #D62246
+color9 #EC0101
+
+# green
+color2 #4DBD4F
+color10 #1F5322
+
+# yellow
+color3 #FDF500
+color11 #F2CB07
+
+# blue
+color4 #F29C6B
+color12 #FFA6C2
+
+# magenta
+color5 #A56DF2
+color13 #564873
+
+# cyan
+color6 #2CF6B3
+color14 #37EBF3
+
+# white
+color7 #E6E6E6
+color15 #FFFFFF
diff --git a/dotfiles/config/kitty/themes/Decay-Green.conf b/dotfiles/config/kitty/themes/Decay-Green.conf
new file mode 100644
index 0000000..21776a9
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Decay-Green.conf
@@ -0,0 +1,47 @@
+# Eye Friendly Colors
+# Created by https://github.com/decaycs
+
+# Special
+background #0d0f18
+foreground #a5b6cf
+
+# Black
+color0 #151720
+color8 #1c1e27
+
+# Red
+color1 #dd6777
+color9 #e26c7c
+
+# Green
+color4 #90ceaa
+color12 #95d3af
+
+# Yellow
+color3 #ecd3a0
+color11 #f1d8a5
+
+# Blue
+color2 #86aaec
+color10 #8baff1
+
+# Magenta
+color5 #c296eb
+color13 #c79bf0
+
+# Cyan
+color6 #93cee9
+color14 #98d3ee
+
+# White
+color7 #cbced3
+color15 #d0d3d8
+
+# Cursor
+cursor #cbced3
+cursor_text_color #a5b6cf
+
+# Selection highlight
+selection_foreground #a5b6cf
+selection_background #1c1e27
+
diff --git a/dotfiles/config/kitty/themes/Frosted-Glass.conf b/dotfiles/config/kitty/themes/Frosted-Glass.conf
new file mode 100644
index 0000000..1092d14
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Frosted-Glass.conf
@@ -0,0 +1,37 @@
+# Eye Friendly Colors
+# Created by https://github.com/dexpota/kitty-themes
+
+# Special
+background #ffffff
+foreground #262626
+
+color0 #000000
+color8 #545753
+
+color1 #f72729
+color9 #fb0416
+
+color2 #32895c
+color10 #2cc631
+
+color3 #f96f1c
+color11 #fcd627
+
+color4 #125ccf
+color12 #156ffe
+
+color5 #9f00bc
+color13 #e800b0
+
+color6 #32c2c0
+color14 #39d5ce
+
+color7 #b2b2b2
+color15 #ededec
+
+# Cursor
+cursor #6fd2fc
+
+# Selection highlight
+selection_foreground #ffffff
+selection_background #6fd2fc
diff --git a/dotfiles/config/kitty/themes/Graphite-Mono.conf b/dotfiles/config/kitty/themes/Graphite-Mono.conf
new file mode 100644
index 0000000..da42b92
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Graphite-Mono.conf
@@ -0,0 +1,72 @@
+# vim:ft=kitty
+
+# The basic colors
+foreground #D9D9D9
+background #262626
+selection_foreground #262626
+selection_background #A6A6A6
+
+# Cursor colors
+cursor #A6A6A6
+cursor_text_color #D9D9D9
+
+# URL underline color when hovering with mouse
+url_color #D9D9D9
+
+# Kitty window border colors
+active_border_color #595959
+inactive_border_color #595959
+bell_border_color #595959
+
+# OS Window titlebar colors
+wayland_titlebar_color system
+macos_titlebar_color system
+
+# Tab bar colors
+active_tab_foreground #D9D9D9
+active_tab_background #262626
+inactive_tab_foreground #D9D9D9
+inactive_tab_background #262626
+tab_bar_background #D9D9D9
+
+# Colors for marks (marked text in the terminal)
+mark1_foreground #262626
+mark1_background #404040
+mark2_foreground #262626
+mark2_background #262626
+mark3_foreground #262626
+mark3_background #A6A6A6
+
+# The 16 terminal colors
+
+# black
+color0 #404040
+color8 #404040
+
+# red
+color1 #D9D9D9
+color9 #D9D9D9
+
+# green
+color2 #D9D9D9
+color10 #D9D9D9
+
+# yellow
+color3 #595959
+color11 #595959
+
+# blue
+color4 #A6A6A6
+color12 #A6A6A6
+
+# magenta
+color5 #A6A6A6
+color13 #A6A6A6
+
+# cyan
+color6 #A6A6A6
+color14 #A6A6A6
+
+# white
+color7 #D9D9D9
+color15 #D9D9D9
diff --git a/dotfiles/config/kitty/themes/Gruvbox-Retro.conf b/dotfiles/config/kitty/themes/Gruvbox-Retro.conf
new file mode 100644
index 0000000..34eacee
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Gruvbox-Retro.conf
@@ -0,0 +1,56 @@
+# vim:ft=kitty
+
+# gruvbox-dark colorscheme for kitty
+# snazzy theme used as base
+
+cursor #928374
+cursor_text_color background
+
+visual_bell_color #8ec07c
+bell_border_color #8ec07c
+
+active_border_color #d3869b
+inactive_border_color #665c54
+
+active_tab_foreground #fbf1c7
+active_tab_background #665c54
+inactive_tab_foreground #a89984
+inactive_tab_background #3c3836
+
+foreground #ebdbb2
+background #272727
+selection_foreground #655b53
+selection_background #ebdbb2
+url_color #d65c0d
+
+# black
+color0 #272727
+color8 #928373
+
+# red
+color1 #cc231c
+color9 #fb4833
+
+# green
+color2 #989719
+color10 #b8ba25
+
+# yellow
+color3 #d79920
+color11 #fabc2e
+
+# blue
+color4 #448488
+color12 #83a597
+
+# magenta
+color5 #b16185
+color13 #d3859a
+
+# cyan
+color6 #689d69
+color14 #8ec07b
+
+# white
+color7 #a89983
+color15 #ebdbb2
diff --git a/dotfiles/config/kitty/themes/Material-Sakura.conf b/dotfiles/config/kitty/themes/Material-Sakura.conf
new file mode 100644
index 0000000..9ebde85
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Material-Sakura.conf
@@ -0,0 +1,55 @@
+## name: Rosé Pine Dawn
+## author: mvllow
+## license: MIT
+## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-dawn.conf
+## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
+
+foreground #575279
+background #faf4ed
+selection_foreground #575279
+selection_background #dfdad9
+
+cursor #cecacd
+cursor_text_color #575279
+
+url_color #907aa9
+
+active_tab_foreground #575279
+active_tab_background #f2e9e1
+inactive_tab_foreground #9893a5
+inactive_tab_background #faf4ed
+
+active_border_color #286983
+inactive_border_color #dfdad9
+
+# black
+color0 #f2e9e1
+color8 #9893a5
+
+# red
+color1 #b4637a
+color9 #b4637a
+
+# green
+color2 #286983
+color10 #286983
+
+# yellow
+color3 #ea9d34
+color11 #ea9d34
+
+# blue
+color4 #56949f
+color12 #56949f
+
+# magenta
+color5 #907aa9
+color13 #907aa9
+
+# cyan
+color6 #d7827e
+color14 #d7827e
+
+# white
+color7 #575279
+color15 #575279
diff --git a/dotfiles/config/kitty/themes/Rose-Pine.conf b/dotfiles/config/kitty/themes/Rose-Pine.conf
new file mode 100644
index 0000000..575c06b
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Rose-Pine.conf
@@ -0,0 +1,56 @@
+## name: Rosé Pine
+## author: mvllow
+## license: MIT
+## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
+## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
+
+foreground #e0def4
+background #191724
+selection_foreground #e0def4
+selection_background #403d52
+
+cursor #524f67
+cursor_text_color #e0def4
+
+url_color #c4a7e7
+
+active_tab_foreground #e0def4
+active_tab_background #26233a
+inactive_tab_foreground #6e6a86
+inactive_tab_background #191724
+
+active_border_color #31748f
+inactive_border_color #403d52
+
+# black
+color0 #26233a
+color8 #6e6a86
+
+# red
+color1 #eb6f92
+color9 #eb6f92
+
+# green
+color2 #31748f
+color10 #31748f
+
+# yellow
+color3 #f6c177
+color11 #f6c177
+
+# blue
+color4 #9ccfd8
+color12 #9ccfd8
+
+# magenta
+color5 #c4a7e7
+color13 #c4a7e7
+
+# cyan
+color6 #ebbcba
+color14 #ebbcba
+
+# white
+color7 #e0def4
+color15 #e0def4
+
diff --git a/dotfiles/config/kitty/themes/Tokyo-Night.conf b/dotfiles/config/kitty/themes/Tokyo-Night.conf
new file mode 100644
index 0000000..9ee37a4
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Tokyo-Night.conf
@@ -0,0 +1,77 @@
+# Tokyo Night color scheme for kitty terminal emulator
+# https://github.com/davidmathers/tokyo-night-kitty-theme
+#
+# Based on Tokyo Night color theme for Visual Studio Code
+# https://github.com/enkia/tokyo-night-vscode-theme
+
+foreground #a9b1d6
+background #24283b
+
+# Black
+color0 #414868
+color8 #414868
+
+# Red
+color1 #f7768e
+color9 #f7768e
+
+# Green
+color2 #73daca
+color10 #73daca
+
+# Yellow
+color3 #e0af68
+color11 #e0af68
+
+# Blue
+color4 #7aa2f7
+color12 #7aa2f7
+
+# Magenta
+color5 #bb9af7
+color13 #bb9af7
+
+# Cyan
+color6 #7dcfff
+color14 #7dcfff
+
+# White
+color7 #c0caf5
+color15 #c0caf5
+
+# Cursor
+cursor #c0caf5
+cursor_text_color #1a1b26
+
+# Selection highlight
+selection_foreground none
+selection_background #28344a
+
+# The color for highlighting URLs on mouse-over
+url_color #9ece6a
+
+# Window borders
+active_border_color #3d59a1
+inactive_border_color #101014
+bell_border_color #e0af68
+
+# Tab bar
+tab_bar_style fade
+tab_fade 1
+active_tab_foreground #3d59a1
+active_tab_background #16161e
+active_tab_font_style bold
+inactive_tab_foreground #787c99
+inactive_tab_background #16161e
+inactive_tab_font_style bold
+tab_bar_background #101014
+
+# Title bar
+macos_titlebar_color #16161e
+
+# Storm
+# background #24283b
+# cursor_text_color #24283b
+# active_tab_background #1f2335
+# inactive_tab_background #1f2335
+# macos_titlebar_color #1f2335
diff --git a/dotfiles/config/kitty/themes/Wall-Dcol.conf b/dotfiles/config/kitty/themes/Wall-Dcol.conf
new file mode 100644
index 0000000..10787f2
--- /dev/null
+++ b/dotfiles/config/kitty/themes/Wall-Dcol.conf
@@ -0,0 +1,43 @@
+foreground #FFFFFF
+background #1B1B29
+selection_foreground #1B1B29
+selection_background #FFFFFF
+cursor #974C4E
+cursor_text_color #FFFFFF
+
+active_tab_foreground #1B1B29
+active_tab_background #2D4E5C
+inactive_tab_foreground #2D4E5C
+inactive_tab_background #1B1B29
+
+# black
+color0 #00001A
+color8 #3B3B63
+
+# red
+color1 #FCC5C6
+color9 #D69FA0
+
+# green
+color2 #C5D7FC
+color10 #9FB1D6
+
+# yellow
+color3 #C5ECFC
+color11 #9FC6D6
+
+# blue
+color4 #8181B8
+color12 #8181B8
+
+# magenta
+color5 #8193B8
+color13 #8193B8
+
+# cyan
+color6 #81A7B8
+color14 #81A7B8
+
+# white
+color7 #FCC5C6
+color15 #D69FA0
diff --git a/dotfiles/config/kitty/themes/theme.conf b/dotfiles/config/kitty/themes/theme.conf
new file mode 100644
index 0000000..e52f9e1
--- /dev/null
+++ b/dotfiles/config/kitty/themes/theme.conf
@@ -0,0 +1,80 @@
+# vim:ft=kitty
+
+## name: Catppuccin Mocha 🌿
+## author: Pocco81 (https://github.com/Pocco81)
+## license: MIT
+## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
+## blurb: Soothing pastel theme for the high-spirited!
+
+
+
+# The basic colors
+foreground #CDD6F4
+background #1E1E2E
+selection_foreground #1E1E2E
+selection_background #F5E0DC
+
+# Cursor colors
+cursor #F5E0DC
+cursor_text_color #1E1E2E
+
+# URL underline color when hovering with mouse
+url_color #B4BEFE
+
+# Kitty window border colors
+active_border_color #CBA6F7
+inactive_border_color #8E95B3
+bell_border_color #EBA0AC
+
+# OS Window titlebar colors
+wayland_titlebar_color system
+macos_titlebar_color system
+
+# Tab bar colors
+active_tab_foreground #11111B
+active_tab_background #CBA6F7
+inactive_tab_foreground #CDD6F4
+inactive_tab_background #181825
+tab_bar_background #11111B
+
+# Colors for marks (marked text in the terminal)
+mark1_foreground #1E1E2E
+mark1_background #87B0F9
+mark2_foreground #1E1E2E
+mark2_background #CBA6F7
+mark3_foreground #1E1E2E
+mark3_background #74C7EC
+
+# The 16 terminal colors
+
+# black
+color0 #43465A
+color8 #43465A
+
+# red
+color1 #F38BA8
+color9 #F38BA8
+
+# green
+color2 #A6E3A1
+color10 #A6E3A1
+
+# yellow
+color3 #F9E2AF
+color11 #F9E2AF
+
+# blue
+color4 #87B0F9
+color12 #87B0F9
+
+# magenta
+color5 #F5C2E7
+color13 #F5C2E7
+
+# cyan
+color6 #94E2D5
+color14 #94E2D5
+
+# white
+color7 #CDD6F4
+color15 #A1A8C9
diff --git a/dotfiles/config/swaylock/config b/dotfiles/config/swaylock/config
index 7ae89de..477d393 100644
--- a/dotfiles/config/swaylock/config
+++ b/dotfiles/config/swaylock/config
@@ -2,8 +2,8 @@ daemonize
show-failed-attempts
clock
screenshot
-effect-blur=9x5
-effect-vignette=0.5:0.5
+effect-blur=15x15
+effect-vignette=1:1
color=1f1d2e80
font="Inter"
indicator
@@ -34,5 +34,5 @@ grace-no-mouse
grace-no-touch
datestr=%a, %B %e
timestr=%I:%M %p
-fade-in=0.2
+fade-in=0.3
ignore-empty-password
diff --git a/dotfiles/config/swaylock/config (copy 1) b/dotfiles/config/swaylock/config (copy 1)
deleted file mode 100644
index 09695b2..0000000
--- a/dotfiles/config/swaylock/config (copy 1)
+++ /dev/null
@@ -1,50 +0,0 @@
-ignore-empty-password
-font=Ubuntu Mono Nerd Font
-
-clock
-timestr=%R
-
-image=~/.config/hypr/wallpaper-dark.jpg
-
-fade-in=0.2
-
-#effect-blur=15x2
-#effect-greyscale
-#effect-scale=0.1
-
-indicator
-indicator-radius=110
-indicator-thickness=10
-indicator-caps-lock
-
-key-hl-color=880033ff
-
-separator-color=00000000
-
-inside-color=01010133
-inside-clear-color=ffd20433
-inside-caps-lock-color=009ddc33
-inside-ver-color=d9d8d833
-inside-wrong-color=ee2e2433
-
-ring-color=231f20D9
-ring-clear-color=231f20D9
-ring-caps-lock-color=231f20D9
-ring-ver-color=231f20D9
-ring-wrong-color=231f20D9
-
-line-color=00000000
-line-clear-color=ffd204FF
-line-caps-lock-color=009ddcFF
-line-ver-color=d9d8d8FF
-line-wrong-color=ee2e24FF
-
-text-color=dededeff
-text-clear-color=ffd204ff
-text-ver-color=000000ff
-text-wrong-color=ee2e24ff
-
-bs-hl-color=ffd204ff
-caps-lock-key-hl-color=ffd204FF
-caps-lock-bs-hl-color=dededeFF
-text-caps-lock-color=009ddcff
\ No newline at end of file
diff --git a/dotfiles/config/waybar/config.ctl b/dotfiles/config/waybar/config.ctl
new file mode 100644
index 0000000..d9d0baf
--- /dev/null
+++ b/dotfiles/config/waybar/config.ctl
@@ -0,0 +1,24 @@
+0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|28|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|28|top|( cpu memory custom/cpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0||bottom||( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0||top||( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|31|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
+0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
+1|31|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
+0|31|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network bluetooth pulseaudio pulseaudio#microphone custom/keybindhint )
+0|32|bottom||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
+0|32|left||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
+0|32|top||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
+0|32|right||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
+0|31|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|31|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network bluetooth pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
+0|28|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
+0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
+0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
+0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network bluetooth pulseaudio pulseaudio#microphone )
diff --git a/dotfiles/config/waybar/config.jsonc b/dotfiles/config/waybar/config.jsonc
index 68a1fa3..b1ae0d6 100644
--- a/dotfiles/config/waybar/config.jsonc
+++ b/dotfiles/config/waybar/config.jsonc
@@ -1,261 +1,214 @@
+// --// waybar config generated by wbarconfgen.sh //-- //
+
{
+// sourced from header module //
+
"layer": "top",
"position": "top",
"mod": "dock",
+ "height": 31,
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
- "height": 30,
- "modules-left": [
- "custom/launcher",
- "clock",
- //"wlr/workspaces",
- "hyprland/workspaces",
- "wlr/taskbar",
- "hyprland/window"
- //"custom/playerctl",
- //"custom/playerlabel"
- ],
- //"modules-center": [
- //"hyprland/window",
- //"wlr/taskbar"
-
- //],
- "modules-right": [
- "custom/weather",
- //"custom/weather_sway",
- //"network",
- //"idle_inhibitor",
- "cpu",
- "memory",
- //"disk",
- "temperature",
- "battery",
- //"custom/PBPbattery",
- "pulseaudio",
- //"pulseaudio_pamixer",
- //"pulseaudio_pamixer#microphone",
- //"custom/keyboard-layout",
- "backlight#icon",
- //"backlight#value",
- "custom/updates",
- //"clock",
- "tray",
- //"custom/power",
- //"custom/lock_screen",
- "custom/notification",
- "custom/light_dark"
- ],
- "custom/launcher": {
- "format": " ",
- "on-click": "sh -c '(sleep 0.5s; pkill wofi || wofi -c ~/.config/wofi/config-lmenu)' & disown",
- "tooltip": false
- },
- "clock": {
- "format": "{:%H:%M}",
- "tooltip-format": "{: %A, %e %B %Y}"
- },
- "wlr/workspaces": {
- "disable-scroll": true,
- "all-outputs": true,
- "on-click": "activate",
- "on-scroll-up": "hyprctl dispatch workspace -1",
- "on-scroll-down": "hyprctl dispatch workspace +1",
- "persistent_workspaces": {
- "1": [],
- "2": [],
- "3": [],
- "4": [],
- "5": [],
- "6": [],
- "7": [],
- "8": [],
- "9": [],
- "10": []
- }
- },
- "hyprland/workspaces": {
- "format": "{name}",
- "format-icons": {
- "active": "",
- "default": "",
- "persistent": ""
- },
- "on-scroll-up": "hyprctl dispatch workspace r-1",
- "on-scroll-down": "hyprctl dispatch workspace r+1",
- "all-outputs": false,
- "persistent_workspaces": {
- "*": 1
- }
- },
- "custom/playerctl": {
- "format": "{icon}",
- "return-type": "json",
- "max-length": 64,
- "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
- "on-click-middle": "playerctl play-pause",
- "on-click": "playerctl play-pause",
- //"on-click": "playerctl previous",
- "on-click-right": "playerctl next",
- "format-icons": {
- "Playing": " ",
- "Paused": " "
- }
- },
-
- "custom/playerlabel": {
- "format": "{}",
- "return-type": "json",
- "max-length": 48,
- "exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
- "on-click-middle": "playerctl play-pause",
- "on-click": "playerctl play-pause",
- //"on-click": "playerctl previous",
- "on-click-right": "playerctl next",
- "format-icons": {
- "Playing": " ",
- "Paused": " "
- }
- },
-
- // --------------------
-
- "hyprland/window": {
- "format": "{}"
- },
- "wlr/taskbar": {
- "format": "{icon}",
- "icon-size": 24,
- "all-outputs": true,
- "tooltip-format": "{name} - {title}",
- "on-click": "activate",
- "on-click-middle": "close",
- "ignore-list": [
- "wofi"
- ],
- "app_ids-mapping": {
- "steam_app_39210": "Final Fantasy 14"
- }
- },
- // --------------------
+// positions generated based on config.ctl //
+
+ "modules-left": ["custom/padd","custom/l_end","custom/power","custom/cliphist","custom/wbar","custom/theme","custom/wallchange","custom/r_end","custom/l_end","wlr/taskbar","custom/spotify","custom/r_end","","custom/padd"],
+ "modules-center": ["custom/padd","custom/l_end","idle_inhibitor","clock","custom/r_end","custom/padd"],
+ "modules-right": ["custom/padd","custom/l_end","tray","battery","custom/r_end","custom/l_end","backlight","network","bluetooth","pulseaudio","pulseaudio#microphone","custom/keybindhint","custom/r_end","custom/padd"],
- "custom/weather": {
- //shows the current weather and forecast
- "tooltip" : true,
- "format" : "{}",
- "interval" : 30,
- "exec" : "~/.config/waybar/scripts/waybar-wttr.py",
- "return-type" : "json"
+// sourced from modules based on config.ctl //
+
+ "custom/power": {
+ "format": "{}",
+ "rotate": 0,
+ "exec": "echo ; echo logout",
+ "on-click": "/home/lostecho/.config/hyprdots/scripts/logoutlaunch.sh 2",
+ "on-click-right": "/home/lostecho/.config/hyprdots/scripts/logoutlaunch.sh 1",
+ "interval" : 86400, // once every day
+ "tooltip": true
},
- // to use the weather module replace with your city or town
- // note: do not use spaces: new york would be newyork
- "custom/weather_sway": {
- "exec": "~/.config/waybar/scripts/weather.sh ",
+
+ "custom/cliphist": {
+ "format": "{}",
+ "rotate": 0,
+ "exec": "echo ; echo clipboard history",
+ "on-click": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/cliphist.sh c",
+ "on-click-right": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/cliphist.sh d",
+ "on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/cliphist.sh w",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
+ "custom/wbar": {
+ "format": "{}", // //
+ "rotate": 0,
+ "exec": "echo ; echo switch bar // dock",
+ "on-click": "/home/lostecho/.config/hyprdots/scripts/wbarconfgen.sh n",
+ "on-click-right": "/home/lostecho/.config/hyprdots/scripts/wbarconfgen.sh p",
+ "on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/quickapps.sh kitty firefox spotify code dolphin",
+ "interval" : 86400,
+ "tooltip": true
+ },
+
+ "custom/theme": {
+ "format": "{}",
+ "rotate": 0,
+ "exec": "echo ; echo switch theme",
+ "on-click": "/home/lostecho/.config/hyprdots/scripts/themeswitch.sh -n",
+ "on-click-right": "/home/lostecho/.config/hyprdots/scripts/themeswitch.sh -p",
+ "on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/themeselect.sh",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
+ "custom/wallchange": {
+ "format": "{}",
+ "rotate": 0,
+ "exec": "echo ; echo switch wallpaper",
+ "on-click": "/home/lostecho/.config/hyprdots/scripts/swwwallpaper.sh -n",
+ "on-click-right": "/home/lostecho/.config/hyprdots/scripts/swwwallpaper.sh -p",
+ "on-click-middle": "sleep 0.1 && /home/lostecho/.config/hyprdots/scripts/swwwallselect.sh",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
+ "wlr/taskbar": {
+ "format": "{icon}",
+ "rotate": 0,
+ "icon-size": 18,
+ "icon-theme": "Tela-circle-dracula",
+ "spacing": 0,
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "on-click-middle": "close",
+ "ignore-list": [
+ "Alacritty"
+ ],
+ "app_ids-mapping": {
+ "firefoxdeveloperedition": "firefox-developer-edition"
+ }
+ },
+
+ "custom/spotify": {
+ "exec": "/usr/bin/env python3 /home/lostecho/.config/waybar/modules/mediaplayer.py --player spotify",
+ "format": " {}",
+ "rotate": 0,
"return-type": "json",
- "interval": 600
- },
- "network": {
- "interval": 5,
- "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
- "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
- "format-disconnected": "⚠ Disconnected",
- "tooltip-format": "{ifname}: {ipaddr}",
- "on-click": "xfce4-terminal -e 'nmtui'"
- },
- "network#vpn": {
- "interface": "tun0",
- "format": " {essid} ({signalStrength}%)",
- "format-disconnected": "⚠ Disconnected",
- "tooltip-format": "{ifname}: {ipaddr}/{cidr}"
+ "on-click": "playerctl play-pause --player spotify",
+ "on-click-right": "playerctl next --player spotify",
+ "on-click-middle": "playerctl previous --player spotify",
+ "on-scroll-up": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -p spotify i",
+ "on-scroll-down": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -p spotify d",
+ "max-length": 25,
+ "escape": true,
+ "tooltip": true
},
+
"idle_inhibitor": {
- "format": "{icon} ",
- "format-icons":{
- "activated": "",
- "deactivated": ""
+ "format": "{icon}",
+ "rotate": 0,
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
}
},
- "cpu": {
- "interval": 10,
- "format": " {usage}%",
- "max-length": 10,
- "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
- },
- "memory": {
- "interval": 30,
- "format": " {}%",
- "max-length": 10,
- "tooltip": true,
- "tooltip-format": "Memory - {used:0.1f}GB used",
- "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
- },
- "disk": {
- "interval": 30,
- "format": " {percentage_used}%",
- "path": "/",
- "tooltip": true,
- "tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)",
- "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
- },
- "temperature": {
- "thermal-zone": 1,
- "format": " {temperatureC}°C",
- "format-alt-click": "click-right",
- "format-alt": "",
- "critical-threshold": 70,
- "format-critical": " {temperatureC}°C",
- "on-click": "kitty --start-as=fullscreen --title htop sh -c 'htop'"
- },
- "battery": {
- "states": {
- "good": 80,
- "warning": 30,
- "critical": 15
+
+ "clock": {
+ "format": "{:%I:%M %p}",
+ "rotate": 0,
+ "format-alt": "{:%R %d·%m·%y}",
+ "tooltip-format": "{calendar}",
+ "calendar": {
+ "mode": "month",
+ "mode-mon-col": 3,
+ "on-scroll": 1,
+ "on-click-right": "mode",
+ "format": {
+ "months": "{}",
+ "weekdays": "{}",
+ "today": "{}"
+ }
},
- "format": "{icon} {capacity}%",
+ "actions": {
+ "on-click-right": "mode",
+ "on-click-forward": "tz_up",
+ "on-click-backward": "tz_down",
+ "on-scroll-up": "shift_up",
+ "on-scroll-down": "shift_down"
+ }
+ },
+
+ "tray": {
+ "icon-size": 18,
+ "rotate": 0,
+ "spacing": 5
+ },
+
+ "battery": {
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 20
+ },
+ "format": "{icon} {capacity}%",
+ "rotate": 0,
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
- // "format-good": "", // An empty format will hide the module
- // "format-full": "",
- "format-icons": ["", "", "", "", ""]
+ "format-alt": "{time} {icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
},
- "custom/PBPbattery": {
- "exec": "~/.config/waybar/scripts/PBPbattery.sh",
- "format": "{}"
+ "backlight": {
+ "device": "intel_backlight",
+ "rotate": 0,
+ "format": "{icon} {percent}%",
+ "format-icons": ["", "", "", "", "", "", "", "", ""],
+ "on-scroll-up": "brightnessctl set 1%+",
+ "on-scroll-down": "brightnessctl set 1%-",
+ "min-length": 6
},
+
+ "network": {
+ "tooltip": true,
+ "format-wifi": " ",
+ "rotate": 0,
+ "format-ethernet": " ",
+ "tooltip-format": "Network: {essid}\nSignal strength: {signaldBm}dBm ({signalStrength}%)\nFrequency: {frequency}MHz\nInterface: {ifname}\nIP: {ipaddr}/{cidr}\nGateway: {gwaddr}\nNetmask: {netmask}",
+ "format-linked": " {ifname} (No IP)",
+ "format-disconnected": " ",
+ "tooltip-format-disconnected": "Disconnected",
+ "format-alt": " {bandwidthDownBytes} {bandwidthUpBytes}",
+ "interval": 2,
+ },
+
+ "bluetooth": {
+ "format": "",
+ "rotate": 0,
+ "format-disabled": "",
+ "format-connected": " {num_connections}",
+ "format-connected-battery": "{icon} {num_connections}",
+ // "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%",
+ "format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
+ // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device.
+ "tooltip-format": "{controller_alias}\n{num_connections} connected",
+ "tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
+ "tooltip-format-enumerate-connected": "{device_alias}",
+ "tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
+ },
+
"pulseaudio": {
- "scroll-step": 1, // %, can be a float
- "format": "{icon} {volume}%",
- "format-bluetooth": " {volume}%", //"{icon} {volume}%", //{format_source}",
- "format-bluetooth-muted": " {icon}", //{format_source}",
- "format-muted": "",
- "format-source": " {volume}%",
- "format-source-muted": "",
- "format-icons": {
- "headphone": "",
- "hands-free": "וֹ",
- "headset": " ",
- "phone": "",
- "portable": "",
- "car": "",
- "default": [""]
- },
- "on-click": "pavucontrol",
- "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +1%",
- "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -1%"
- },
- "pulseaudio_pamixer": {
- "format": "{icon}",
- "format-muted": "",
- "on-click": "~/.config/waybar/scripts/volume --toggle",
- "on-click-right": "pavucontrol",
- "on-scroll-up": "~/.config/waybar/scripts/volume --inc",
- "on-scroll-down": "~/.config/waybar/scripts/volume --dec",
- "scroll-step": 1,
+ "format": "{icon} {volume}",
+ "rotate": 0,
+ "format-muted": "婢",
+ "on-click": "pavucontrol -t 3",
+ "on-click-middle": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -o m",
+ "on-scroll-up": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -o i",
+ "on-scroll-down": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -o d",
+ "tooltip-format": "{icon} {desc} // {volume}%",
+ "scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
@@ -264,82 +217,72 @@
"portable": "",
"car": "",
"default": ["", "", ""]
- },
- "tooltip": true,
- "tooltip-format": "{icon} at {volume}%"
- },
- "pulseaudio_pamixer#microphone": {
- "format": "{format_source}",
- "format-source": "",
- "format-source-muted": "",
- "on-click": "~/.config/waybar/scripts/volume --toggle-mic",
- "on-click-right": "pavucontrol",
- "on-scroll-up": "~/.config/waybar/scripts/volume --mic-inc",
- "on-scroll-down": "~/.config/waybar/scripts/volume --mic-dec",
- "scroll-step": 1,
- "tooltip": true,
- "tooltip-format": " at {volume}%"
- },
- "custom/keyboard-layout": {
- "exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
- // Interval set only as a fallback, as the value is updated by signal
- "interval": 30,
- "format": " {}", // Icon: keyboard
- // Signal sent by Sway key binding (~/.config/sway/key-bindings)
- "signal": 1, // SIGHUP
- "tooltip": false,
- "on-click": "~/.config/waybar/scripts/keyhint.sh"
- },
- "backlight#icon": {
- "format": "{icon}",
- "format": "{icon} {percent}%",
- "format-icons": [""],
- "on-scroll-down": "brightnessctl -c backlight set 1%-",
- "on-scroll-up": "brightnessctl -c backlight set +1%"
+ }
},
- "backlight#value" :{
- "format": "{percent}%",
- "on-scroll-down": "brightnessctl -c backlight set 1%-",
- "on-scroll-up": "brightnessctl -c backlight set +1%"
+ "pulseaudio#microphone": {
+ "format": "{format_source}",
+ "rotate": 0,
+ "format-source": "",
+ "format-source-muted": "",
+ "on-click": "pavucontrol -t 4",
+ "on-click-middle": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -i m",
+ "on-scroll-up": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -i i",
+ "on-scroll-down": "/home/lostecho/.config/hyprdots/scripts/volumecontrol.sh -i d",
+ "tooltip-format": "{format_source} {source_desc} // {source_volume}%",
+ "scroll-step": 5
},
- "tray": {
- "icon-size": 18,
- "spacing": 10
+
+ "custom/keybindhint": {
+ "format": " ",
+ "rotate": 0,
+ "on-click": "/home/lostecho/.config/hyprdots/scripts/keybinds_hint.sh"
},
- "custom/power": {
- "format":"⏻ ",
- "on-click": "exec ~/.config/waybar/scripts/power-menu.sh",
+
+
+// modules for padding //
+
+ "custom/l_end": {
+ "format": " ",
+ "interval" : "once",
"tooltip": false
},
- "custom/lock_screen": {
- "format": "",
- "on-click": "sh -c '(sleep 0.5s; swaylock)' & disown",
+
+ "custom/r_end": {
+ "format": " ",
+ "interval" : "once",
"tooltip": false
},
- "custom/light_dark": {
- "format": "",
- "on-click": "~/.config/waybar/scripts/baraction light",
+
+ "custom/sl_end": {
+ "format": " ",
+ "interval" : "once",
"tooltip": false
},
- "custom/notification": {
- "tooltip": false,
- "format": "{icon}",
- "format-icons": {
- "notification": "",
- "none": "",
- "dnd-notification": "",
- "dnd-none": "",
- "inhibited-notification": "",
- "inhibited-none": "",
- "dnd-inhibited-notification": "",
- "dnd-inhibited-none": ""
+
+ "custom/sr_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
},
- "return-type": "json",
- "exec-if": "which swaync-client",
- "exec": "swaync-client -swb",
- "on-click": "swaync-client -t -sw",
- "on-click-right": "swaync-client -d -sw",
- "escape": true
- }
+
+ "custom/rl_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/rr_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/padd": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ }
+
}
+
diff --git a/dotfiles/config/waybar/icons/brightness-100.png b/dotfiles/config/waybar/icons/brightness-100.png
deleted file mode 100644
index 1e28ac3..0000000
Binary files a/dotfiles/config/waybar/icons/brightness-100.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/brightness-20.png b/dotfiles/config/waybar/icons/brightness-20.png
deleted file mode 100644
index aee9c52..0000000
Binary files a/dotfiles/config/waybar/icons/brightness-20.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/brightness-40.png b/dotfiles/config/waybar/icons/brightness-40.png
deleted file mode 100644
index bbedd1c..0000000
Binary files a/dotfiles/config/waybar/icons/brightness-40.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/brightness-60.png b/dotfiles/config/waybar/icons/brightness-60.png
deleted file mode 100644
index 4cd838b..0000000
Binary files a/dotfiles/config/waybar/icons/brightness-60.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/brightness-80.png b/dotfiles/config/waybar/icons/brightness-80.png
deleted file mode 100644
index 6684bdb..0000000
Binary files a/dotfiles/config/waybar/icons/brightness-80.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/microphone-mute.png b/dotfiles/config/waybar/icons/microphone-mute.png
deleted file mode 100644
index 1780e33..0000000
Binary files a/dotfiles/config/waybar/icons/microphone-mute.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/microphone.png b/dotfiles/config/waybar/icons/microphone.png
deleted file mode 100644
index d1b6d76..0000000
Binary files a/dotfiles/config/waybar/icons/microphone.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/volume-high.png b/dotfiles/config/waybar/icons/volume-high.png
deleted file mode 100644
index 200f17b..0000000
Binary files a/dotfiles/config/waybar/icons/volume-high.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/volume-low.png b/dotfiles/config/waybar/icons/volume-low.png
deleted file mode 100644
index 17cfff7..0000000
Binary files a/dotfiles/config/waybar/icons/volume-low.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/volume-mid.png b/dotfiles/config/waybar/icons/volume-mid.png
deleted file mode 100644
index 1a3ad3a..0000000
Binary files a/dotfiles/config/waybar/icons/volume-mid.png and /dev/null differ
diff --git a/dotfiles/config/waybar/icons/volume-mute.png b/dotfiles/config/waybar/icons/volume-mute.png
deleted file mode 100644
index 0b9b0c3..0000000
Binary files a/dotfiles/config/waybar/icons/volume-mute.png and /dev/null differ
diff --git a/dotfiles/config/waybar/mesu-met.jsonc b/dotfiles/config/waybar/mesu-met.jsonc
deleted file mode 100644
index 919e8b2..0000000
--- a/dotfiles/config/waybar/mesu-met.jsonc
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "clock": {
- "format": "{:%H:%M}",
- "tooltip-format": "{: %A, %e %B %Y}"
- },
-
- "custom/weather": {
- //shows the current weather and forecast
- "tooltip" : true,
- "format" : "{}",
- "interval" : 30,
- "exec" : "~/.config/HyprV/waybar/scripts/waybar-wttr-c.py",
- "return-type" : "json"
- },
-
- "temperature": {
- "thermal-zone": 1,
- "format": "",
- "format-alt-click": "click-right",
- "format-alt": " {temperatureC}°C",
- "critical-threshold": 70,
- "format-critical": " {temperatureC}°C",
- "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
- }
-}
\ No newline at end of file
diff --git a/dotfiles/config/waybar/modules/backlight.jsonc b/dotfiles/config/waybar/modules/backlight.jsonc
new file mode 100644
index 0000000..b289e68
--- /dev/null
+++ b/dotfiles/config/waybar/modules/backlight.jsonc
@@ -0,0 +1,10 @@
+ "backlight": {
+ "device": "intel_backlight",
+ "rotate": ${r_deg},
+ "format": "{icon} {percent}%",
+ "format-icons": ["", "", "", "", "", "", "", "", ""],
+ "on-scroll-up": "brightnessctl set 1%+",
+ "on-scroll-down": "brightnessctl set 1%-",
+ "min-length": 6
+ },
+
diff --git a/dotfiles/config/waybar/modules/battery.jsonc b/dotfiles/config/waybar/modules/battery.jsonc
new file mode 100644
index 0000000..51d6482
--- /dev/null
+++ b/dotfiles/config/waybar/modules/battery.jsonc
@@ -0,0 +1,14 @@
+ "battery": {
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 20
+ },
+ "format": "{icon} {capacity}%",
+ "rotate": ${r_deg},
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{time} {icon}",
+ "format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
+ },
+
diff --git a/dotfiles/config/waybar/modules/bluetooth.jsonc b/dotfiles/config/waybar/modules/bluetooth.jsonc
new file mode 100644
index 0000000..919bbd8
--- /dev/null
+++ b/dotfiles/config/waybar/modules/bluetooth.jsonc
@@ -0,0 +1,15 @@
+ "bluetooth": {
+ "format": "",
+ "rotate": ${r_deg},
+ "format-disabled": "",
+ "format-connected": " {num_connections}",
+ "format-connected-battery": "{icon} {num_connections}",
+ // "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%",
+ "format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
+ // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device.
+ "tooltip-format": "{controller_alias}\n{num_connections} connected",
+ "tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
+ "tooltip-format-enumerate-connected": "{device_alias}",
+ "tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
+ },
+
diff --git a/dotfiles/config/waybar/modules/cliphist.jsonc b/dotfiles/config/waybar/modules/cliphist.jsonc
new file mode 100644
index 0000000..79bc947
--- /dev/null
+++ b/dotfiles/config/waybar/modules/cliphist.jsonc
@@ -0,0 +1,11 @@
+ "custom/cliphist": {
+ "format": "{}",
+ "rotate": ${r_deg},
+ "exec": "echo ; echo clipboard history",
+ "on-click": "sleep 0.1 && ${ScrDir}/cliphist.sh c",
+ "on-click-right": "sleep 0.1 && ${ScrDir}/cliphist.sh d",
+ "on-click-middle": "sleep 0.1 && ${ScrDir}/cliphist.sh w",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
diff --git a/dotfiles/config/waybar/modules/clock.jsonc b/dotfiles/config/waybar/modules/clock.jsonc
new file mode 100644
index 0000000..fd8bdc3
--- /dev/null
+++ b/dotfiles/config/waybar/modules/clock.jsonc
@@ -0,0 +1,25 @@
+ "clock": {
+ "format": "{:%I:%M %p}",
+ "rotate": ${r_deg},
+ "format-alt": "{:%R %d·%m·%y}",
+ "tooltip-format": "{calendar}",
+ "calendar": {
+ "mode": "month",
+ "mode-mon-col": 3,
+ "on-scroll": 1,
+ "on-click-right": "mode",
+ "format": {
+ "months": "{}",
+ "weekdays": "{}",
+ "today": "{}"
+ }
+ },
+ "actions": {
+ "on-click-right": "mode",
+ "on-click-forward": "tz_up",
+ "on-click-backward": "tz_down",
+ "on-scroll-up": "shift_up",
+ "on-scroll-down": "shift_down"
+ }
+ },
+
diff --git a/dotfiles/config/waybar/modules/cpu.jsonc b/dotfiles/config/waybar/modules/cpu.jsonc
new file mode 100644
index 0000000..cc89cb0
--- /dev/null
+++ b/dotfiles/config/waybar/modules/cpu.jsonc
@@ -0,0 +1,8 @@
+ "cpu": {
+ "interval": 10,
+ "format": " {usage}%",
+ "rotate": ${r_deg},
+ "format-alt": "{icon0}{icon1}{icon2}{icon3}",
+ "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
+ },
+
diff --git a/dotfiles/config/waybar/modules/cpuinfo.jsonc b/dotfiles/config/waybar/modules/cpuinfo.jsonc
new file mode 100644
index 0000000..453ba65
--- /dev/null
+++ b/dotfiles/config/waybar/modules/cpuinfo.jsonc
@@ -0,0 +1,10 @@
+ "custom/cpuinfo": {
+ "exec": " ${ScrDir}/cpuinfo.sh",
+ "return-type": "json",
+ "format": "{}",
+ "rotate": ${r_deg},
+ "interval": 5, // once every 5 seconds
+ "tooltip": true,
+ "max-length": 1000
+ },
+
diff --git a/dotfiles/config/waybar/modules/footer.jsonc b/dotfiles/config/waybar/modules/footer.jsonc
new file mode 100644
index 0000000..1387f74
--- /dev/null
+++ b/dotfiles/config/waybar/modules/footer.jsonc
@@ -0,0 +1,47 @@
+
+// modules for padding //
+
+ "custom/l_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/r_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/sl_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/sr_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/rl_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/rr_end": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ },
+
+ "custom/padd": {
+ "format": " ",
+ "interval" : "once",
+ "tooltip": false
+ }
+
+}
+
diff --git a/dotfiles/config/waybar/modules/gpuinfo.jsonc b/dotfiles/config/waybar/modules/gpuinfo.jsonc
new file mode 100644
index 0000000..07c917a
--- /dev/null
+++ b/dotfiles/config/waybar/modules/gpuinfo.jsonc
@@ -0,0 +1,41 @@
+ "custom/gpuinfo": {
+ "exec": " ${ScrDir}/gpuinfo.sh",
+ "return-type": "json",
+ "format": "{}",
+ "rotate": ${r_deg},
+ "interval": 5, // once every 5 seconds
+ "tooltip": true,
+ "max-length": 1000,
+ "on-click": "${ScrDir}/gpuinfo.sh --toggle",
+ },
+
+ "custom/gpuinfo#nvidia": {
+ "exec": " ${ScrDir}/gpuinfo.sh --use nvidia ",
+ "return-type": "json",
+ "format": "{}",
+ "rotate": ${r_deg},
+ "interval": 5, // once every 5 seconds
+ "tooltip": true,
+ "max-length": 1000,
+ },
+
+ "custom/gpuinfo#amd": {
+ "exec": " ${ScrDir}/gpuinfo.sh --use amd ",
+ "return-type": "json",
+ "format": "{}",
+ "rotate": ${r_deg},
+ "interval": 5, // once every 5 seconds
+ "tooltip": true,
+ "max-length": 1000,
+ },
+
+ "custom/gpuinfo#intel": {
+ "exec": " ${ScrDir}/gpuinfo.sh --use intel ",
+ "return-type": "json",
+ "format": "{}",
+ "rotate": ${r_deg},
+ "interval": 5, // once every 5 seconds
+ "tooltip": true,
+ "max-length": 1000,
+ },
+
diff --git a/dotfiles/config/waybar/modules/header.jsonc b/dotfiles/config/waybar/modules/header.jsonc
new file mode 100644
index 0000000..c328a9a
--- /dev/null
+++ b/dotfiles/config/waybar/modules/header.jsonc
@@ -0,0 +1,12 @@
+// --// waybar config generated by wbarconfgen.sh //-- //
+
+{
+// sourced from header module //
+
+ "layer": "top",
+ "position": "${w_position}",
+ "mod": "dock",
+ "${hv_pos}": ${w_height},
+ "exclusive": true,
+ "passthrough": false,
+ "gtk-layer-shell": true,
diff --git a/dotfiles/config/waybar/modules/idle_inhibitor.jsonc b/dotfiles/config/waybar/modules/idle_inhibitor.jsonc
new file mode 100644
index 0000000..d109a95
--- /dev/null
+++ b/dotfiles/config/waybar/modules/idle_inhibitor.jsonc
@@ -0,0 +1,9 @@
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "rotate": ${r_deg},
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+
diff --git a/dotfiles/config/waybar/modules/keybindhint.jsonc b/dotfiles/config/waybar/modules/keybindhint.jsonc
new file mode 100644
index 0000000..0d7c320
--- /dev/null
+++ b/dotfiles/config/waybar/modules/keybindhint.jsonc
@@ -0,0 +1,6 @@
+ "custom/keybindhint": {
+ "format": " ",
+ "rotate": ${r_deg},
+ "on-click": "${ScrDir}/keybinds_hint.sh"
+ },
+
diff --git a/dotfiles/config/waybar/modules/language.jsonc b/dotfiles/config/waybar/modules/language.jsonc
new file mode 100644
index 0000000..fed6d0e
--- /dev/null
+++ b/dotfiles/config/waybar/modules/language.jsonc
@@ -0,0 +1,6 @@
+ "hyprland/language": {
+ "format": "{short} {variant}",
+ "rotate": ${r_deg},
+ "on-click": "${ScrDir}/keyboardswitch.sh",
+ },
+
diff --git a/dotfiles/config/waybar/modules/mediaplayer.py b/dotfiles/config/waybar/modules/mediaplayer.py
new file mode 100644
index 0000000..eee55b6
--- /dev/null
+++ b/dotfiles/config/waybar/modules/mediaplayer.py
@@ -0,0 +1,183 @@
+#!/usr/bin/env python3
+import gi
+gi.require_version("Playerctl", "2.0")
+from gi.repository import Playerctl, GLib
+from gi.repository.Playerctl import Player
+import argparse
+import logging
+import sys
+import signal
+import gi
+import json
+import os
+from typing import List
+
+logger = logging.getLogger(__name__)
+
+def signal_handler(sig, frame):
+ logger.info("Received signal to stop, exiting")
+ sys.stdout.write("\n")
+ sys.stdout.flush()
+ # loop.quit()
+ sys.exit(0)
+
+
+class PlayerManager:
+ def __init__(self, selected_player=None):
+ self.manager = Playerctl.PlayerManager()
+ self.loop = GLib.MainLoop()
+ self.manager.connect(
+ "name-appeared", lambda *args: self.on_player_appeared(*args))
+ self.manager.connect(
+ "player-vanished", lambda *args: self.on_player_vanished(*args))
+
+ signal.signal(signal.SIGINT, signal_handler)
+ signal.signal(signal.SIGTERM, signal_handler)
+ signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+ self.selected_player = selected_player
+
+ self.init_players()
+
+ def init_players(self):
+ for player in self.manager.props.player_names:
+ if self.selected_player is not None and self.selected_player != player.name:
+ logger.debug(f"{player.name} is not the filtered player, skipping it")
+ continue
+ self.init_player(player)
+
+ def run(self):
+ logger.info("Starting main loop")
+ self.loop.run()
+
+ def init_player(self, player):
+ logger.info(f"Initialize new player: {player.name}")
+ player = Playerctl.Player.new_from_name(player)
+ player.connect("playback-status",
+ self.on_playback_status_changed, None)
+ player.connect("metadata", self.on_metadata_changed, None)
+ self.manager.manage_player(player)
+ self.on_metadata_changed(player, player.props.metadata)
+
+ def get_players(self) -> List[Player]:
+ return self.manager.props.players
+
+ def write_output(self, text, player, tooltip):
+ logger.debug(f"Writing output: {text}")
+
+ output = {"text": text,
+ "class": "custom-" + player.props.player_name,
+ "alt": player.props.player_name,
+ "tooltip": tooltip}
+
+ sys.stdout.write(json.dumps(output) + "\n")
+ sys.stdout.flush()
+
+ def clear_output(self):
+ sys.stdout.write("\n")
+ sys.stdout.flush()
+
+ def on_playback_status_changed(self, player, status, _=None):
+ logger.debug(f"Playback status changed for player {player.props.player_name}: {status}")
+ self.on_metadata_changed(player, player.props.metadata)
+
+ def get_first_playing_player(self):
+ players = self.get_players()
+ logger.debug(f"Getting first playing player from {len(players)} players")
+ if len(players) > 0:
+ # if any are playing, show the first one that is playing
+ # reverse order, so that the most recently added ones are preferred
+ for player in players[::-1]:
+ if player.props.status == "Playing":
+ return player
+ # if none are playing, show the first one
+ return players[0]
+ else:
+ logger.debug("No players found")
+ return None
+
+ def show_most_important_player(self):
+ logger.debug("Showing most important player")
+ # show the currently playing player
+ # or else show the first paused player
+ # or else show nothing
+ current_player = self.get_first_playing_player()
+ if current_player is not None:
+ self.on_metadata_changed(current_player, current_player.props.metadata)
+ else:
+ self.clear_output()
+
+ def on_metadata_changed(self, player, metadata, _=None):
+ logger.debug(f"Metadata changed for player {player.props.player_name}")
+ player_name = player.props.player_name
+ artist = player.get_artist()
+ title = player.get_title()
+
+ track_info = ""
+ if player_name == "spotify" and "mpris:trackid" in metadata.keys() and ":ad:" in player.props.metadata["mpris:trackid"]:
+ track_info = "Advertisement"
+ elif artist is not None and title is not None:
+ track_info = f"{artist} - {title}"
+ else:
+ track_info = title
+ tooltip = track_info
+ if track_info:
+ if player.props.status == "Playing":
+ track_info = " " + track_info
+ else:
+ track_info = " " + track_info
+ # only print output if no other player is playing
+ current_playing = self.get_first_playing_player()
+ if current_playing is None or current_playing.props.player_name == player.props.player_name:
+ self.write_output(track_info, player, tooltip)
+ else:
+ logger.debug(f"Other player {current_playing.props.player_name} is playing, skipping")
+
+ def on_player_appeared(self, _, player):
+ logger.info(f"Player has appeared: {player.name}")
+ if player is not None and (self.selected_player is None or player.name == self.selected_player):
+ self.init_player(player)
+ else:
+ logger.debug(
+ "New player appeared, but it's not the selected player, skipping")
+
+ def on_player_vanished(self, _, player):
+ logger.info(f"Player {player.props.player_name} has vanished")
+ self.show_most_important_player()
+
+def parse_arguments():
+ parser = argparse.ArgumentParser()
+
+ # Increase verbosity with every occurrence of -v
+ parser.add_argument("-v", "--verbose", action="count", default=0)
+
+ # Define for which player we"re listening
+ parser.add_argument("--player")
+
+ parser.add_argument("--enable-logging", action="store_true")
+
+ return parser.parse_args()
+
+
+def main():
+ arguments = parse_arguments()
+
+ # Initialize logging
+ if arguments.enable_logging:
+ logfile = os.path.join(os.path.dirname(
+ os.path.realpath(__file__)), "media-player.log")
+ logging.basicConfig(filename=logfile, level=logging.DEBUG,
+ format="%(asctime)s %(name)s %(levelname)s:%(lineno)d %(message)s")
+
+ # Logging is set by default to WARN and higher.
+ # With every occurrence of -v it's lowered by one
+ logger.setLevel(max((3 - arguments.verbose) * 10, 0))
+
+ logger.info("Creating player manager")
+ if arguments.player:
+ logger.info(f"Filtering for player: {arguments.player}")
+ player = PlayerManager(arguments.player)
+ player.run()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/dotfiles/config/waybar/modules/memory.jsonc b/dotfiles/config/waybar/modules/memory.jsonc
new file mode 100644
index 0000000..1e2c8d8
--- /dev/null
+++ b/dotfiles/config/waybar/modules/memory.jsonc
@@ -0,0 +1,18 @@
+ "memory": {
+ "states": {
+ "c": 90, // critical
+ "h": 60, // high
+ "m": 30, // medium
+ },
+ "interval": 30,
+ "format": " {used}GB",
+ "rotate": ${r_deg},
+ "format-m": " {used}GB",
+ "format-h": " {used}GB",
+ "format-c": " {used}GB",
+ "format-alt": " {percentage}%",
+ "max-length": 10,
+ "tooltip": true,
+ "tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
+ },
+
diff --git a/dotfiles/config/waybar/modules/mpris.jsonc b/dotfiles/config/waybar/modules/mpris.jsonc
new file mode 100644
index 0000000..1b15569
--- /dev/null
+++ b/dotfiles/config/waybar/modules/mpris.jsonc
@@ -0,0 +1,16 @@
+ "mpris": {
+ "format": "{player_icon} {dynamic}",
+ "rotate": ${r_deg},
+ "format-paused": "{status_icon} {dynamic}",
+ "player-icons": {
+ "default": "▶",
+ "mpv": "🎵"
+ },
+ "status-icons": {
+ "paused": "⏸"
+ },
+ // "ignored-players": ["firefox"]
+ "max-length": 1000,
+ "interval": 1
+ },
+
diff --git a/dotfiles/config/waybar/modules/network.jsonc b/dotfiles/config/waybar/modules/network.jsonc
new file mode 100644
index 0000000..1c5231d
--- /dev/null
+++ b/dotfiles/config/waybar/modules/network.jsonc
@@ -0,0 +1,13 @@
+ "network": {
+ "tooltip": true,
+ "format-wifi": " ",
+ "rotate": ${r_deg},
+ "format-ethernet": " ",
+ "tooltip-format": "Network: {essid}\nSignal strength: {signaldBm}dBm ({signalStrength}%)\nFrequency: {frequency}MHz\nInterface: {ifname}\nIP: {ipaddr}/{cidr}\nGateway: {gwaddr}\nNetmask: {netmask}",
+ "format-linked": " {ifname} (No IP)",
+ "format-disconnected": " ",
+ "tooltip-format-disconnected": "Disconnected",
+ "format-alt": " {bandwidthDownBytes} {bandwidthUpBytes}",
+ "interval": 2,
+ },
+
diff --git a/dotfiles/config/waybar/modules/power.jsonc b/dotfiles/config/waybar/modules/power.jsonc
new file mode 100644
index 0000000..7a4069e
--- /dev/null
+++ b/dotfiles/config/waybar/modules/power.jsonc
@@ -0,0 +1,10 @@
+ "custom/power": {
+ "format": "{}",
+ "rotate": ${r_deg},
+ "exec": "echo ; echo logout",
+ "on-click": "${ScrDir}/logoutlaunch.sh 2",
+ "on-click-right": "${ScrDir}/logoutlaunch.sh 1",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
diff --git a/dotfiles/config/waybar/modules/pulseaudio.jsonc b/dotfiles/config/waybar/modules/pulseaudio.jsonc
new file mode 100644
index 0000000..020dfb1
--- /dev/null
+++ b/dotfiles/config/waybar/modules/pulseaudio.jsonc
@@ -0,0 +1,34 @@
+ "pulseaudio": {
+ "format": "{icon} {volume}",
+ "rotate": ${r_deg},
+ "format-muted": "婢",
+ "on-click": "pavucontrol -t 3",
+ "on-click-middle": "${ScrDir}/volumecontrol.sh -o m",
+ "on-scroll-up": "${ScrDir}/volumecontrol.sh -o i",
+ "on-scroll-down": "${ScrDir}/volumecontrol.sh -o d",
+ "tooltip-format": "{icon} {desc} // {volume}%",
+ "scroll-step": 5,
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ }
+ },
+
+ "pulseaudio#microphone": {
+ "format": "{format_source}",
+ "rotate": ${r_deg},
+ "format-source": "",
+ "format-source-muted": "",
+ "on-click": "pavucontrol -t 4",
+ "on-click-middle": "${ScrDir}/volumecontrol.sh -i m",
+ "on-scroll-up": "${ScrDir}/volumecontrol.sh -i i",
+ "on-scroll-down": "${ScrDir}/volumecontrol.sh -i d",
+ "tooltip-format": "{format_source} {source_desc} // {source_volume}%",
+ "scroll-step": 5
+ },
+
diff --git a/dotfiles/config/waybar/modules/spotify.jsonc b/dotfiles/config/waybar/modules/spotify.jsonc
new file mode 100644
index 0000000..327d185
--- /dev/null
+++ b/dotfiles/config/waybar/modules/spotify.jsonc
@@ -0,0 +1,15 @@
+ "custom/spotify": {
+ "exec": "/usr/bin/env python3 $HOME/.config/waybar/modules/mediaplayer.py --player spotify",
+ "format": " {}",
+ "rotate": ${r_deg},
+ "return-type": "json",
+ "on-click": "playerctl play-pause --player spotify",
+ "on-click-right": "playerctl next --player spotify",
+ "on-click-middle": "playerctl previous --player spotify",
+ "on-scroll-up": "${ScrDir}/volumecontrol.sh -p spotify i",
+ "on-scroll-down": "${ScrDir}/volumecontrol.sh -p spotify d",
+ "max-length": 25,
+ "escape": true,
+ "tooltip": true
+ },
+
diff --git a/dotfiles/config/waybar/modules/style.css b/dotfiles/config/waybar/modules/style.css
new file mode 100644
index 0000000..c64be4c
--- /dev/null
+++ b/dotfiles/config/waybar/modules/style.css
@@ -0,0 +1,143 @@
+* {
+ border: none;
+ border-radius: 0px;
+ font-family: "JetBrainsMono Nerd Font";
+ font-weight: bold;
+ font-size: ${s_fontpx}px;
+ min-height: 10px;
+}
+
+@import "themes/theme.css";
+
+window#waybar {
+ background: @bar-bg;
+}
+
+tooltip {
+ background: @main-bg;
+ color: @main-fg;
+ border-radius: ${t_radius}px;
+ border-width: 0px;
+}
+
+#workspaces button {
+ box-shadow: none;
+ text-shadow: none;
+ padding: 0px;
+ border-radius: ${w_radius}px;
+ margin-${x1}: ${w_margin}px;
+ margin-${x2}: ${w_margin}px;
+ margin-${x3}: 0px;
+ padding-${x3}: ${w_paddin}px;
+ padding-${x4}: ${w_paddin}px;
+ margin-${x4}: 0px;
+ color: @main-fg;
+ animation: ws_normal 20s ease-in-out 1;
+}
+
+#workspaces button.active {
+ background: @wb-act-bg;
+ color: @wb-act-fg;
+ margin-${x3}: ${w_margin}px;
+ padding-${x3}: ${w_padact}px;
+ padding-${x4}: ${w_padact}px;
+ margin-${x4}: ${w_margin}px;
+ animation: ws_active 20s ease-in-out 1;
+ transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
+}
+
+#workspaces button:hover {
+ background: @wb-hvr-bg;
+ color: @wb-hvr-fg;
+ animation: ws_hover 20s ease-in-out 1;
+ transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
+}
+
+#taskbar button {
+ box-shadow: none;
+ text-shadow: none;
+ padding: 0px;
+ border-radius: ${w_radius}px;
+ margin-${x1}: ${w_margin}px;
+ margin-${x2}: ${w_margin}px;
+ margin-${x3}: 0px;
+ padding-${x3}: ${w_paddin}px;
+ padding-${x4}: ${w_paddin}px;
+ margin-${x4}: 0px;
+ color: @wb-color;
+ animation: tb_normal 20s ease-in-out 1;
+}
+
+#taskbar button.active {
+ background: @wb-act-bg;
+ color: @wb-act-color;
+ margin-${x3}: ${w_margin}px;
+ padding-${x3}: ${w_padact}px;
+ padding-${x4}: ${w_padact}px;
+ margin-${x4}: ${w_margin}px;
+ animation: tb_active 20s ease-in-out 1;
+ transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
+}
+
+#taskbar button:hover {
+ background: @wb-hvr-bg;
+ color: @wb-hvr-color;
+ animation: tb_hover 20s ease-in-out 1;
+ transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
+}
+
+${modules_ls}
+#custom-l_end,
+#custom-r_end,
+#custom-sl_end,
+#custom-sr_end,
+#custom-rl_end,
+#custom-rr_end {
+ color: @main-fg;
+ background: @main-bg;
+ opacity: 1;
+ margin: ${x1g_margin}px ${x2g_margin}px ${x3g_margin}px ${x4g_margin}px;
+ padding-${x3}: ${g_paddin}px;
+ padding-${x4}: ${g_paddin}px;
+}
+
+#workspaces,
+#taskbar {
+ padding: 0px;
+}
+
+#custom-r_end {
+ border-radius: ${x1rb_radius}px ${x2rb_radius}px ${x3rb_radius}px ${x4rb_radius}px;
+ margin-${x4}: ${e_margin}px;
+ padding-${x4}: ${e_paddin}px;
+}
+
+#custom-l_end {
+ border-radius: ${x1lb_radius}px ${x2lb_radius}px ${x3lb_radius}px ${x4lb_radius}px;
+ margin-${x3}: ${e_margin}px;
+ padding-${x3}: ${e_paddin}px;
+}
+
+#custom-sr_end {
+ border-radius: 0px;
+ margin-${x4}: ${e_margin}px;
+ padding-${x4}: ${e_paddin}px;
+}
+
+#custom-sl_end {
+ border-radius: 0px;
+ margin-${x3}: ${e_margin}px;
+ padding-${x3}: ${e_paddin}px;
+}
+
+#custom-rr_end {
+ border-radius: ${x1rc_radius}px ${x2rc_radius}px ${x3rc_radius}px ${x4rc_radius}px;
+ margin-${x4}: ${e_margin}px;
+ padding-${x4}: ${e_paddin}px;
+}
+
+#custom-rl_end {
+ border-radius: ${x1lc_radius}px ${x2lc_radius}px ${x3lc_radius}px ${x4lc_radius}px;
+ margin-${x3}: ${e_margin}px;
+ padding-${x3}: ${e_paddin}px;
+}
diff --git a/dotfiles/config/waybar/modules/taskbar.jsonc b/dotfiles/config/waybar/modules/taskbar.jsonc
new file mode 100644
index 0000000..e40dcce
--- /dev/null
+++ b/dotfiles/config/waybar/modules/taskbar.jsonc
@@ -0,0 +1,17 @@
+ "wlr/taskbar": {
+ "format": "{icon}",
+ "rotate": ${r_deg},
+ "icon-size": ${i_task},
+ "icon-theme": "${i_theme}",
+ "spacing": 0,
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "on-click-middle": "close",
+ "ignore-list": [
+ "Alacritty"
+ ],
+ "app_ids-mapping": {
+ "firefoxdeveloperedition": "firefox-developer-edition"
+ }
+ },
+
diff --git a/dotfiles/config/waybar/modules/theme.jsonc b/dotfiles/config/waybar/modules/theme.jsonc
new file mode 100644
index 0000000..8d431f5
--- /dev/null
+++ b/dotfiles/config/waybar/modules/theme.jsonc
@@ -0,0 +1,11 @@
+ "custom/theme": {
+ "format": "{}",
+ "rotate": ${r_deg},
+ "exec": "echo ; echo switch theme",
+ "on-click": "${ScrDir}/themeswitch.sh -n",
+ "on-click-right": "${ScrDir}/themeswitch.sh -p",
+ "on-click-middle": "sleep 0.1 && ${ScrDir}/themeselect.sh",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
diff --git a/dotfiles/config/waybar/modules/tray.jsonc b/dotfiles/config/waybar/modules/tray.jsonc
new file mode 100644
index 0000000..d7c0bce
--- /dev/null
+++ b/dotfiles/config/waybar/modules/tray.jsonc
@@ -0,0 +1,6 @@
+ "tray": {
+ "icon-size": ${i_size},
+ "rotate": ${r_deg},
+ "spacing": 5
+ },
+
diff --git a/dotfiles/config/waybar/modules/updates.jsonc b/dotfiles/config/waybar/modules/updates.jsonc
new file mode 100644
index 0000000..3a10c59
--- /dev/null
+++ b/dotfiles/config/waybar/modules/updates.jsonc
@@ -0,0 +1,10 @@
+ "custom/updates": {
+ "exec": "${ScrDir}/systemupdate.sh",
+ "return-type": "json",
+ "format": " {}",
+ "rotate": ${r_deg},
+ "on-click": "${ScrDir}/systemupdate.sh up",
+ "interval": 86400, // once every day
+ "tooltip": true,
+ },
+
diff --git a/dotfiles/config/waybar/modules/wallchange.jsonc b/dotfiles/config/waybar/modules/wallchange.jsonc
new file mode 100644
index 0000000..dbbda7d
--- /dev/null
+++ b/dotfiles/config/waybar/modules/wallchange.jsonc
@@ -0,0 +1,11 @@
+ "custom/wallchange": {
+ "format": "{}",
+ "rotate": ${r_deg},
+ "exec": "echo ; echo switch wallpaper",
+ "on-click": "${ScrDir}/swwwallpaper.sh -n",
+ "on-click-right": "${ScrDir}/swwwallpaper.sh -p",
+ "on-click-middle": "sleep 0.1 && ${ScrDir}/swwwallselect.sh",
+ "interval" : 86400, // once every day
+ "tooltip": true
+ },
+
diff --git a/dotfiles/config/waybar/modules/wbar.jsonc b/dotfiles/config/waybar/modules/wbar.jsonc
new file mode 100644
index 0000000..1a40e22
--- /dev/null
+++ b/dotfiles/config/waybar/modules/wbar.jsonc
@@ -0,0 +1,11 @@
+ "custom/wbar": {
+ "format": "{}", // //
+ "rotate": ${r_deg},
+ "exec": "echo ; echo switch bar // dock",
+ "on-click": "${ScrDir}/wbarconfgen.sh n",
+ "on-click-right": "${ScrDir}/wbarconfgen.sh p",
+ "on-click-middle": "sleep 0.1 && ${ScrDir}/quickapps.sh kitty firefox spotify code dolphin",
+ "interval" : 86400,
+ "tooltip": true
+ },
+
diff --git a/dotfiles/config/waybar/modules/window.jsonc b/dotfiles/config/waybar/modules/window.jsonc
new file mode 100644
index 0000000..b0c4c7a
--- /dev/null
+++ b/dotfiles/config/waybar/modules/window.jsonc
@@ -0,0 +1,17 @@
+ "hyprland/window": {
+ "format": " {}",
+ "rotate": ${r_deg},
+ "separate-outputs": true,
+ "rewrite": {
+ "${USER}@${set_sysname}:(.*)": "$1 ",
+ "(.*) — Mozilla Firefox": "$1 ",
+ "(.*)Mozilla Firefox": "Firefox ",
+ "(.*) - Visual Studio Code": "$1 ",
+ "(.*)Visual Studio Code": "Code ",
+ "(.*) — Dolphin": "$1 ",
+ "(.*)Spotify": "Spotify ",
+ "(.*)Steam": "Steam "
+ },
+ "max-length": 1000
+ },
+
diff --git a/dotfiles/config/waybar/modules/workspaces.jsonc b/dotfiles/config/waybar/modules/workspaces.jsonc
new file mode 100644
index 0000000..8468d32
--- /dev/null
+++ b/dotfiles/config/waybar/modules/workspaces.jsonc
@@ -0,0 +1,10 @@
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "rotate": ${r_deg},
+ "all-outputs": true,
+ "active-only": false,
+ "on-click": "activate",
+ "persistent-workspaces": {
+ }
+ },
+
diff --git a/dotfiles/config/waybar/scripts/PBPbattery.sh b/dotfiles/config/waybar/scripts/PBPbattery.sh
deleted file mode 100755
index 1cf34da..0000000
--- a/dotfiles/config/waybar/scripts/PBPbattery.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#!/bin/bash
-#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro
-#05012020 geri123@gmx.net Gerhard S.
-
-PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
-STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
-case $((
- $PERCENT >= 0 && $PERCENT <= 20 ? 1 :
- $PERCENT > 20 && $PERCENT <= 40 ? 2 :
- $PERCENT > 40 && $PERCENT <= 60 ? 3 :
- $PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
-#
- (1) echo $STATUS:"":$PERCENT%;;
- (2) echo $STATUS:"":$PERCENT%;;
- (3) echo $STATUS:"":$PERCENT%;;
- (4) echo $STATUS:"":$PERCENT%;;
- (5) echo $STATUS:"":$PERCENT%;;
-esac
-
-
diff --git a/dotfiles/config/waybar/scripts/baraction b/dotfiles/config/waybar/scripts/baraction
deleted file mode 100755
index f2578eb..0000000
--- a/dotfiles/config/waybar/scripts/baraction
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-# Check which waybar theme is set
-THEMEIS=$(readlink -f ~/.config/waybar/style.css | cut -d '-' -f2)
-
-#if the theme is not dark then we need to switch to it
-if [ $THEMEIS != "dark.css" ]; then
- SWITCHTO="-dark"
-fi
-
-#set the waybar theme
-ln -sf ~/.config/waybar/style/style$SWITCHTO.css ~/.config/waybar/style.css
-
-#set the wofi theme
-ln -sf ~/.config/wofi/style/style$SWITCHTO.css ~/.config/wofi/style.css
-
-#set the xfce and GTK theme
-# if [ $VER == "v4" ]; then
-# xfconf-query -c xsettings -p /Net/IconThemeName -s "Papirus-Dark"
-# gsettings set org.gnome.desktop.interface icon-theme "Papirus-Dark"
-# else
-# xfconf-query -c xsettings -p /Net/IconThemeName -s "Adwaita$SWITCHTO"
-# gsettings set org.gnome.desktop.interface icon-theme "Adwaita$SWITCHTO"
-# fi
-
-#change the background image and be cool about it ;)
-swww img ~/.config/hypr/wallpaper$SWITCHTO.jpg --transition-fps 60 --transition-type wipe --transition-duration 2
-
-#reset mako
-sleep 1
-killall -SIGUSR2 dunst
-dunst &
-
-#restart the waybar
-#killall -SIGUSR2 waybar <-- start causing web brwsers to close so switched to below...
-pkill waybar
-waybar &
-
-# bottom waybar
-#waybar --config ~/.config/waybar/config-bottom.jsonc
diff --git a/dotfiles/config/waybar/scripts/brightness b/dotfiles/config/waybar/scripts/brightness
deleted file mode 100755
index a57ca9e..0000000
--- a/dotfiles/config/waybar/scripts/brightness
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-iDIR="$HOME/.config/waybar/icons"
-
-# Get brightness
-get_backlight() {
- LIGHT=$(printf "%.0f\n" $(brightnessctl i))
- echo "${LIGHT}%"
-}
-
-# Get icons
-get_icon() {
- backlight="$(brightnessctl g)"
- current="${backlight%%%}"
- if [[ ("$current" -ge "0") && ("$current" -le "52") ]]; then
- icon="$iDIR/brightness-20.png"
- elif [[ ("$current" -ge "52") && ("$current" -le "103") ]]; then
- icon="$iDIR/brightness-40.png"
- elif [[ ("$current" -ge "103") && ("$current" -le "155") ]]; then
- icon="$iDIR/brightness-60.png"
- elif [[ ("$current" -ge "155") && ("$current" -le "207") ]]; then
- icon="$iDIR/brightness-80.png"
- elif [[ ("$current" -ge "180") && ("$current" -le "255") ]]; then
- icon="$iDIR/brightness-100.png"
- fi
-}
-
-# Notify
-notify_user() {
- notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$icon" "Brightness : $(brightnessctl g)"
-}
-
-# Increase brightness
-inc_backlight() {
- brightnessctl set 10%+ && get_icon && notify_user
-}
-
-# Decrease brightness
-dec_backlight() {
- brightnessctl set 10%- && get_icon && notify_user
-}
-
-# Execute accordingly
-if [[ "$1" == "--get" ]]; then
- brightnessctl g
-elif [[ "$1" == "--inc" ]]; then
- inc_backlight
-elif [[ "$1" == "--dec" ]]; then
- dec_backlight
-else
- get_backlight
-fi
diff --git a/dotfiles/config/waybar/scripts/keyhint.sh b/dotfiles/config/waybar/scripts/keyhint.sh
deleted file mode 100755
index 01f3396..0000000
--- a/dotfiles/config/waybar/scripts/keyhint.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list"
diff --git a/dotfiles/config/waybar/scripts/power-menu.sh b/dotfiles/config/waybar/scripts/power-menu.sh
deleted file mode 100755
index edaa5d6..0000000
--- a/dotfiles/config/waybar/scripts/power-menu.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-entries="Logout Suspend Reboot Shutdown"
-
-selected=$(printf '%s\n' $entries | wofi --conf=$HOME/.config/wofi/config.power --style=$HOME/.config/wofi/style.widgets.css | awk '{print tolower($1)}')
-
-case $selected in
- logout)
- swaymsg exit;;
- suspend)
- exec systemctl suspend;;
- reboot)
- exec systemctl reboot;;
- shutdown)
- exec systemctl poweroff -i;;
-esac
diff --git a/dotfiles/config/waybar/scripts/update-sys b/dotfiles/config/waybar/scripts/update-sys
deleted file mode 100755
index 4f85aad..0000000
--- a/dotfiles/config/waybar/scripts/update-sys
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-
-# Original script by @speltriao on GitHub
-# https://github.com/speltriao/Pacman-Update-for-GNOME-Shell
-
-# If the operating system is not Arch Linux, exit the script successfully
-if [ ! -f /etc/arch-release ]; then
- exit 0
-fi
-
-# Calculate updates for each service
-AUR=$(yay -Qua | wc -l)
-OFFICIAL=$(pacman -Qu | wc -l)
-
-# Case/switch for each service updates
-case $1 in
- aur) echo " $AUR";;
- official) echo " $OFFICIAL";;
-esac
-
-# If the parameter is "update", update all services
-if [ "$1" = "update" ]; then
- kitty --title update-sys sh -c 'yay -Syu'
-fi
-
-# If there aren't any parameters, return the total number of updates
-if [ "$1" = "" ]; then
- # Calculate total number of updates
- COUNT=$((OFFICIAL+AUR))
- # If there are updates, the script will output the following: Updates
- # If there are no updates, the script will output nothing.
-
- if [[ "$COUNT" = "0" ]]
- then
- echo ""
- else
- # This Update symbol is RTL. So is left-to-right override.
- echo " $COUNT"
- fi
- exit 0
-fi
diff --git a/dotfiles/config/waybar/scripts/volume b/dotfiles/config/waybar/scripts/volume
deleted file mode 100755
index 9463f5e..0000000
--- a/dotfiles/config/waybar/scripts/volume
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/bin/bash
-
-iDIR="$HOME/.config/waybar/icons"
-
-# Get Volume
-get_volume() {
- volume=$(pamixer --get-volume)
- echo "$volume"
-}
-
-# Get icons
-get_icon() {
- current=$(get_volume)
- if [[ "$current" -eq "0" ]]; then
- echo "$iDIR/volume-mute.png"
- elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
- echo "$iDIR/volume-low.png"
- elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
- echo "$iDIR/volume-mid.png"
- elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
- echo "$iDIR/volume-high.png"
- fi
-}
-
-# Notify
-notify_user() {
- notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume : $(get_volume) %"
-}
-
-# Increase Volume
-inc_volume() {
- pamixer -i 5 && notify_user
-}
-
-# Decrease Volume
-dec_volume() {
- pamixer -d 5 && notify_user
-}
-
-# Toggle Mute
-toggle_mute() {
- if [ "$(pamixer --get-mute)" == "false" ]; then
- pamixer -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
- elif [ "$(pamixer --get-mute)" == "true" ]; then
- pamixer -u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_icon)" "Volume Switched ON"
- fi
-}
-
-# Toggle Mic
-toggle_mic() {
- if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
- pamixer --default-source -m && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
- elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
- pamixer -u --default-source u && notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
- fi
-}
-# Get icons
-get_mic_icon() {
- current=$(pamixer --default-source --get-volume)
- if [[ "$current" -eq "0" ]]; then
- echo "$iDIR/microphone.png"
- elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
- echo "$iDIR/microphone.png"
- elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
- echo "$iDIR/microphone.png"
- elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
- echo "$iDIR/microphone.png"
- fi
-}
-# Notify
-notify_mic_user() {
- notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i "$(get_mic_icon)" "Mic-Level : $(pamixer --default-source --get-volume) %"
-}
-
-# Increase MIC Volume
-inc_mic_volume() {
- pamixer --default-source -i 5 && notify_mic_user
-}
-
-# Decrease MIC Volume
-dec_mic_volume() {
- pamixer --default-source -d 5 && notify_mic_user
-}
-
-# Execute accordingly
-if [[ "$1" == "--get" ]]; then
- get_volume
-elif [[ "$1" == "--inc" ]]; then
- inc_volume
-elif [[ "$1" == "--dec" ]]; then
- dec_volume
-elif [[ "$1" == "--toggle" ]]; then
- toggle_mute
-elif [[ "$1" == "--toggle-mic" ]]; then
- toggle_mic
-elif [[ "$1" == "--get-icon" ]]; then
- get_icon
-elif [[ "$1" == "--get-mic-icon" ]]; then
- get_mic_icon
-elif [[ "$1" == "--mic-inc" ]]; then
- inc_mic_volume
-elif [[ "$1" == "--mic-dec" ]]; then
- dec_mic_volume
-else
- get_volume
-fi
diff --git a/dotfiles/config/waybar/scripts/waybar-wttr.py b/dotfiles/config/waybar/scripts/waybar-wttr.py
deleted file mode 100755
index 87918a7..0000000
--- a/dotfiles/config/waybar/scripts/waybar-wttr.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env python
-
-import json
-import requests
-from datetime import datetime
-
-WEATHER_CODES = {
- '113': '☀️ ',
- '116': '⛅ ',
- '119': '☁️ ',
- '122': '☁️ ',
- '143': '☁️ ',
- '176': '🌧️',
- '179': '🌧️',
- '182': '🌧️',
- '185': '🌧️',
- '200': '⛈️ ',
- '227': '🌨️',
- '230': '🌨️',
- '248': '☁️ ',
- '260': '☁️ ',
- '263': '🌧️',
- '266': '🌧️',
- '281': '🌧️',
- '284': '🌧️',
- '293': '🌧️',
- '296': '🌧️',
- '299': '🌧️',
- '302': '🌧️',
- '305': '🌧️',
- '308': '🌧️',
- '311': '🌧️',
- '314': '🌧️',
- '317': '🌧️',
- '320': '🌨️',
- '323': '🌨️',
- '326': '🌨️',
- '329': '❄️ ',
- '332': '❄️ ',
- '335': '❄️ ',
- '338': '❄️ ',
- '350': '🌧️',
- '353': '🌧️',
- '356': '🌧️',
- '359': '🌧️',
- '362': '🌧️',
- '365': '🌧️',
- '368': '🌧️',
- '371': '❄️',
- '374': '🌨️',
- '377': '🌨️',
- '386': '🌨️',
- '389': '🌨️',
- '392': '🌧️',
- '395': '❄️ '
-}
-
-data = {}
-
-
-weather = requests.get("https://wttr.in/?format=j1").json()
-
-
-def format_time(time):
- return time.replace("00", "").zfill(2)
-
-
-def format_temp(temp):
- return (hour['FeelsLikeC']+"°").ljust(3)
-
-
-def format_chances(hour):
- chances = {
- "chanceoffog": "Fog",
- "chanceoffrost": "Frost",
- "chanceofovercast": "Overcast",
- "chanceofrain": "Rain",
- "chanceofsnow": "Snow",
- "chanceofsunshine": "Sunshine",
- "chanceofthunder": "Thunder",
- "chanceofwindy": "Wind"
- }
-
- conditions = []
- for event in chances.keys():
- if int(hour[event]) > 0:
- conditions.append(chances[event]+" "+hour[event]+"%")
- return ", ".join(conditions)
-
-tempint = int(weather['current_condition'][0]['FeelsLikeC'])
-extrachar = ''
-if tempint > 0 and tempint < 10:
- extrachar = '+'
-
-
-data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \
- " "+extrachar+weather['current_condition'][0]['FeelsLikeC']+"°"
-
-data['tooltip'] = f"{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°\n"
-data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n"
-data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n"
-data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
-for i, day in enumerate(weather['weather']):
- data['tooltip'] += f"\n"
- if i == 0:
- data['tooltip'] += "Today, "
- if i == 1:
- data['tooltip'] += "Tomorrow, "
- data['tooltip'] += f"{day['date']}\n"
- data['tooltip'] += f"⬆️ {day['maxtempC']}° ⬇️ {day['mintempC']}° "
- data['tooltip'] += f"🌅 {day['astronomy'][0]['sunrise']} 🌇 {day['astronomy'][0]['sunset']}\n"
- for hour in day['hourly']:
- if i == 0:
- if int(format_time(hour['time'])) < datetime.now().hour-2:
- continue
- data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n"
-
-
-print(json.dumps(data))
diff --git a/dotfiles/config/waybar/scripts/weather.sh b/dotfiles/config/waybar/scripts/weather.sh
deleted file mode 100755
index b03cd1c..0000000
--- a/dotfiles/config/waybar/scripts/weather.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-LOC="$1"
-# HTML encode string as %20
-LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC")
-content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION°=C")
-ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' )
-# echo $ICON
-TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g')
-TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g')
-CLASS=$(echo $content | jq .skytext)
-echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }'
-
diff --git a/dotfiles/config/waybar/style.css b/dotfiles/config/waybar/style.css
index 36ffd02..39f3343 100644
--- a/dotfiles/config/waybar/style.css
+++ b/dotfiles/config/waybar/style.css
@@ -1,109 +1,167 @@
* {
border: none;
- border-radius: 0;
+ border-radius: 0px;
font-family: "JetBrainsMono Nerd Font";
font-weight: bold;
- font-size: 16px;
- min-height: 0;
+ font-size: 10px;
+ min-height: 10px;
}
+@import "themes/theme.css";
+
window#waybar {
- background: rgba(21, 18, 27, 0);
- color: #f6f7fc;
+ background: @bar-bg;
}
tooltip {
- background: #e7e7ec;
- opacity: 0.8;
- border-radius: 10px;
- border-width: 2px;
- border-style: solid;
- border-color: #11111b;
-}
-
-tooltip label{
- color: #2b2b2c;
+ background: @main-bg;
+ color: @main-fg;
+ border-radius: 7px;
+ border-width: 0px;
}
#workspaces button {
- padding: 5px;
- color: #f6f7fc;
- margin-right: 5px;
+ box-shadow: none;
+ text-shadow: none;
+ padding: 0px;
+ border-radius: 9px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 0px;
+ padding-left: 3px;
+ padding-right: 3px;
+ margin-right: 0px;
+ color: @main-fg;
+ animation: ws_normal 20s ease-in-out 1;
}
#workspaces button.active {
- color: #000000;
- background: #a6e3a1;
- border-radius: 10px;
+ background: @wb-act-bg;
+ color: @wb-act-fg;
+ margin-left: 3px;
+ padding-left: 12px;
+ padding-right: 12px;
+ margin-right: 3px;
+ animation: ws_active 20s ease-in-out 1;
+ transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
}
#workspaces button:hover {
- background: #11111b;
- color: #cdd6f4;
- border-radius: 10px;
+ background: @wb-hvr-bg;
+ color: @wb-hvr-fg;
+ animation: ws_hover 20s ease-in-out 1;
+ transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
}
-#custom-launch_wofi,
-#custom-launch_firefox,
-#custom-launch_thunderbird,
-#custom-launch_thunar,
-#custom-launch_kitty,
-#custom-lock_screen,
-#custom-light_dark,
-#custom-power_btn,
-#custom-power_profile,
-#custom-weather,
-#custom-myhyprv,
-#window,
-#cpu,
-#disk,
-#custom-updates,
-#memory,
-#clock,
-#battery,
-#pulseaudio,
-#network,
-#tray,
-#temperature,
-#workspaces,
-#idle_inhibitor,
-#backlight {
- background: rgba(21, 18, 27, 0);
- opacity: 0.8;
- padding: 0px 8px;
- margin: 0px 3px;
- border: 0px;
-}
-
-#temperature.critical {
- color: #e92d4d;
-}
-
-
-#workspaces {
- padding-right: 0px;
- padding-left: 5px;
-}
-
-#window {
- border-radius: 10px;
- margin-left: 20px;
- margin-right: 20px;
-}
-
-#custom-launch_firefox,
-#custom-launch_thunderbird,
-#custom-launch_thunar,
-#custom-launch_wofi,
-#custom-launch_kitty,
-#custom-weather {
+#taskbar button {
+ box-shadow: none;
+ text-shadow: none;
+ padding: 0px;
+ border-radius: 9px;
+ margin-top: 3px;
+ margin-bottom: 3px;
margin-left: 0px;
- border-right: 0px;
- font-size: 24px;
- margin-right: 20px;
+ padding-left: 3px;
+ padding-right: 3px;
+ margin-right: 0px;
+ color: @wb-color;
+ animation: tb_normal 20s ease-in-out 1;
}
-#custom-launch_firefox,
-#custom-launch_kitty {
- font-size: 20px;
-}
\ No newline at end of file
+#taskbar button.active {
+ background: @wb-act-bg;
+ color: @wb-act-color;
+ margin-left: 3px;
+ padding-left: 12px;
+ padding-right: 12px;
+ margin-right: 3px;
+ animation: tb_active 20s ease-in-out 1;
+ transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
+}
+
+#taskbar button:hover {
+ background: @wb-hvr-bg;
+ color: @wb-hvr-color;
+ animation: tb_hover 20s ease-in-out 1;
+ transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
+}
+
+#backlight,
+#battery,
+#bluetooth,
+#custom-cliphist,
+#clock,
+#custom-cpuinfo,
+#cpu,
+#custom-gpuinfo,
+#idle_inhibitor,
+#custom-keybindhint,
+#language,
+#memory,
+#mpris,
+#network,
+#custom-power,
+#pulseaudio,
+#custom-spotify,
+#taskbar,
+#custom-theme,
+#tray,
+#custom-updates,
+#custom-wallchange,
+#custom-wbar,
+#window,
+#workspaces,
+#custom-l_end,
+#custom-r_end,
+#custom-sl_end,
+#custom-sr_end,
+#custom-rl_end,
+#custom-rr_end {
+ color: @main-fg;
+ background: @main-bg;
+ opacity: 1;
+ margin: 4px 0px 4px 0px;
+ padding-left: 4px;
+ padding-right: 4px;
+}
+
+#workspaces,
+#taskbar {
+ padding: 0px;
+}
+
+#custom-r_end {
+ border-radius: 0px 21px 21px 0px;
+ margin-right: 9px;
+ padding-right: 3px;
+}
+
+#custom-l_end {
+ border-radius: 21px 0px 0px 21px;
+ margin-left: 9px;
+ padding-left: 3px;
+}
+
+#custom-sr_end {
+ border-radius: 0px;
+ margin-right: 9px;
+ padding-right: 3px;
+}
+
+#custom-sl_end {
+ border-radius: 0px;
+ margin-left: 9px;
+ padding-left: 3px;
+}
+
+#custom-rr_end {
+ border-radius: 0px 7px 7px 0px;
+ margin-right: 9px;
+ padding-right: 3px;
+}
+
+#custom-rl_end {
+ border-radius: 7px 0px 0px 7px;
+ margin-left: 9px;
+ padding-left: 3px;
+}
diff --git a/dotfiles/config/waybar/style/style-dark.css b/dotfiles/config/waybar/style/style-dark.css
deleted file mode 100644
index b1c571a..0000000
--- a/dotfiles/config/waybar/style/style-dark.css
+++ /dev/null
@@ -1,108 +0,0 @@
-* {
- border: none;
- border-radius: 0;
- font-family: "JetBrainsMono Nerd Font";
- font-weight: bold;
- font-size: 16px;
- min-height: 0;
-}
-
-window#waybar {
- background: rgba(21, 18, 27, 0);
- color: #f6f7fc;
-}
-
-tooltip {
- background: #1e1e2e;
- opacity: 0.8;
- border-radius: 10px;
- border-width: 2px;
- border-style: solid;
- border-color: #11111b;
-}
-
-tooltip label{
- color: #cdd6f4;
-}
-
-#workspaces button {
- padding: 5px;
- color: #f6f7fc;
- margin-right: 5px;
-}
-
-#workspaces button.active {
- color: #000000;
- background: #a6e3a1;
- border-radius: 10px;
-}
-
-#workspaces button:hover {
- background: #11111b;
- color: #cdd6f4;
- border-radius: 10px;
-}
-
-#custom-launch_wofi,
-#custom-launch_firefox,
-#custom-launch_thunderbird,
-#custom-launch_thunar,
-#custom-launch_kitty,
-#custom-lock_screen,
-#custom-light_dark,
-#custom-power_btn,
-#custom-power_profile,
-#custom-weather,
-#custom-myhyprv,
-#window,
-#cpu,
-#disk,
-#custom-updates,
-#memory,
-#clock,
-#battery,
-#pulseaudio,
-#network,
-#tray,
-#temperature,
-#workspaces,
-#idle_inhibitor,
-#backlight {
- background: rgba(21, 18, 27, 0);
- opacity: 1;
- padding: 0px 8px;
- margin: 0px 3px;
- border: 0px;
-}
-
-#temperature.critical {
- color: #e92d4d;
-}
-
-#workspaces {
- padding-right: 0px;
- padding-left: 5px;
-}
-
-#window {
- border-radius: 10px;
- margin-left: 0px;
- margin-right: 0px;
-}
-
-#custom-launch_firefox,
-#custom-launch_thunderbird,
-#custom-launch_thunar,
-#custom-launch_wofi,
-#custom-launch_kitty,
-#custom-weather {
- margin-left: 0px;
- border-right: 0px;
- font-size: 24px;
- margin-right: 20px;
-}
-
-#custom-launch_firefox,
-#custom-launch_kitty {
- font-size: 20px;
-}
diff --git a/dotfiles/config/waybar/style/style.css b/dotfiles/config/waybar/style/style.css
deleted file mode 100644
index 36ffd02..0000000
--- a/dotfiles/config/waybar/style/style.css
+++ /dev/null
@@ -1,109 +0,0 @@
-* {
- border: none;
- border-radius: 0;
- font-family: "JetBrainsMono Nerd Font";
- font-weight: bold;
- font-size: 16px;
- min-height: 0;
-}
-
-window#waybar {
- background: rgba(21, 18, 27, 0);
- color: #f6f7fc;
-}
-
-tooltip {
- background: #e7e7ec;
- opacity: 0.8;
- border-radius: 10px;
- border-width: 2px;
- border-style: solid;
- border-color: #11111b;
-}
-
-tooltip label{
- color: #2b2b2c;
-}
-
-#workspaces button {
- padding: 5px;
- color: #f6f7fc;
- margin-right: 5px;
-}
-
-#workspaces button.active {
- color: #000000;
- background: #a6e3a1;
- border-radius: 10px;
-}
-
-#workspaces button:hover {
- background: #11111b;
- color: #cdd6f4;
- border-radius: 10px;
-}
-
-#custom-launch_wofi,
-#custom-launch_firefox,
-#custom-launch_thunderbird,
-#custom-launch_thunar,
-#custom-launch_kitty,
-#custom-lock_screen,
-#custom-light_dark,
-#custom-power_btn,
-#custom-power_profile,
-#custom-weather,
-#custom-myhyprv,
-#window,
-#cpu,
-#disk,
-#custom-updates,
-#memory,
-#clock,
-#battery,
-#pulseaudio,
-#network,
-#tray,
-#temperature,
-#workspaces,
-#idle_inhibitor,
-#backlight {
- background: rgba(21, 18, 27, 0);
- opacity: 0.8;
- padding: 0px 8px;
- margin: 0px 3px;
- border: 0px;
-}
-
-#temperature.critical {
- color: #e92d4d;
-}
-
-
-#workspaces {
- padding-right: 0px;
- padding-left: 5px;
-}
-
-#window {
- border-radius: 10px;
- margin-left: 20px;
- margin-right: 20px;
-}
-
-#custom-launch_firefox,
-#custom-launch_thunderbird,
-#custom-launch_thunar,
-#custom-launch_wofi,
-#custom-launch_kitty,
-#custom-weather {
- margin-left: 0px;
- border-right: 0px;
- font-size: 24px;
- margin-right: 20px;
-}
-
-#custom-launch_firefox,
-#custom-launch_kitty {
- font-size: 20px;
-}
\ No newline at end of file
diff --git a/dotfiles/config/waybar/themes/Catppuccin-Latte.css b/dotfiles/config/waybar/themes/Catppuccin-Latte.css
new file mode 100644
index 0000000..2fad852
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Catppuccin-Latte.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #9ca0b0;
+@define-color main-fg #4c4f69;
+
+@define-color wb-act-bg #5c5f77;
+@define-color wb-act-fg #dce0e8;
+
+@define-color wb-hvr-bg #dc8a78;
+@define-color wb-hvr-fg #dce0e8;
diff --git a/dotfiles/config/waybar/themes/Catppuccin-Mocha.css b/dotfiles/config/waybar/themes/Catppuccin-Mocha.css
new file mode 100644
index 0000000..89b79d0
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Catppuccin-Mocha.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #11111b;
+@define-color main-fg #cdd6f4;
+
+@define-color wb-act-bg #a6adc8;
+@define-color wb-act-fg #313244;
+
+@define-color wb-hvr-bg #f5c2e7;
+@define-color wb-hvr-fg #313244;
diff --git a/dotfiles/config/waybar/themes/Cyberpunk-Edge.css b/dotfiles/config/waybar/themes/Cyberpunk-Edge.css
new file mode 100644
index 0000000..4afbfcc
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Cyberpunk-Edge.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 1);
+
+@define-color main-bg #000000;
+@define-color main-fg #FFA6C2;
+
+@define-color wb-act-bg #FFA6C2;
+@define-color wb-act-fg #000000;
+
+@define-color wb-hvr-bg #FADA16;
+@define-color wb-hvr-fg #000000;
diff --git a/dotfiles/config/waybar/themes/Decay-Green.css b/dotfiles/config/waybar/themes/Decay-Green.css
new file mode 100644
index 0000000..6dbca7c
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Decay-Green.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(31, 35, 40, 0.95);
+
+@define-color main-bg #101419;
+@define-color main-fg #93cee9;
+
+@define-color wb-act-bg #93cee9;
+@define-color wb-act-fg #1f2328;
+
+@define-color wb-hvr-bg #93cee9;
+@define-color wb-hvr-fg #1f2328;
diff --git a/dotfiles/config/waybar/themes/Frosted-Glass.css b/dotfiles/config/waybar/themes/Frosted-Glass.css
new file mode 100644
index 0000000..8fda2b7
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Frosted-Glass.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(255, 255, 255, 0);
+
+@define-color main-bg #7ed6ff;
+@define-color main-fg #1E4C84;
+
+@define-color wb-act-bg #A44185;
+@define-color wb-act-fg #e6f1f4;
+
+@define-color wb-hvr-bg #1E4C84;
+@define-color wb-hvr-fg #e6f1f4;
diff --git a/dotfiles/config/waybar/themes/Graphite-Mono.css b/dotfiles/config/waybar/themes/Graphite-Mono.css
new file mode 100644
index 0000000..18f8a4e
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Graphite-Mono.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(38, 38, 38, 1);
+
+@define-color main-bg #262626;
+@define-color main-fg #d9d9d9;
+
+@define-color wb-act-bg #d9d9d9;
+@define-color wb-act-fg #262626;
+
+@define-color wb-hvr-bg #a6a6a6;
+@define-color wb-hvr-fg #262626;
diff --git a/dotfiles/config/waybar/themes/Gruvbox-Retro.css b/dotfiles/config/waybar/themes/Gruvbox-Retro.css
new file mode 100644
index 0000000..6a05b2a
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Gruvbox-Retro.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #475437;
+@define-color main-fg #b5cc97;
+
+@define-color wb-act-bg #668f31;
+@define-color wb-act-fg #c2d89c;
+
+@define-color wb-hvr-bg #c6eb6f;
+@define-color wb-hvr-fg #c0fc47;
\ No newline at end of file
diff --git a/dotfiles/config/waybar/themes/Material-Sakura.css b/dotfiles/config/waybar/themes/Material-Sakura.css
new file mode 100644
index 0000000..0171d23
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Material-Sakura.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #faf4ed;
+@define-color main-fg #907aa9;
+
+@define-color wb-act-bg #b4637a;
+@define-color wb-act-fg #fffaf3;
+
+@define-color wb-hvr-bg #56949f;
+@define-color wb-hvr-fg #fffaf3;
diff --git a/dotfiles/config/waybar/themes/Rose-Pine.css b/dotfiles/config/waybar/themes/Rose-Pine.css
new file mode 100644
index 0000000..79478b8
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Rose-Pine.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #26233a;
+@define-color main-fg #ebbcba;
+
+@define-color wb-act-bg #31748f;
+@define-color wb-act-fg #9ccfd8;
+
+@define-color wb-hvr-bg #eb6f92;
+@define-color wb-hvr-fg #f6c177;
diff --git a/dotfiles/config/waybar/themes/Tokyo-Night.css b/dotfiles/config/waybar/themes/Tokyo-Night.css
new file mode 100644
index 0000000..7f11a02
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Tokyo-Night.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #24283b;
+@define-color main-fg #7aa2f7;
+
+@define-color wb-act-bg #bb9af7;
+@define-color wb-act-fg #b4f9f8;
+
+@define-color wb-hvr-bg #7aa2f7;
+@define-color wb-hvr-fg #cfc9c2;
diff --git a/dotfiles/config/waybar/themes/Wall-Dcol.css b/dotfiles/config/waybar/themes/Wall-Dcol.css
new file mode 100644
index 0000000..1f597ec
--- /dev/null
+++ b/dotfiles/config/waybar/themes/Wall-Dcol.css
@@ -0,0 +1,7 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+@define-color main-bg #1B1B29;
+@define-color main-fg #9F9FD6;
+@define-color wb-act-bg #974C4E;
+@define-color wb-act-fg #00001A;
+@define-color wb-hvr-bg #1F293D;
+@define-color wb-hvr-fg #9FC6D6;
diff --git a/dotfiles/config/waybar/themes/theme.css b/dotfiles/config/waybar/themes/theme.css
new file mode 100644
index 0000000..89b79d0
--- /dev/null
+++ b/dotfiles/config/waybar/themes/theme.css
@@ -0,0 +1,10 @@
+@define-color bar-bg rgba(0, 0, 0, 0);
+
+@define-color main-bg #11111b;
+@define-color main-fg #cdd6f4;
+
+@define-color wb-act-bg #a6adc8;
+@define-color wb-act-fg #313244;
+
+@define-color wb-hvr-bg #f5c2e7;
+@define-color wb-hvr-fg #313244;
diff --git a/dotfiles/zshrc b/dotfiles/zshrc
index 8abefb7..f0ea1a9 100644
--- a/dotfiles/zshrc
+++ b/dotfiles/zshrc
@@ -3,7 +3,8 @@
export PATH="$HOME/bin:/usr/local/bin:$HOME/.cargo/bin:$HOME/.npm/bin:$PATH"
# Path to your oh-my-zsh installation.
-export ZSH="$HOME/.oh-my-zsh"
+#export ZSH="$HOME/.oh-my-zsh"
+ZSH=/usr/share/oh-my-zsh/
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
@@ -74,12 +75,12 @@ ZSH_THEME="zhann"
plugins=(
git
sudo
- F-Sy-H
+ zsh-256color
+ zsh-syntax-highlighting
zsh-autosuggestions
history-substring-search
)
-source $ZSH/oh-my-zsh.sh
# User configuration
@@ -122,11 +123,12 @@ alias noproxy="export all_proxy=''" # cancel proxy mode
alias dotdrop="dotdrop --cfg=~/.dotfiles/config.yaml"
# config file shortcut
+alias ls="eza"
+
alias vim="nvim"
alias vhypr="vim ~/.config/hypr/hyprland.conf" # edit hyprland config
alias vzsh="vim ~/.zshrc" # edit zsh config
alias szsh="source ~/.zshrc" # source the zshrc file
-alias hyprloadreload="curl -sSL https://raw.githubusercontent.com/Duckonaut/hyprload/main/install.sh | bash"
alias aria="aria2c -c -s16 -x16 -k1M"
@@ -143,14 +145,11 @@ alias nucwl="wlfreerdp /u:752549025@qq.com /p:nebkij-xevkec-Zyvha9 /v:43.249.192
alias gup="git pull --rebase"
alias gall="git add . && git commit -a -m 'update' && git push"
-# install software
-alias installpac="sudo pacman -S archlinuxcn-keyring yay paru zsh curl \
-hyprland xdg-desktop-portal-hyprland \
-kitty dunst swaylock-effects udiskie \
-polkit-kde-agent wofi waybar-hyprland-git sddm btop \
-ttf-jetbrains-mono-nerd noto-fonts-emoji wqy-zenhei wqy-microhei wqy-microhei-lite wqy-bitmapfont \
-alsa-utils pulseaudio pamixer pavucontrol blueman network-manager-applet \
-fcitx5 fcitx5-rime fcitx5-chinese-addons fcitx5-material-color fcitx5-configtool \
-obsidian neofetch notion-app-enhanced vscodium-bin "
-alias installyay="yay -S google-chrome dotdrop swww wlogout logseq-desktop-wayland-bin anytype-bin"
+ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh
+if [[ ! -d $ZSH_CACHE_DIR ]]; then
+ mkdir $ZSH_CACHE_DIR
+fi
+source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+#source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+source $ZSH/oh-my-zsh.sh