diff --git a/home/.config/eww/bar/updates.yuck b/home/.config/eww/bar/updates.yuck index 09e06d1..8b4896c 100644 --- a/home/.config/eww/bar/updates.yuck +++ b/home/.config/eww/bar/updates.yuck @@ -1,4 +1,5 @@ -(defpoll pacman-updates :initial 0 :interval "3s" "checkupdates | wc -l") +(defpoll pacman-updates :initial 0 :interval "60s" "checkupdates | wc -l") +(defpoll pacman-updates-full :interval "60s" "checkupdates") (defwidget pacman-updates-widget [] (box :class "pacman-update-widget" @@ -6,8 +7,29 @@ :class "pacman-update-widget-inner ${pacman-updates > 0 ? 'has-updates' : ''}" :cursor "pointer" :onclick "${pacman-updates > 0 ? 'alacritty -e sudo pacman -Syu &' : ''}" + :onmiddleclick "eww open --toggle updates-menu" (label :class "update-text" :text " ${pacman-updates}") ) ) ) + +(defwindow updates-menu + :namespace "updates-menu" + :monitor 0 + :stacking "overlay" + :geometry (geometry :x "50%" + :y "40%" + :width "400px" + :height "200px" + :anchor "center" + ) + + (box :class "updates-menu" :orientation "v" :space-evenly true + (label :class "pacman-updates-menu-title" :text "Pacman Updates:  ${pacman-updates}") + (label :text "${pacman-updates-full}") + (eventbox :cursor "pointer" :class "interactive" + (button :class "btn" :onclick "alacritty -e sudo pacman -Syu &" "Update") + ) + ) +) diff --git a/home/.config/eww/bar/weather.yuck b/home/.config/eww/bar/weather.yuck index caf9f86..a553e3b 100644 --- a/home/.config/eww/bar/weather.yuck +++ b/home/.config/eww/bar/weather.yuck @@ -4,7 +4,7 @@ (box :class "weather-tray-item" :orientation "h" :space-evenly false - (eventbox :cursor "pointer" :class "interactive weather" :onclick "xdg-open https://sinoptik.bg" + (eventbox :cursor "pointer" :class "interactive weather" :onclick "xdg-open https://www.sinoptik.bg/sofia-bulgaria-100727011" (box :space-evenly false (label :class "weather-temp" :text "${weather.icon} ${weather.temp}") (label :class "weather-desc" :text "${weather.desc}") diff --git a/home/.config/eww/eww.scss b/home/.config/eww/eww.scss index ad464f9..98467d3 100644 --- a/home/.config/eww/eww.scss +++ b/home/.config/eww/eww.scss @@ -11,8 +11,38 @@ $bar-gap: 8px; @import "./styles/media-menu.scss"; @import "./styles/power-menu.scss"; +@import "./styles/updates-menu.scss"; @import "./styles/tray.scss"; +.systray menu { + font-family: $font; + border-radius: 10px; + background-color: rgba(30, 30, 30); + color: $fg; + padding: 5px 0px; + + > menuitem { + padding: 5px 10px; + + &:disabled label { + color: gray; + } + + &:hover { + background-color: #0e4679; + } + } + + separator { + background-color: rgb(60, 60, 60); + padding-top: 1px; + + &:last-child { + padding: unset; + } + } +} + .eww-overlay { background-color: $bg; diff --git a/home/.config/eww/styles/tray.scss b/home/.config/eww/styles/tray.scss index 4de9755..83d2689 100644 --- a/home/.config/eww/styles/tray.scss +++ b/home/.config/eww/styles/tray.scss @@ -6,7 +6,6 @@ $tray-item-interactive-margin: 6px 0; .pacman-update-widget-inner { border-radius: 4px; - &.has-updates { background-color: rgb(228, 137, 137); color: #fff; diff --git a/home/.config/eww/styles/updates-menu.scss b/home/.config/eww/styles/updates-menu.scss new file mode 100644 index 0000000..c370341 --- /dev/null +++ b/home/.config/eww/styles/updates-menu.scss @@ -0,0 +1,6 @@ +.updates-menu { + background-color: $bg; + border: 3px solid $menu-border; + border-radius: 32px; + padding: 16px 32px; +} diff --git a/home/.config/hypr/autorun.conf b/home/.config/hypr/autorun.conf index 688c941..8f094cc 100644 --- a/home/.config/hypr/autorun.conf +++ b/home/.config/hypr/autorun.conf @@ -10,4 +10,4 @@ exec-once = swww-daemon --format xrgb & exec-once = swaync & -exec-once = blueman-applet & nm-applet & +exec-once = blueman-applet & blueman-tray & nm-applet & diff --git a/home/.config/hypr/binds.conf b/home/.config/hypr/binds.conf index dcb592e..14b03fd 100644 --- a/home/.config/hypr/binds.conf +++ b/home/.config/hypr/binds.conf @@ -14,24 +14,40 @@ bind = $mainMod, F, fullscreen # F - fullscreen bind = $mainMod, J, togglesplit, # J - toggle split bind = $mainMod, L, exec, hyprlock # L - lock screen bind = $mainMod, M, exit # M - exit -bind = $mainMod, N, exec, swaync-client --toggle-panel # N - toggle swaync panel bind = $mainMod, Q, killactive # Q - kill active window bind = alt, Q, killactive # alt + Q - kill active window bind = $mainMod, S, swapactiveworkspaces, 0 1 # S - swap monitor workspaces bind = $mainMod, T, exec, $terminal # T - terminal bind = $mainMod, V, togglefloating # V - toggle floatin +bind = Control_R, O, exec, nautilus + bind = $mainMod, F1, exec, ~/.config/hypr/scripts/game-mode.sh # F1 - game mode bind = $mainMod, F2, exec, eww open --toggle monitor-bump # F2 - monitor bump -bind = alt, space, exec, $menu # alt+space - rofi a la spotlight -bind = alt win shift, e, exec, $emojiMenu # alt+win+shift+e - emoji menu +# rudimentary Alt+Tab and Alt+Shift+Tab +bind = alt, tab, cyclenext +bind = alt shift, tab, cyclenext, prev + +# rcmd emulation +$rcmd = SUPER ALT +bind = $rcmd, f, focuswindow, firefox +bind = $rcmd, c, focuswindow, class:Code +bind = $rcmd, a, focuswindow, class:Alacritty +bind = $rcmd, t, focuswindow, telegram +bind = $rcmd, d, focuswindow, class:Todoist + +bind = alt, space, exec, $menu # alt+space - rofi a la spotlight +bind = alt super shift, e, exec, $emojiMenu # alt+super+shift+e - emoji menu +bind = $mainMod, code:49, focuscurrentorlast + +bind = ctrl shift super, N, exec, swaync-client --toggle-panel # N - toggle swaync panel # eww -bind = ctrl shift win, Q, exec, eww open --toggle power-menu -bind = ctrl shift win, M, exec, eww open --toggle media-menu -bind = ctrl shift win, R, exec, ~/.config/hypr/scripts/run-apps.sh -bind = ctrl shift win, W, exec, ~/Scripts/wallpaper # change wallpapers +bind = ctrl shift super, Q, exec, eww open --toggle power-menu +bind = ctrl shift super, M, exec, eww open --toggle media-menu +bind = ctrl shift super, R, exec, ~/.config/hypr/scripts/run-apps.sh +bind = ctrl shift super, W, exec, ~/Scripts/wallpaper # change wallpapers # screenshots # TODO: consider switching away to different shortcuts @@ -50,20 +66,20 @@ bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d # move to prev / next monitor -bind = ctrl alt win, left, movewindow, mon:+1 -bind = ctrl alt win, right, movewindow, mon:-1 +bind = ctrl alt super, left, movewindow, mon:+1 +bind = ctrl alt super, right, movewindow, mon:-1 -# resize with ctrl win shift hjkl +# resize with ctrl super shift hjkl bind = $mainMod ctrl shift, L, resizeactive, 30 0 bind = $mainMod ctrl shift, H, resizeactive, -30 0 bind = $mainMod ctrl shift, K, resizeactive, 0 30 bind = $mainMod ctrl shift, J, resizeactive, 0 -30 -# move with ctrl win hjkl -bind = ctrl win, H, movewindow, l -bind = ctrl win, L, movewindow, r -bind = ctrl win, K, movewindow, u -bind = ctrl win, J, movewindow, d +# move with ctrl super hjkl +bind = ctrl super, H, movewindow, l +bind = ctrl super, L, movewindow, r +bind = ctrl super, K, movewindow, u +bind = ctrl super, J, movewindow, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 diff --git a/home/.config/hypr/rules.conf b/home/.config/hypr/rules.conf index ae6834f..4546b31 100644 --- a/home/.config/hypr/rules.conf +++ b/home/.config/hypr/rules.conf @@ -17,3 +17,5 @@ layerrule = blur, power-menu layerrule = ignorezero, power-menu layerrule = blur, media-menu layerrule = ignorezero, media-menu +layerrule = blur, updates-menu +layerrule = ignorezero, updates-menu diff --git a/home/.config/hypr/scripts/run-apps.sh b/home/.config/hypr/scripts/run-apps.sh index 1ccb85f..efd48de 100755 --- a/home/.config/hypr/scripts/run-apps.sh +++ b/home/.config/hypr/scripts/run-apps.sh @@ -5,6 +5,4 @@ hyprctl dispatch -- exec '[workspace 3 silent]' telegram-desktop & sleep 1 hyprctl dispatch -- exec '[workspace 3 silent]' todoist & sleep 1 -hyprctl dispatch -- exec '[workspace 3 silent]' alacritty -e ~/Scripts/start-tmux & - -tmux send -t default 'btop' ENTER; +hyprctl dispatch -- exec '[workspace 3 silent]' alacritty -e btop &