diff --git a/.config/hypr/custom/execs.conf b/.config/hypr/custom/execs.conf index 52bd513..f8abb96 100644 --- a/.config/hypr/custom/execs.conf +++ b/.config/hypr/custom/execs.conf @@ -5,5 +5,8 @@ exec-once = corectrl exec-once = otd-daemon # run driver veikk exec-once = fcitx5 +exec-once = waybar -c ~/.config/waybar/primary_screen/config.jsonc +exec-once = waybar -c ~/.config/waybar/secondary_screen/config.jsonc + exec = gsettings set org.gnome.desktop.interface icon-theme 'Nordzy' exec = hyprctl setcursor Gruvbox-Retro 20 diff --git a/.config/hypr/custom/general.conf b/.config/hypr/custom/general.conf index c5680cf..f81f401 100644 --- a/.config/hypr/custom/general.conf +++ b/.config/hypr/custom/general.conf @@ -17,6 +17,7 @@ workspace = 6, monitor:HDMI-A-1, workspace = 8, monitor:HDMI-A-1, workspace = 10, monitor:HDMI-A-1, + decoration { blur { enabled = false @@ -50,6 +51,10 @@ general { layout = master } +master { + new_on_top = true +} + dwindle { preserve_split = true # you probably want this #no_gaps_when_only = true diff --git a/.config/hypr/custom/keybinding.conf b/.config/hypr/custom/keybinding.conf index bcfa464..aab6a80 100644 --- a/.config/hypr/custom/keybinding.conf +++ b/.config/hypr/custom/keybinding.conf @@ -5,7 +5,6 @@ unbind = Super, W unbind = Super, T unbind = Alt, E - # disbale side unbind = Super, B unbind = Super, M @@ -17,53 +16,51 @@ unbind = Super, H unbind = Super, J unbind = Super, K unbind = Super, L +unbind = Ctrl+Alt, mouse_down +unbind = Ctrl+Alt, mouse_up +unbind = SUPER, mouse:273 -# move windown +# move focus bind = Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/focusStateToLeft.sh # [hidden] -# bind = Alt, H, movefocus, l # [hidden] - bind = Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/focusStateToRight.sh # [hidden] -# bind = Alt, L, movefocus, r # [hidden] - bind = Alt, K, fullscreenstate, 0 # [hidden] bind = Alt, K, movefocus, u # [hidden] - bind = Alt, J, fullscreenstate, 0 # [hidden] bind = Alt, J, movefocus, d # [hidden] -##! Window arrangement -#/# bind = Super+Shift, ←/↑/→/↓,, # Window: move in direction +##! Move window bind = Ctrl+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/windowtoleft.sh # [hidden] -# bind = Ctrl+Alt, H, movewindow, l # [hidden] - -# bind = Ctrl+Alt, L, fullscreenstate, 0 # [hidden] bind = Ctrl+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/windowtoright.sh # [hidden] - bind = Ctrl+Alt, K, movewindow, u # [hidden] bind = Ctrl+Alt, J, movewindow, d # [hidden] -# bind = Ctrl+Alt, M, exec, pavucontrol # Launch pavucontrol (volume mixer) -bind = Alt, Q, killactive, -bind = Alt, F, fullscreen, 1 -# bind = Alt, R, exec, killall ags ydotool; ags & # Restart widgets +## switch workspace +bind = Shift+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh +bind = Shift+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh +bindt = Ctrl+Alt, mouse:272, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh +bindt = Ctrl+Alt, mouse:273, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh + +bindm = ALT, mouse:272, movewindow # [hidden] + +bind = Alt, Q, killactive, +bind = Alt, F, fullscreen, 1 +bind = Shift+Alt, F, fullscreen, 0 bind = Alt, E, exec, nautilus --new-window # Launch Nautilus (file manager) -# bind = Alt, M, exec, ags run-js 'openMusicControls.value = (!mpris.getPlayer() ? false : !openMusicControls.value);' # Toggle music controls -# bind = Alt, N, exec, ags -t 'sideright' # Toggle right sidebar bind = Alt, T, exec, kitty -bind = Alt, B, exec, brave -# bind = Alt, F, exec, rofi +bind = Alt, B, exec, thorium-browser +bind = Shift+Alt, B, exec, brave bind = Alt, O, exec, obsidian --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U bind = Alt, V, exec, vesktop --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U bind = SUPER, SUPER_L, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher +bind = Ctrl+SUPER, Ctrl+SUPER_L, exec, rofi -bind = Shift+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh -bind = Shift+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh -bind = Alt, S, exec, volumecontrol.sh -s '' +bind = Alt, M, exec, volumecontrol.sh -s '' + $mainMod = Super # super / meta / windows key $scrPath = $HOME/.local/share/bin # set scripts path diff --git a/.config/hypr/custom/windowrules.conf b/.config/hypr/custom/windowrules.conf index 52a6ba4..2d2b78c 100644 --- a/.config/hypr/custom/windowrules.conf +++ b/.config/hypr/custom/windowrules.conf @@ -1,4 +1,5 @@ windowrulev2 = bordercolor rgb(FF0000) rgb(880808),fullscreen:1 +# windowrule = fullscreen unset diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index f7c8303..77279c9 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -29,7 +29,7 @@ exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CUR 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 bar +# exec-once = waybar # launch the system bar exec-once = blueman-applet # systray app for Bluetooth exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media exec-once = nm-applet --indicator # systray app for Network/Wifi diff --git a/.config/hypr/scripts/focusStateToLeft.sh b/.config/hypr/scripts/focusStateToLeft.sh index bdfeed7..49c12e6 100644 --- a/.config/hypr/scripts/focusStateToLeft.sh +++ b/.config/hypr/scripts/focusStateToLeft.sh @@ -12,3 +12,4 @@ if [ $window_state -eq 1 ]; then fi hyprctl dispatch movefocus l +exit 0 diff --git a/.config/hypr/scripts/focusStateToRight.sh b/.config/hypr/scripts/focusStateToRight.sh index 32f2216..f9ae2c6 100644 --- a/.config/hypr/scripts/focusStateToRight.sh +++ b/.config/hypr/scripts/focusStateToRight.sh @@ -15,3 +15,4 @@ if [ $window_state -eq 1 ]; then fi hyprctl dispatch movefocus r +exit 0 diff --git a/.config/hypr/scripts/windowtoleft.sh b/.config/hypr/scripts/windowtoleft.sh index 4748793..1c7d2f5 100644 --- a/.config/hypr/scripts/windowtoleft.sh +++ b/.config/hypr/scripts/windowtoleft.sh @@ -25,10 +25,10 @@ if [ $window_x_position -eq 14 ] && [ $window_state -eq 1 ]; then if [ $current_workspace -eq 1 ]; then exit 1 fi - hyprctl dispatch movetoworkspace $((window_at_workspace-1)) - hyprctl dispatch focusmonitor 0 - hyprctl dispatch workspace $((current_workspace-2)) - hyprctl dispatch focusmonitor 1 + hyprctl dispatch movetoworkspace $((window_at_workspace-1)) \ + && hyprctl dispatch focusmonitor 0 \ + && hyprctl dispatch workspace $((current_workspace-2)) \ + && hyprctl dispatch focusmonitor 1 exit 0 fi @@ -37,10 +37,10 @@ if [ $window_x_position -eq 14 ] && [ $window_width -eq 1892 ]; then if [ $current_workspace -eq 1 ]; then exit 1 fi - hyprctl dispatch movetoworkspace $((window_at_workspace-1)) - hyprctl dispatch focusmonitor 0 - hyprctl dispatch workspace $((current_workspace-2)) - hyprctl dispatch focusmonitor 1 + hyprctl dispatch movetoworkspace $((window_at_workspace-1)) \ + && hyprctl dispatch focusmonitor 0 \ + && hyprctl dispatch workspace $((current_workspace-2)) \ + && hyprctl dispatch focusmonitor 1 exit 0 fi @@ -50,12 +50,13 @@ if [ $window_x_position -eq 14 ]; then if [ $current_workspace -eq 1 ]; then exit 1 fi - hyprctl dispatch movetoworkspace $((window_at_workspace-1)) - hyprctl dispatch focusmonitor 0 - hyprctl dispatch workspace $((current_workspace-2)) - hyprctl dispatch focusmonitor 1 + hyprctl dispatch movetoworkspace $((window_at_workspace-1)) \ + && hyprctl dispatch focusmonitor 0 \ + && hyprctl dispatch workspace $((current_workspace-2)) \ + && hyprctl dispatch focusmonitor 1 exit 0 fi # Nếu không thoả điều kiện di chuyển, di chuyển cửa sổ sang phải hyprctl dispatch movewindow l +exit 0 diff --git a/.config/hypr/scripts/windowtoright.sh b/.config/hypr/scripts/windowtoright.sh index 743257d..3626497 100644 --- a/.config/hypr/scripts/windowtoright.sh +++ b/.config/hypr/scripts/windowtoright.sh @@ -1,5 +1,4 @@ #!/bin/bash - # Lấy thông tin của cửa sổ hiện tại chỉ một lần window_info=$(hyprctl activewindow) @@ -25,10 +24,10 @@ if [ $window_x_position -eq 1934 ] && [ $window_state -eq 1 ]; then if [ $current_workspace -eq 6 ]; then exit 1 fi - hyprctl dispatch movetoworkspace $((window_at_workspace+1)) - hyprctl dispatch focusmonitor 1 - hyprctl dispatch workspace $((current_workspace+2)) - hyprctl dispatch focusmonitor 0 + hyprctl dispatch movetoworkspace $((window_at_workspace+1)) \ + && hyprctl dispatch focusmonitor 1 \ + && hyprctl dispatch workspace $((current_workspace+2)) \ + && hyprctl dispatch focusmonitor 0 exit 0 fi @@ -37,10 +36,10 @@ if [ $window_x_position -eq 1934 ] && [ $window_width -eq 1892 ]; then if [ $current_workspace -eq 6 ]; then exit 1 fi - hyprctl dispatch movetoworkspace $((window_at_workspace+1)) - hyprctl dispatch focusmonitor 1 - hyprctl dispatch workspace $((current_workspace+2)) - hyprctl dispatch focusmonitor 0 + hyprctl dispatch movetoworkspace $((window_at_workspace+1)) \ + && hyprctl dispatch focusmonitor 1 \ + && hyprctl dispatch workspace $((current_workspace+2)) \ + && hyprctl dispatch focusmonitor 0 exit 0 fi @@ -50,12 +49,13 @@ if [ $window_x_position -eq 2990 ]; then if [ $current_workspace -eq 6 ]; then exit 1 fi - hyprctl dispatch movetoworkspace $((window_at_workspace+1)) - hyprctl dispatch focusmonitor 1 - hyprctl dispatch workspace $((current_workspace+2)) - hyprctl dispatch focusmonitor 0 + hyprctl dispatch movetoworkspace $((window_at_workspace+1)) \ + && hyprctl dispatch focusmonitor 1 \ + && hyprctl dispatch workspace $((current_workspace+2)) \ + && hyprctl dispatch focusmonitor 0 exit 0 fi # Nếu không thoả điều kiện di chuyển, di chuyển cửa sổ sang phải hyprctl dispatch movewindow r +exit 0 diff --git a/.config/hypr/scripts/workspaceV2descrease.sh b/.config/hypr/scripts/workspaceV2descrease.sh index b41fed9..89e7fe9 100644 --- a/.config/hypr/scripts/workspaceV2descrease.sh +++ b/.config/hypr/scripts/workspaceV2descrease.sh @@ -26,13 +26,10 @@ if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -g fi -hyprctl dispatch fullscreenstate 0 # minimize trước khi di chuyển -# Switch focus and workspace for both monitors -hyprctl dispatch focusmonitor 0 -hyprctl dispatch workspace $primary_monitor_workspace - -hyprctl dispatch focusmonitor 1 -hyprctl dispatch workspace $secondary_monitor_workspace - -# Optionally focus back to the original monitor if desired (adjust this part if needed) -hyprctl dispatch focusmonitor $current_monitor +hyprctl dispatch fullscreenstate 0 \ +&&hyprctl dispatch focusmonitor 1 \ +&&hyprctl dispatch workspace $primary_monitor_workspace \ +&&hyprctl dispatch focusmonitor 0 \ +&&hyprctl dispatch workspace $secondary_monitor_workspace \ +&&hyprctl dispatch focusmonitor $current_monitor \ +exit 0 diff --git a/.config/hypr/scripts/workspaceV2inscrease.sh b/.config/hypr/scripts/workspaceV2inscrease.sh index 78308d4..f4b42a4 100644 --- a/.config/hypr/scripts/workspaceV2inscrease.sh +++ b/.config/hypr/scripts/workspaceV2inscrease.sh @@ -25,14 +25,12 @@ if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -g exit 1 fi +hyprctl dispatch fullscreenstate 0 \ +&&hyprctl dispatch focusmonitor 0 \ +&&hyprctl dispatch workspace $primary_monitor_workspace \ +&&hyprctl dispatch focusmonitor 1 \ +&&hyprctl dispatch workspace $secondary_monitor_workspace \ +&&hyprctl dispatch focusmonitor $current_monitor +exit 0 -hyprctl dispatch fullscreenstate 0 # minimize trước khi di chuyển -# Switch focus and workspace for both monitors -hyprctl dispatch focusmonitor 0 -hyprctl dispatch workspace $primary_monitor_workspace -hyprctl dispatch focusmonitor 1 -hyprctl dispatch workspace $secondary_monitor_workspace - -# Optionally focus back to the original monitor if desired (adjust this part if needed) -hyprctl dispatch focusmonitor $current_monitor diff --git a/.config/hypr/windowrules.conf b/.config/hypr/windowrules.conf index 71af27c..72f3a50 100644 --- a/.config/hypr/windowrules.conf +++ b/.config/hypr/windowrules.conf @@ -53,9 +53,15 @@ windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ + windowrulev2 = float,title:^(About Mozilla Firefox)$ + +windowrulev2 = float,class:^(brave)$,title:^(Picture-in-Picture)$ +windowrulev2 = float,class:^(brave)$,title:^(Library)$ + windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(firefox)$,title:^(Library)$ + windowrulev2 = float,class:^(kitty)$,title:^(top)$ windowrulev2 = float,class:^(kitty)$,title:^(btop)$ windowrulev2 = float,class:^(kitty)$,title:^(htop)$ diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 81e1ba7..a7b9163 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -36,7 +36,7 @@ map cmd+v paste_from_clipboard map ctrl+shift+s paste_from_selection -background #000000 +background #24273a foreground #ffffff cursor #bbbbbb selection_background #b5d5ff diff --git a/.config/kitty/theme.conf b/.config/kitty/theme.conf new file mode 100644 index 0000000..52be9aa --- /dev/null +++ b/.config/kitty/theme.conf @@ -0,0 +1,55 @@ + +# 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/.config/waybar/primary_screen/config.ctl b/.config/waybar/primary_screen/config.ctl new file mode 100644 index 0000000..d59e0f3 --- /dev/null +++ b/.config/waybar/primary_screen/config.ctl @@ -0,0 +1,25 @@ +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/notifications custom/keybindhint ) +0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network 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 )|( privacy tray battery ) ( backlight network 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 )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|32|bottom||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|left||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|top||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|right||( custom/power ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy 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 )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|40|top|( hyprland/workspaces )|( custom/cava idle_inhibitor clock )|( backlight pulseaudio pulseaudio#microphone tray battery custom/keybindhint custom/cliphist custom/power ) diff --git a/.config/waybar/primary_screen/config.jsonc b/.config/waybar/primary_screen/config.jsonc new file mode 100644 index 0000000..9804e51 --- /dev/null +++ b/.config/waybar/primary_screen/config.jsonc @@ -0,0 +1,322 @@ +// --// waybar config generated by wbarconfgen.sh //-- // +{ + // sourced from header module // + "output": "DP-1", + "layer": "top", + "position": "top", + "mod": "dock", + "height": 31, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, + // positions generated based on config.ctl // + "modules-left": [ + "custom/padd", + + "custom/l_end", + "custom/power", + "custom/cliphist", + "custom/r_end", + + "custom/l_end", + "privacy", + "tray", + "custom/r_end", + + "custom/padd", + ], + "modules-center": [ + "custom/padd", + + "custom/l_end", + "network", + "custom/r_end", + + "custom/l_end", + "memory", + "cpu", + "custom/r_end", + + "custom/l_end", + "idle_inhibitor", + "clock", + "custom/r_end", + + "custom/padd", + ], + "modules-right": [ + "custom/padd", + + "custom/l_end", + "backlight", + "pulseaudio", + "custom/r_end", + + "custom/l_end", + "wlr/taskbar", + "custom/r_end", + + "custom/padd", + ], + // sourced from modules based on config.ctl // + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": 0, + "all-outputs": true, + "active-only": false, + "persistent-workspaces": {}, + }, + "custom/cava": { + "format": "{}", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true, + }, + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": 0, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "▶", + "mpv": "🎵", + }, + "status-icons": { + "paused": "", + }, + // "ignored-players": ["firefox"] + "max-length": 1000, + "interval": 1, + }, + "cpu": { + "interval": 10, + "format": "󰍛 {usage}%", + "rotate": 0, + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"], + }, + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30, // medium + }, + "interval": 30, + "format": "󰾆 {used}gb", + "rotate": 0, + "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", + }, + "custom/power": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval": 86400, // once every day + "tooltip": true, + }, + "custom/cliphist": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval": 86400, // once every day + "tooltip": true, + }, + "wlr/taskbar": { + "format": "{icon}", + "rotate": 0, + "icon-size": 25, + "icon-theme": "Gruvbox-Plus-Dark", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition", + "jetbrains-datagrip": "DataGrip", + }, + }, + "custom/spotify": { + "exec": "mediaplayer.py --player spotify", + "format": " {}", + "rotate": 0, + "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": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true, + }, + "idle_inhibitor": { + "format": "{icon}", + "rotate": 0, + "format-icons": { + "activated": "󰥔 ", + "deactivated": " ", + }, + }, + "clock": { + "format": "{:%I:%M %p | 󰃭 %d·%m·%y}", + "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": "{}", + }, + }, + "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", + }, + }, + "privacy": { + "icon-size": 14, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24, + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24, + }, + ], + }, + "tray": { + "icon-size": 25, + "rotate": 0, + "spacing": 5, + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20, + }, + "format": "{icon} {capacity}%", + "rotate": 0, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"], + }, + "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": " {bandwidthDownBytes}  {bandwidthUpBytes} ", + "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, + }, + "pulseaudio": { + "format": "{icon} {volume}", + "rotate": 0, + "format-muted": "婢", + // "on-click": "pavucontrol -t 3", + "on-click": "volumecontrol.sh -s ''", + "on-click-right": "volumecontrol.sh -s ''", + // "on-click-middle": "volumecontrol.sh -o m", + "on-click-middle": "pavucontrol -t 3", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "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": 0, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5, + }, + // 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/.config/waybar/primary_screen/modules/backlight.jsonc b/.config/waybar/primary_screen/modules/backlight.jsonc new file mode 100644 index 0000000..b289e68 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/battery.jsonc b/.config/waybar/primary_screen/modules/battery.jsonc new file mode 100644 index 0000000..51d6482 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/bluetooth.jsonc b/.config/waybar/primary_screen/modules/bluetooth.jsonc new file mode 100644 index 0000000..919bbd8 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/cava.jsonc b/.config/waybar/primary_screen/modules/cava.jsonc new file mode 100644 index 0000000..d5d2277 --- /dev/null +++ b/.config/waybar/primary_screen/modules/cava.jsonc @@ -0,0 +1,6 @@ +"custom/cava": { + "format": "{}", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true +}, \ No newline at end of file diff --git a/.config/waybar/primary_screen/modules/cliphist.jsonc b/.config/waybar/primary_screen/modules/cliphist.jsonc new file mode 100644 index 0000000..02024fa --- /dev/null +++ b/.config/waybar/primary_screen/modules/cliphist.jsonc @@ -0,0 +1,11 @@ + "custom/cliphist": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/primary_screen/modules/clock.jsonc b/.config/waybar/primary_screen/modules/clock.jsonc new file mode 100644 index 0000000..17f9a15 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/cpu.jsonc b/.config/waybar/primary_screen/modules/cpu.jsonc new file mode 100644 index 0000000..cc89cb0 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/cpuinfo.jsonc b/.config/waybar/primary_screen/modules/cpuinfo.jsonc new file mode 100644 index 0000000..fb6bb76 --- /dev/null +++ b/.config/waybar/primary_screen/modules/cpuinfo.jsonc @@ -0,0 +1,10 @@ + "custom/cpuinfo": { + "exec": " cpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000 + }, + diff --git a/.config/waybar/primary_screen/modules/footer.jsonc b/.config/waybar/primary_screen/modules/footer.jsonc new file mode 100644 index 0000000..1387f74 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/gpuinfo.jsonc b/.config/waybar/primary_screen/modules/gpuinfo.jsonc new file mode 100644 index 0000000..f9f5d61 --- /dev/null +++ b/.config/waybar/primary_screen/modules/gpuinfo.jsonc @@ -0,0 +1,41 @@ + "custom/gpuinfo": { + "exec": " gpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + "on-click": "gpuinfo.sh --toggle", + }, + + "custom/gpuinfo#nvidia": { + "exec": " 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": " 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": " 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/.config/waybar/primary_screen/modules/header.jsonc b/.config/waybar/primary_screen/modules/header.jsonc new file mode 100644 index 0000000..688d476 --- /dev/null +++ b/.config/waybar/primary_screen/modules/header.jsonc @@ -0,0 +1,13 @@ +// --// 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, + "reload_style_on_change": true, diff --git a/.config/waybar/primary_screen/modules/idle_inhibitor.jsonc b/.config/waybar/primary_screen/modules/idle_inhibitor.jsonc new file mode 100644 index 0000000..d109a95 --- /dev/null +++ b/.config/waybar/primary_screen/modules/idle_inhibitor.jsonc @@ -0,0 +1,9 @@ + "idle_inhibitor": { + "format": "{icon}", + "rotate": ${r_deg}, + "format-icons": { + "activated": "󰥔", + "deactivated": "" + } + }, + diff --git a/.config/waybar/primary_screen/modules/keybindhint.jsonc b/.config/waybar/primary_screen/modules/keybindhint.jsonc new file mode 100644 index 0000000..e9edd21 --- /dev/null +++ b/.config/waybar/primary_screen/modules/keybindhint.jsonc @@ -0,0 +1,6 @@ + "custom/keybindhint": { + "format": " ", + "rotate": ${r_deg}, + "on-click": "keybinds_hint.sh" + }, + diff --git a/.config/waybar/primary_screen/modules/language.jsonc b/.config/waybar/primary_screen/modules/language.jsonc new file mode 100644 index 0000000..6045d28 --- /dev/null +++ b/.config/waybar/primary_screen/modules/language.jsonc @@ -0,0 +1,6 @@ + "hyprland/language": { + "format": "{short} {variant}", + "rotate": ${r_deg}, + "on-click": "keyboardswitch.sh", + }, + diff --git a/.config/waybar/primary_screen/modules/memory.jsonc b/.config/waybar/primary_screen/modules/memory.jsonc new file mode 100644 index 0000000..5908996 --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/mpris.jsonc b/.config/waybar/primary_screen/modules/mpris.jsonc new file mode 100644 index 0000000..04ff2cd --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/network.jsonc b/.config/waybar/primary_screen/modules/network.jsonc new file mode 100644 index 0000000..1c5231d --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/primary_screen/modules/notifications.jsonc b/.config/waybar/primary_screen/modules/notifications.jsonc new file mode 100644 index 0000000..125e87a --- /dev/null +++ b/.config/waybar/primary_screen/modules/notifications.jsonc @@ -0,0 +1,29 @@ + "custom/notifications": { + "format": "{icon} {}", + "rotate": ${r_deg}, + "format-icons": { + "email-notification": "", + "chat-notification": "󱋊", + "warning-notification": "󱨪", + "error-notification": "󱨪", + "network-notification": "󱂇", + "battery-notification": "󰁺", + "update-notification": "󰚰", + "music-notification": "󰝚", + "volume-notification": "󰕿", + "notification": "", + "dnd": "", + "none": "" + }, + "return-type": "json", + "exec-if": "which dunstctl", + "exec": "notifications.py", + "on-scroll-down": "sleep 0.1 && dunstctl history-pop", + "on-click": "dunstctl set-paused toggle", + "on-click-middle": "dunstctl history-clear", + "on-click-right": "dunstctl close-all", + "interval": 1, + "tooltip": true, + "escape": true + }, + diff --git a/.config/waybar/primary_screen/modules/power.jsonc b/.config/waybar/primary_screen/modules/power.jsonc new file mode 100644 index 0000000..a41eaf6 --- /dev/null +++ b/.config/waybar/primary_screen/modules/power.jsonc @@ -0,0 +1,10 @@ + "custom/power": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/primary_screen/modules/privacy.jsonc b/.config/waybar/primary_screen/modules/privacy.jsonc new file mode 100644 index 0000000..8556586 --- /dev/null +++ b/.config/waybar/primary_screen/modules/privacy.jsonc @@ -0,0 +1,18 @@ + "privacy": { + "icon-size": ${i_priv}, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24 + } + ] + }, + diff --git a/.config/waybar/primary_screen/modules/pulseaudio.jsonc b/.config/waybar/primary_screen/modules/pulseaudio.jsonc new file mode 100644 index 0000000..c5770a7 --- /dev/null +++ b/.config/waybar/primary_screen/modules/pulseaudio.jsonc @@ -0,0 +1,35 @@ +"pulseaudio": { + "format": "{icon} {volume}", + "rotate": ${r_deg}, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "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": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5 +}, + diff --git a/.config/waybar/primary_screen/modules/spotify.jsonc b/.config/waybar/primary_screen/modules/spotify.jsonc new file mode 100644 index 0000000..13bd6bc --- /dev/null +++ b/.config/waybar/primary_screen/modules/spotify.jsonc @@ -0,0 +1,15 @@ + "custom/spotify": { + "exec": "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": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true + }, + diff --git a/.config/waybar/primary_screen/modules/style.css b/.config/waybar/primary_screen/modules/style.css new file mode 100644 index 0000000..93da5c3 --- /dev/null +++ b/.config/waybar/primary_screen/modules/style.css @@ -0,0 +1,151 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: ${s_fontpx}px; + min-height: 10px; +} + +@import "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); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +${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/.config/waybar/primary_screen/modules/taskbar.jsonc b/.config/waybar/primary_screen/modules/taskbar.jsonc new file mode 100644 index 0000000..630d574 --- /dev/null +++ b/.config/waybar/primary_screen/modules/taskbar.jsonc @@ -0,0 +1,18 @@ + "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", + "jetbrains-datagrip": "DataGrip" + } + }, + diff --git a/.config/waybar/primary_screen/modules/theme.jsonc b/.config/waybar/primary_screen/modules/theme.jsonc new file mode 100644 index 0000000..6482c6e --- /dev/null +++ b/.config/waybar/primary_screen/modules/theme.jsonc @@ -0,0 +1,11 @@ + "custom/theme": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰟡 switch theme", + "on-click": "themeswitch.sh -n", + "on-click-right": "themeswitch.sh -p", + "on-click-middle": "sleep 0.1 && themeselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/primary_screen/modules/tray.jsonc b/.config/waybar/primary_screen/modules/tray.jsonc new file mode 100644 index 0000000..d7c0bce --- /dev/null +++ b/.config/waybar/primary_screen/modules/tray.jsonc @@ -0,0 +1,6 @@ + "tray": { + "icon-size": ${i_size}, + "rotate": ${r_deg}, + "spacing": 5 + }, + diff --git a/.config/waybar/primary_screen/modules/updates.jsonc b/.config/waybar/primary_screen/modules/updates.jsonc new file mode 100644 index 0000000..996f732 --- /dev/null +++ b/.config/waybar/primary_screen/modules/updates.jsonc @@ -0,0 +1,10 @@ + "custom/updates": { + "exec": "systemupdate.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "on-click": "hyprctl dispatch exec 'systemupdate.sh up'", + "interval": 86400, // once every day + "tooltip": true, + "signal": 20, + }, diff --git a/.config/waybar/primary_screen/modules/wallchange.jsonc b/.config/waybar/primary_screen/modules/wallchange.jsonc new file mode 100644 index 0000000..0c839ca --- /dev/null +++ b/.config/waybar/primary_screen/modules/wallchange.jsonc @@ -0,0 +1,11 @@ + "custom/wallchange": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰆊 switch wallpaper", + "on-click": "swwwallpaper.sh -n", + "on-click-right": "swwwallpaper.sh -p", + "on-click-middle": "sleep 0.1 && swwwallselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/primary_screen/modules/wbar.jsonc b/.config/waybar/primary_screen/modules/wbar.jsonc new file mode 100644 index 0000000..7738657 --- /dev/null +++ b/.config/waybar/primary_screen/modules/wbar.jsonc @@ -0,0 +1,11 @@ + "custom/wbar": { + "format": "{}", //   // + "rotate": ${r_deg}, + "exec": "echo ; echo  switch bar //  dock", + "on-click": "wbarconfgen.sh n", + "on-click-right": "wbarconfgen.sh p", + "on-click-middle": "sleep 0.1 && quickapps.sh kitty firefox spotify code dolphin", + "interval" : 86400, + "tooltip": true + }, + diff --git a/.config/waybar/primary_screen/modules/window.jsonc b/.config/waybar/primary_screen/modules/window.jsonc new file mode 100644 index 0000000..3c56b28 --- /dev/null +++ b/.config/waybar/primary_screen/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": 50 + }, + diff --git a/.config/waybar/primary_screen/modules/workspaces.jsonc b/.config/waybar/primary_screen/modules/workspaces.jsonc new file mode 100644 index 0000000..c1e580a --- /dev/null +++ b/.config/waybar/primary_screen/modules/workspaces.jsonc @@ -0,0 +1,13 @@ + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": ${r_deg}, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": { + } + }, + diff --git a/.config/waybar/primary_screen/style.css b/.config/waybar/primary_screen/style.css new file mode 100644 index 0000000..bc9cca6 --- /dev/null +++ b/.config/waybar/primary_screen/style.css @@ -0,0 +1,178 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: 20px; + min-height: 10px; +} + +@import "theme.css"; + +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: 7px; + border-width: 0px; +} + +#workspaces button { + 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 { + 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: @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: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#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); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +#backlight, +#battery, +#bluetooth, +#custom-cava, +#custom-cliphist, +#clock, +#custom-cpuinfo, +#cpu, +#custom-gpuinfo, +#idle_inhibitor, +#custom-keybindhint, +#language, +#memory, +#mpris, +#network, +#custom-notifications, +#custom-power, +#privacy, +#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 15px 15px 0px; + /* margin-right: 9px; */ + padding-right: 3px; +} + +#custom-l_end { + border-radius: 15px 0px 0px 15px; + 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/.config/waybar/primary_screen/theme.css b/.config/waybar/primary_screen/theme.css new file mode 100644 index 0000000..691cf6b --- /dev/null +++ b/.config/waybar/primary_screen/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/.config/waybar/secondary_screen/config.ctl b/.config/waybar/secondary_screen/config.ctl new file mode 100644 index 0000000..d59e0f3 --- /dev/null +++ b/.config/waybar/secondary_screen/config.ctl @@ -0,0 +1,25 @@ +0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/notifications custom/keybindhint ) +0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( privacy tray battery ) ( backlight network 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 )|( privacy tray battery ) ( backlight network 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 )|( privacy tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint ) +0|32|bottom||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|left||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|top||( custom/power ) ( privacy tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )| +0|32|right||( custom/power ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy 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 pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power ) +0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( privacy 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 )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( privacy tray ) ( backlight network pulseaudio pulseaudio#microphone ) +0|40|top|( hyprland/workspaces )|( custom/cava idle_inhibitor clock )|( backlight pulseaudio pulseaudio#microphone tray battery custom/keybindhint custom/cliphist custom/power ) diff --git a/.config/waybar/secondary_screen/config.jsonc b/.config/waybar/secondary_screen/config.jsonc new file mode 100644 index 0000000..d95c395 --- /dev/null +++ b/.config/waybar/secondary_screen/config.jsonc @@ -0,0 +1,307 @@ +// --// waybar config generated by wbarconfgen.sh //-- // +{ + // sourced from header module // + "output": "HDMI-A-1", + "layer": "top", + "position": "top", + "mod": "dock", + "height": 31, + "exclusive": true, + "passthrough": false, + "gtk-layer-shell": true, + "reload_style_on_change": true, + // positions generated based on config.ctl // + "modules-left": [ + "custom/padd", + + "custom/l_end", + "wlr/taskbar", + "custom/r_end", + + "custom/l_end", + "hyprland/workspaces", + "custom/r_end", + + "custom/padd", + ], + "modules-center": [ + "custom/padd", + "custom/padd", + ], + "modules-right": [ + "custom/padd", + + "custom/l_end", + "idle_inhibitor", + "clock", + "custom/spotify", + "custom/r_end", + + "custom/l_end", + "custom/cava", + "mpris", + "custom/r_end", + + "custom/padd", + ], + // sourced from modules based on config.ctl // + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": 0, + "all-outputs": true, + "active-only": false, + "persistent-workspaces": {}, + }, + "custom/cava": { + "format": "{} ", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true, + }, + "mpris": { + "format": "{player_icon} {dynamic}", + "rotate": 0, + "format-paused": "{status_icon} {dynamic}", + "player-icons": { + "default": "", + "mpv": "🎵", + }, + "status-icons": { + "paused": "▶", + }, + // "ignored-players": ["firefox"] + "max-length": 1000, + "interval": 1, + }, + "cpu": { + "interval": 10, + "format": "󰍛 {usage}%", + "rotate": 0, + "format-alt": "{icon0}{icon1}{icon2}{icon3}", + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"], + }, + "memory": { + "states": { + "c": 90, // critical + "h": 60, // high + "m": 30, // medium + }, + "interval": 30, + "format": "󰾆 {used}gb", + "rotate": 0, + "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", + }, + "custom/power": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval": 86400, // once every day + "tooltip": true, + }, + "custom/cliphist": { + "format": " {}", + "rotate": 0, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval": 86400, // once every day + "tooltip": true, + }, + "wlr/taskbar": { + "format": "{icon}", + "rotate": 0, + "icon-size": 25, + "icon-theme": "Gruvbox-Plus-Dark", + "spacing": 0, + "tooltip-format": "{title}", + "on-click": "activate", + "on-click-middle": "close", + "ignore-list": ["Alacritty"], + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition", + "jetbrains-datagrip": "DataGrip", + }, + }, + "custom/spotify": { + "exec": "mediaplayer.py --player spotify", + "format": " {}", + "rotate": 0, + "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": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true, + }, + "idle_inhibitor": { + "format": "{icon}", + "rotate": 0, + "format-icons": { + "activated": "󰥔 ", + "deactivated": " ", + }, + }, + "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": "{}", + }, + }, + "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", + }, + }, + "privacy": { + "icon-size": 14, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24, + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24, + }, + ], + }, + "tray": { + "icon-size": 25, + "rotate": 0, + "spacing": 5, + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 20, + }, + "format": "{icon} {capacity}%", + "rotate": 0, + "format-charging": " {capacity}%", + "format-plugged": " {capacity}%", + "format-alt": "{time} {icon}", + "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"], + }, + "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": " {bandwidthDownBytes}  {bandwidthUpBytes}", + "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, + }, + "pulseaudio": { + "format": "{icon} {volume}", + "rotate": 0, + "format-muted": "婢", + // "on-click": "pavucontrol -t 3", + "on-click": "volumecontrol.sh -s ''", + "on-click-right": "volumecontrol.sh -s ''", + // "on-click-middle": "volumecontrol.sh -o m", + "on-click-middle": "pavucontrol -t 3", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "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": 0, + "format-source": "", + "format-source-muted": "", + "on-click": "pavucontrol -t 4", + "on-click-middle": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5, + }, + // 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/.config/waybar/secondary_screen/modules/backlight.jsonc b/.config/waybar/secondary_screen/modules/backlight.jsonc new file mode 100644 index 0000000..b289e68 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/battery.jsonc b/.config/waybar/secondary_screen/modules/battery.jsonc new file mode 100644 index 0000000..51d6482 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/bluetooth.jsonc b/.config/waybar/secondary_screen/modules/bluetooth.jsonc new file mode 100644 index 0000000..919bbd8 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/cava.jsonc b/.config/waybar/secondary_screen/modules/cava.jsonc new file mode 100644 index 0000000..d5d2277 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/cava.jsonc @@ -0,0 +1,6 @@ +"custom/cava": { + "format": "{}", + "exec": "waybar_cava.sh", + "restart-interval": 1, + "hide-empty": true +}, \ No newline at end of file diff --git a/.config/waybar/secondary_screen/modules/cliphist.jsonc b/.config/waybar/secondary_screen/modules/cliphist.jsonc new file mode 100644 index 0000000..02024fa --- /dev/null +++ b/.config/waybar/secondary_screen/modules/cliphist.jsonc @@ -0,0 +1,11 @@ + "custom/cliphist": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰅇 clipboard history", + "on-click": "sleep 0.1 && cliphist.sh c", + "on-click-right": "sleep 0.1 && cliphist.sh d", + "on-click-middle": "sleep 0.1 && cliphist.sh w", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/secondary_screen/modules/clock.jsonc b/.config/waybar/secondary_screen/modules/clock.jsonc new file mode 100644 index 0000000..17f9a15 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/cpu.jsonc b/.config/waybar/secondary_screen/modules/cpu.jsonc new file mode 100644 index 0000000..cc89cb0 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/cpuinfo.jsonc b/.config/waybar/secondary_screen/modules/cpuinfo.jsonc new file mode 100644 index 0000000..fb6bb76 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/cpuinfo.jsonc @@ -0,0 +1,10 @@ + "custom/cpuinfo": { + "exec": " cpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000 + }, + diff --git a/.config/waybar/secondary_screen/modules/footer.jsonc b/.config/waybar/secondary_screen/modules/footer.jsonc new file mode 100644 index 0000000..1387f74 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/gpuinfo.jsonc b/.config/waybar/secondary_screen/modules/gpuinfo.jsonc new file mode 100644 index 0000000..f9f5d61 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/gpuinfo.jsonc @@ -0,0 +1,41 @@ + "custom/gpuinfo": { + "exec": " gpuinfo.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "interval": 5, // once every 5 seconds + "tooltip": true, + "max-length": 1000, + "on-click": "gpuinfo.sh --toggle", + }, + + "custom/gpuinfo#nvidia": { + "exec": " 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": " 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": " 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/.config/waybar/secondary_screen/modules/header.jsonc b/.config/waybar/secondary_screen/modules/header.jsonc new file mode 100644 index 0000000..688d476 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/header.jsonc @@ -0,0 +1,13 @@ +// --// 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, + "reload_style_on_change": true, diff --git a/.config/waybar/secondary_screen/modules/idle_inhibitor.jsonc b/.config/waybar/secondary_screen/modules/idle_inhibitor.jsonc new file mode 100644 index 0000000..d109a95 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/idle_inhibitor.jsonc @@ -0,0 +1,9 @@ + "idle_inhibitor": { + "format": "{icon}", + "rotate": ${r_deg}, + "format-icons": { + "activated": "󰥔", + "deactivated": "" + } + }, + diff --git a/.config/waybar/secondary_screen/modules/keybindhint.jsonc b/.config/waybar/secondary_screen/modules/keybindhint.jsonc new file mode 100644 index 0000000..e9edd21 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/keybindhint.jsonc @@ -0,0 +1,6 @@ + "custom/keybindhint": { + "format": " ", + "rotate": ${r_deg}, + "on-click": "keybinds_hint.sh" + }, + diff --git a/.config/waybar/secondary_screen/modules/language.jsonc b/.config/waybar/secondary_screen/modules/language.jsonc new file mode 100644 index 0000000..6045d28 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/language.jsonc @@ -0,0 +1,6 @@ + "hyprland/language": { + "format": "{short} {variant}", + "rotate": ${r_deg}, + "on-click": "keyboardswitch.sh", + }, + diff --git a/.config/waybar/secondary_screen/modules/memory.jsonc b/.config/waybar/secondary_screen/modules/memory.jsonc new file mode 100644 index 0000000..5908996 --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/mpris.jsonc b/.config/waybar/secondary_screen/modules/mpris.jsonc new file mode 100644 index 0000000..04ff2cd --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/network.jsonc b/.config/waybar/secondary_screen/modules/network.jsonc new file mode 100644 index 0000000..1c5231d --- /dev/null +++ b/.config/waybar/secondary_screen/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/.config/waybar/secondary_screen/modules/notifications.jsonc b/.config/waybar/secondary_screen/modules/notifications.jsonc new file mode 100644 index 0000000..125e87a --- /dev/null +++ b/.config/waybar/secondary_screen/modules/notifications.jsonc @@ -0,0 +1,29 @@ + "custom/notifications": { + "format": "{icon} {}", + "rotate": ${r_deg}, + "format-icons": { + "email-notification": "", + "chat-notification": "󱋊", + "warning-notification": "󱨪", + "error-notification": "󱨪", + "network-notification": "󱂇", + "battery-notification": "󰁺", + "update-notification": "󰚰", + "music-notification": "󰝚", + "volume-notification": "󰕿", + "notification": "", + "dnd": "", + "none": "" + }, + "return-type": "json", + "exec-if": "which dunstctl", + "exec": "notifications.py", + "on-scroll-down": "sleep 0.1 && dunstctl history-pop", + "on-click": "dunstctl set-paused toggle", + "on-click-middle": "dunstctl history-clear", + "on-click-right": "dunstctl close-all", + "interval": 1, + "tooltip": true, + "escape": true + }, + diff --git a/.config/waybar/secondary_screen/modules/power.jsonc b/.config/waybar/secondary_screen/modules/power.jsonc new file mode 100644 index 0000000..a41eaf6 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/power.jsonc @@ -0,0 +1,10 @@ + "custom/power": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo  logout", + "on-click": "logoutlaunch.sh 2", + "on-click-right": "logoutlaunch.sh 1", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/secondary_screen/modules/privacy.jsonc b/.config/waybar/secondary_screen/modules/privacy.jsonc new file mode 100644 index 0000000..8556586 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/privacy.jsonc @@ -0,0 +1,18 @@ + "privacy": { + "icon-size": ${i_priv}, + "icon-spacing": 5, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 24 + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 24 + } + ] + }, + diff --git a/.config/waybar/secondary_screen/modules/pulseaudio.jsonc b/.config/waybar/secondary_screen/modules/pulseaudio.jsonc new file mode 100644 index 0000000..c5770a7 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/pulseaudio.jsonc @@ -0,0 +1,35 @@ +"pulseaudio": { + "format": "{icon} {volume}", + "rotate": ${r_deg}, + "format-muted": "婢", + "on-click": "pavucontrol -t 3", + "on-click-right": "volumecontrol.sh -s ''", + "on-click-middle": "volumecontrol.sh -o m", + "on-scroll-up": "volumecontrol.sh -o i", + "on-scroll-down": "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": "volumecontrol.sh -i m", + "on-scroll-up": "volumecontrol.sh -i i", + "on-scroll-down": "volumecontrol.sh -i d", + "tooltip-format": "{format_source} {source_desc} // {source_volume}%", + "scroll-step": 5 +}, + diff --git a/.config/waybar/secondary_screen/modules/spotify.jsonc b/.config/waybar/secondary_screen/modules/spotify.jsonc new file mode 100644 index 0000000..13bd6bc --- /dev/null +++ b/.config/waybar/secondary_screen/modules/spotify.jsonc @@ -0,0 +1,15 @@ + "custom/spotify": { + "exec": "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": "volumecontrol.sh -p spotify i", + "on-scroll-down": "volumecontrol.sh -p spotify d", + "max-length": 25, + "escape": true, + "tooltip": true + }, + diff --git a/.config/waybar/secondary_screen/modules/style.css b/.config/waybar/secondary_screen/modules/style.css new file mode 100644 index 0000000..93da5c3 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/style.css @@ -0,0 +1,151 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: ${s_fontpx}px; + min-height: 10px; +} + +@import "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); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +${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/.config/waybar/secondary_screen/modules/taskbar.jsonc b/.config/waybar/secondary_screen/modules/taskbar.jsonc new file mode 100644 index 0000000..630d574 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/taskbar.jsonc @@ -0,0 +1,18 @@ + "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", + "jetbrains-datagrip": "DataGrip" + } + }, + diff --git a/.config/waybar/secondary_screen/modules/theme.jsonc b/.config/waybar/secondary_screen/modules/theme.jsonc new file mode 100644 index 0000000..6482c6e --- /dev/null +++ b/.config/waybar/secondary_screen/modules/theme.jsonc @@ -0,0 +1,11 @@ + "custom/theme": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰟡 switch theme", + "on-click": "themeswitch.sh -n", + "on-click-right": "themeswitch.sh -p", + "on-click-middle": "sleep 0.1 && themeselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/secondary_screen/modules/tray.jsonc b/.config/waybar/secondary_screen/modules/tray.jsonc new file mode 100644 index 0000000..d7c0bce --- /dev/null +++ b/.config/waybar/secondary_screen/modules/tray.jsonc @@ -0,0 +1,6 @@ + "tray": { + "icon-size": ${i_size}, + "rotate": ${r_deg}, + "spacing": 5 + }, + diff --git a/.config/waybar/secondary_screen/modules/updates.jsonc b/.config/waybar/secondary_screen/modules/updates.jsonc new file mode 100644 index 0000000..996f732 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/updates.jsonc @@ -0,0 +1,10 @@ + "custom/updates": { + "exec": "systemupdate.sh", + "return-type": "json", + "format": "{}", + "rotate": ${r_deg}, + "on-click": "hyprctl dispatch exec 'systemupdate.sh up'", + "interval": 86400, // once every day + "tooltip": true, + "signal": 20, + }, diff --git a/.config/waybar/secondary_screen/modules/wallchange.jsonc b/.config/waybar/secondary_screen/modules/wallchange.jsonc new file mode 100644 index 0000000..0c839ca --- /dev/null +++ b/.config/waybar/secondary_screen/modules/wallchange.jsonc @@ -0,0 +1,11 @@ + "custom/wallchange": { + "format": "{}", + "rotate": ${r_deg}, + "exec": "echo ; echo 󰆊 switch wallpaper", + "on-click": "swwwallpaper.sh -n", + "on-click-right": "swwwallpaper.sh -p", + "on-click-middle": "sleep 0.1 && swwwallselect.sh", + "interval" : 86400, // once every day + "tooltip": true + }, + diff --git a/.config/waybar/secondary_screen/modules/wbar.jsonc b/.config/waybar/secondary_screen/modules/wbar.jsonc new file mode 100644 index 0000000..7738657 --- /dev/null +++ b/.config/waybar/secondary_screen/modules/wbar.jsonc @@ -0,0 +1,11 @@ + "custom/wbar": { + "format": "{}", //   // + "rotate": ${r_deg}, + "exec": "echo ; echo  switch bar //  dock", + "on-click": "wbarconfgen.sh n", + "on-click-right": "wbarconfgen.sh p", + "on-click-middle": "sleep 0.1 && quickapps.sh kitty firefox spotify code dolphin", + "interval" : 86400, + "tooltip": true + }, + diff --git a/.config/waybar/secondary_screen/modules/window.jsonc b/.config/waybar/secondary_screen/modules/window.jsonc new file mode 100644 index 0000000..3c56b28 --- /dev/null +++ b/.config/waybar/secondary_screen/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": 50 + }, + diff --git a/.config/waybar/secondary_screen/modules/workspaces.jsonc b/.config/waybar/secondary_screen/modules/workspaces.jsonc new file mode 100644 index 0000000..c1e580a --- /dev/null +++ b/.config/waybar/secondary_screen/modules/workspaces.jsonc @@ -0,0 +1,13 @@ + "hyprland/workspaces": { + "disable-scroll": true, + "rotate": ${r_deg}, + "all-outputs": true, + "active-only": false, + "on-click": "activate", + "disable-scroll": false, + "on-scroll-up": "hyprctl dispatch workspace -1", + "on-scroll-down": "hyprctl dispatch workspace +1", + "persistent-workspaces": { + } + }, + diff --git a/.config/waybar/secondary_screen/style.css b/.config/waybar/secondary_screen/style.css new file mode 100644 index 0000000..bc9cca6 --- /dev/null +++ b/.config/waybar/secondary_screen/style.css @@ -0,0 +1,178 @@ +* { + border: none; + border-radius: 0px; + font-family: "JetBrainsMono Nerd Font"; + font-weight: bold; + font-size: 20px; + min-height: 10px; +} + +@import "theme.css"; + +window#waybar { + background: @bar-bg; +} + +tooltip { + background: @main-bg; + color: @main-fg; + border-radius: 7px; + border-width: 0px; +} + +#workspaces button { + 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 { + 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: @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: 9px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 3px; + padding-right: 3px; + margin-right: 0px; + color: @wb-color; + animation: tb_normal 20s ease-in-out 1; +} + +#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); +} + +#tray menu * { + min-height: 16px +} + +#tray menu separator { + min-height: 10px +} + +#backlight, +#battery, +#bluetooth, +#custom-cava, +#custom-cliphist, +#clock, +#custom-cpuinfo, +#cpu, +#custom-gpuinfo, +#idle_inhibitor, +#custom-keybindhint, +#language, +#memory, +#mpris, +#network, +#custom-notifications, +#custom-power, +#privacy, +#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 15px 15px 0px; + /* margin-right: 9px; */ + padding-right: 3px; +} + +#custom-l_end { + border-radius: 15px 0px 0px 15px; + 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/.config/waybar/secondary_screen/theme.css b/.config/waybar/secondary_screen/theme.css new file mode 100644 index 0000000..691cf6b --- /dev/null +++ b/.config/waybar/secondary_screen/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;