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