diff --git a/.dotter/global.toml b/.dotter/global.toml index 8ad9242..55a2d89 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -46,6 +46,7 @@ depends = ["graphical"] [x11.files] "x11/config" = { target = "~/.config", type = "symbolic" } +"x11/Xsession" = "~/.Xsession" [x11.variables] @@ -86,6 +87,7 @@ depends = ["x11"] [cosmo.files] "cosmo/config" = "~/.config" +"cosmo/Xresources" = "~/.Xresources" [cosmo.variables] diff --git a/cosmo/Xresources b/cosmo/Xresources new file mode 100644 index 0000000..1fe34ed --- /dev/null +++ b/cosmo/Xresources @@ -0,0 +1,2 @@ +Xft.dpi: 120 + diff --git a/cosmo/config/i3/config b/cosmo/config/i3/config new file mode 100644 index 0000000..44f604b --- /dev/null +++ b/cosmo/config/i3/config @@ -0,0 +1,132 @@ +# pogmommy's i3 config + +set $mod Mod1 +set $smod Shift +set $fn Mod5 + +set $wm_setting_key_left j +set $wm_setting_key_down k +set $wm_setting_key_up i +set $wm_setting_key_right l + +set $wm_setting_font pango:Source Sans Pro, Semibold 11 +set $wm_setting_gap 10 +set $wm_setting_border_size 5 + +set $wm_setting_app_terminal kitty +set $wm_setting_app_browser librewolf +set $wm_setting_app_launcher rofi -show drun +set $wm_setting_app_compositor picom + +include $HOME/.config/de-vars/colors/active/sway + +set $wm_color_border_active_bg #d7afaf +set $wm_color_border_active_fg #d7afaf +set $wm_color_border_inactive_bg #111317 +set $wm_color_border_inactive_fg #111317 +set $wm_color_background #111317 + +bindsym $mod+Return exec $wm_setting_app_terminal +bindsym $mod+Shift+b exec $wm_setting_app_browser +bindsym $mod+d exec $wm_setting_app_launcher +bindsym $fn+XF86TopMenu exec $wm_setting_app_launcher + +bindsym $fn+XF86AudioRaiseVolume exec --no-startup-id $HOME/.config/i3/scripts/volume.sh up +bindsym $fn+XF86AudioLowerVolume exec --no-startup-id $HOME/.config/i3/scripts/volume.sh down + +bindsym $fn+XF86MonBrightnessUp exec --no-startup-id $HOME/.config/i3/scripts/brightness.sh up +bindsym $fn+XF86MonBrightnessDown exec --no-startup-id $HOME/.config/i3/scripts/brightness.sh down + +exec_always --no-startup-id $wm_setting_app_compositor + +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + +bindsym $mod+$smod+1 move container to workspace 1 +bindsym $mod+$smod+2 move container to workspace 2 +bindsym $mod+$smod+3 move container to workspace 3 +bindsym $mod+$smod+4 move container to workspace 4 +bindsym $mod+$smod+5 move container to workspace 5 +bindsym $mod+$smod+6 move container to workspace 6 +bindsym $mod+$smod+7 move container to workspace 7 +bindsym $mod+$smod+8 move container to workspace 8 +bindsym $mod+$smod+9 move container to workspace 9 +bindsym $mod+$smod+0 move container to workspace 10 + +bindsym $mod+$wm_setting_key_left focus left +bindsym $mod+$wm_setting_key_down focus down +bindsym $mod+$wm_setting_key_up focus up +bindsym $mod+$wm_setting_key_right focus right + +bindsym $mod+$smod+$wm_setting_key_left move left +bindsym $mod+$smod+$wm_setting_key_down move down +bindsym $mod+$smod+$wm_setting_key_up move up +bindsym $mod+$smod+$wm_setting_key_right move right + +bindsym $mod+Tab workspace next +bindsym $mod+$smod+Tab workspace prev + +client.focused $wm_color_border_active_bg $wm_color_border_active_bg $wm_color_border_active_fg $wm_color_border_active_bg $wm_color_border_active_bg +client.focused_inactive $wm_color_border_inactive_bg $wm_color_border_inactive_bg $wm_color_border_inactive_fg $wm_color_border_inactive_bg $wm_color_border_inactive_bg +client.unfocused $wm_color_border_inactive_bg $wm_color_border_inactive_bg $wm_color_border_inactive_fg $wm_color_border_inactive_bg $wm_color_border_inactive_bg +client.urgent $wm_color_border_inactive_bg $wm_color_border_inactive_bg $wm_color_border_inactive_fg $wm_color_border_inactive_bg $wm_color_border_inactive_bg +client.placeholder $wm_color_border_inactive_bg $wm_color_border_inactive_bg $wm_color_border_inactive_fg $wm_color_border_inactive_bg $wm_color_border_inactive_bg +client.background $wm_color_background + +bindsym $mod+r mode "resize" + +mode "resize" { +# These bindings trigger as soon as you enter the resize mode + +# Pressing left will shrink the window’s width. +# Pressing right will grow the window’s width. +# Pressing up will shrink the window’s height. +# Pressing down will grow the window’s height. + bindsym $wm_setting_key_left resize shrink width 10 px or 10 ppt + bindsym $wm_setting_key_down resize grow height 10 px or 10 ppt + bindsym $wm_setting_key_up resize shrink height 10 px or 10 ppt + bindsym $wm_setting_key_right resize grow width 10 px or 10 ppt + +# Resize the gap width and height + bindsym $smod+$wm_setting_key_left gaps horizontal minus 5 + bindsym $smod+$wm_setting_key_down gaps horizontal plus 5 + bindsym $smod+$wm_setting_key_up gaps vertical minus 5 + bindsym $smod+$wm_setting_key_right gaps vertical plus 5 + +# Back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +gaps outer $wm_setting_gap +gaps inner $wm_setting_gap +#smart_gaps on + +default_border pixel $wm_setting_border_size +default_floating_border pixel $wm_setting_border_size +#smart_borders on + +font $wm_setting_font + +floating_modifier $mod + +bindsym $mod+f fullscreen toggle + +bindsym $mod+$smod+f floating toggle + +bindsym $mod+$smod+q kill + +bindsym $mod+$smod+r restart + +bindsym $mod+$smod+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit' + +exec --no-startup-id feh --bg-fill ~/.config/i3/assets/wallpaper/wallpaper.jpg diff --git a/cosmo/config/i3/scripts/brightness.sh b/cosmo/config/i3/scripts/brightness.sh new file mode 100755 index 0000000..8233e09 --- /dev/null +++ b/cosmo/config/i3/scripts/brightness.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +operation="${1}" +brightness="$(cat /sys/class/leds/lcd-backlight/brightness)" + +case "$operation" in + up) + echo "$(( ${brightness} + 15 ))" > /sys/class/leds/lcd-backlight/brightness + ;; + down) + echo "$(( ${brightness} - 15 ))" > /sys/class/leds/lcd-backlight/brightness + ;; +esac diff --git a/graphical/config/eww/eww.scss b/wayland/config/eww/eww.scss similarity index 100% rename from graphical/config/eww/eww.scss rename to wayland/config/eww/eww.scss diff --git a/graphical/config/eww/eww.yuck b/wayland/config/eww/eww.yuck similarity index 100% rename from graphical/config/eww/eww.yuck rename to wayland/config/eww/eww.yuck diff --git a/graphical/config/eww/icons/home/shortcuts/development/cloud.svg b/wayland/config/eww/icons/home/shortcuts/development/cloud.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/cloud.svg rename to wayland/config/eww/icons/home/shortcuts/development/cloud.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/folder-network.svg b/wayland/config/eww/icons/home/shortcuts/development/folder-network.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/folder-network.svg rename to wayland/config/eww/icons/home/shortcuts/development/folder-network.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/network-pos.svg b/wayland/config/eww/icons/home/shortcuts/development/network-pos.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/network-pos.svg rename to wayland/config/eww/icons/home/shortcuts/development/network-pos.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/nintendo-wii.svg b/wayland/config/eww/icons/home/shortcuts/development/nintendo-wii.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/nintendo-wii.svg rename to wayland/config/eww/icons/home/shortcuts/development/nintendo-wii.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/play-network.svg b/wayland/config/eww/icons/home/shortcuts/development/play-network.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/play-network.svg rename to wayland/config/eww/icons/home/shortcuts/development/play-network.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/router-network-wireless.svg b/wayland/config/eww/icons/home/shortcuts/development/router-network-wireless.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/router-network-wireless.svg rename to wayland/config/eww/icons/home/shortcuts/development/router-network-wireless.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/router-network.svg b/wayland/config/eww/icons/home/shortcuts/development/router-network.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/router-network.svg rename to wayland/config/eww/icons/home/shortcuts/development/router-network.svg diff --git a/graphical/config/eww/icons/home/shortcuts/development/server-network.svg b/wayland/config/eww/icons/home/shortcuts/development/server-network.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/development/server-network.svg rename to wayland/config/eww/icons/home/shortcuts/development/server-network.svg diff --git a/graphical/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg b/wayland/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg rename to wayland/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg diff --git a/graphical/config/eww/icons/home/shortcuts/personal/home-assistant.svg b/wayland/config/eww/icons/home/shortcuts/personal/home-assistant.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/personal/home-assistant.svg rename to wayland/config/eww/icons/home/shortcuts/personal/home-assistant.svg diff --git a/graphical/config/eww/icons/home/shortcuts/personal/jellyfin.svg b/wayland/config/eww/icons/home/shortcuts/personal/jellyfin.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/personal/jellyfin.svg rename to wayland/config/eww/icons/home/shortcuts/personal/jellyfin.svg diff --git a/graphical/config/eww/icons/home/shortcuts/personal/mastodon.svg b/wayland/config/eww/icons/home/shortcuts/personal/mastodon.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/personal/mastodon.svg rename to wayland/config/eww/icons/home/shortcuts/personal/mastodon.svg diff --git a/graphical/config/eww/icons/home/shortcuts/personal/nextcloud.svg b/wayland/config/eww/icons/home/shortcuts/personal/nextcloud.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/personal/nextcloud.svg rename to wayland/config/eww/icons/home/shortcuts/personal/nextcloud.svg diff --git a/graphical/config/eww/icons/home/shortcuts/work/briefcase.svg b/wayland/config/eww/icons/home/shortcuts/work/briefcase.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/work/briefcase.svg rename to wayland/config/eww/icons/home/shortcuts/work/briefcase.svg diff --git a/graphical/config/eww/icons/home/shortcuts/work/monitor-multiple.svg b/wayland/config/eww/icons/home/shortcuts/work/monitor-multiple.svg similarity index 100% rename from graphical/config/eww/icons/home/shortcuts/work/monitor-multiple.svg rename to wayland/config/eww/icons/home/shortcuts/work/monitor-multiple.svg diff --git a/graphical/config/eww/icons/red_square.png b/wayland/config/eww/icons/red_square.png similarity index 100% rename from graphical/config/eww/icons/red_square.png rename to wayland/config/eww/icons/red_square.png diff --git a/graphical/config/eww/icons/transparent_square.png b/wayland/config/eww/icons/transparent_square.png similarity index 100% rename from graphical/config/eww/icons/transparent_square.png rename to wayland/config/eww/icons/transparent_square.png diff --git a/graphical/config/eww/modules/bar.yuck b/wayland/config/eww/modules/bar.yuck similarity index 100% rename from graphical/config/eww/modules/bar.yuck rename to wayland/config/eww/modules/bar.yuck diff --git a/graphical/config/eww/modules/bar/battery.yuck b/wayland/config/eww/modules/bar/battery.yuck similarity index 100% rename from graphical/config/eww/modules/bar/battery.yuck rename to wayland/config/eww/modules/bar/battery.yuck diff --git a/graphical/config/eww/modules/bar/bluetooth.yuck b/wayland/config/eww/modules/bar/bluetooth.yuck similarity index 100% rename from graphical/config/eww/modules/bar/bluetooth.yuck rename to wayland/config/eww/modules/bar/bluetooth.yuck diff --git a/graphical/config/eww/modules/bar/clock.yuck b/wayland/config/eww/modules/bar/clock.yuck similarity index 100% rename from graphical/config/eww/modules/bar/clock.yuck rename to wayland/config/eww/modules/bar/clock.yuck diff --git a/graphical/config/eww/modules/bar/idle_inhibit.yuck b/wayland/config/eww/modules/bar/idle_inhibit.yuck similarity index 100% rename from graphical/config/eww/modules/bar/idle_inhibit.yuck rename to wayland/config/eww/modules/bar/idle_inhibit.yuck diff --git a/graphical/config/eww/modules/bar/metric.yuck b/wayland/config/eww/modules/bar/metric.yuck similarity index 100% rename from graphical/config/eww/modules/bar/metric.yuck rename to wayland/config/eww/modules/bar/metric.yuck diff --git a/graphical/config/eww/modules/bar/music.yuck b/wayland/config/eww/modules/bar/music.yuck similarity index 100% rename from graphical/config/eww/modules/bar/music.yuck rename to wayland/config/eww/modules/bar/music.yuck diff --git a/graphical/config/eww/modules/bar/network.yuck b/wayland/config/eww/modules/bar/network.yuck similarity index 100% rename from graphical/config/eww/modules/bar/network.yuck rename to wayland/config/eww/modules/bar/network.yuck diff --git a/graphical/config/eww/modules/bar/notification-center.yuck b/wayland/config/eww/modules/bar/notification-center.yuck similarity index 100% rename from graphical/config/eww/modules/bar/notification-center.yuck rename to wayland/config/eww/modules/bar/notification-center.yuck diff --git a/graphical/config/eww/modules/bar/powermenu.yuck b/wayland/config/eww/modules/bar/powermenu.yuck similarity index 100% rename from graphical/config/eww/modules/bar/powermenu.yuck rename to wayland/config/eww/modules/bar/powermenu.yuck diff --git a/graphical/config/eww/modules/bar/profile.yuck b/wayland/config/eww/modules/bar/profile.yuck similarity index 100% rename from graphical/config/eww/modules/bar/profile.yuck rename to wayland/config/eww/modules/bar/profile.yuck diff --git a/graphical/config/eww/modules/bar/revealer-on-hover.yuck b/wayland/config/eww/modules/bar/revealer-on-hover.yuck similarity index 100% rename from graphical/config/eww/modules/bar/revealer-on-hover.yuck rename to wayland/config/eww/modules/bar/revealer-on-hover.yuck diff --git a/graphical/config/eww/modules/bar/scratchpad.yuck b/wayland/config/eww/modules/bar/scratchpad.yuck similarity index 100% rename from graphical/config/eww/modules/bar/scratchpad.yuck rename to wayland/config/eww/modules/bar/scratchpad.yuck diff --git a/graphical/config/eww/modules/bar/sysdisk.yuck b/wayland/config/eww/modules/bar/sysdisk.yuck similarity index 100% rename from graphical/config/eww/modules/bar/sysdisk.yuck rename to wayland/config/eww/modules/bar/sysdisk.yuck diff --git a/graphical/config/eww/modules/bar/sysmem.yuck b/wayland/config/eww/modules/bar/sysmem.yuck similarity index 100% rename from graphical/config/eww/modules/bar/sysmem.yuck rename to wayland/config/eww/modules/bar/sysmem.yuck diff --git a/graphical/config/eww/modules/bar/tray.yuck b/wayland/config/eww/modules/bar/tray.yuck similarity index 100% rename from graphical/config/eww/modules/bar/tray.yuck rename to wayland/config/eww/modules/bar/tray.yuck diff --git a/graphical/config/eww/modules/bar/volume.yuck b/wayland/config/eww/modules/bar/volume.yuck similarity index 100% rename from graphical/config/eww/modules/bar/volume.yuck rename to wayland/config/eww/modules/bar/volume.yuck diff --git a/graphical/config/eww/modules/bar/vpn.yuck b/wayland/config/eww/modules/bar/vpn.yuck similarity index 100% rename from graphical/config/eww/modules/bar/vpn.yuck rename to wayland/config/eww/modules/bar/vpn.yuck diff --git a/graphical/config/eww/modules/bar/window_name.yuck b/wayland/config/eww/modules/bar/window_name.yuck similarity index 100% rename from graphical/config/eww/modules/bar/window_name.yuck rename to wayland/config/eww/modules/bar/window_name.yuck diff --git a/graphical/config/eww/modules/bar/window_name1.yuck b/wayland/config/eww/modules/bar/window_name1.yuck similarity index 100% rename from graphical/config/eww/modules/bar/window_name1.yuck rename to wayland/config/eww/modules/bar/window_name1.yuck diff --git a/graphical/config/eww/modules/bar/workspaces.yuck b/wayland/config/eww/modules/bar/workspaces.yuck similarity index 100% rename from graphical/config/eww/modules/bar/workspaces.yuck rename to wayland/config/eww/modules/bar/workspaces.yuck diff --git a/graphical/config/eww/modules/home.yuck b/wayland/config/eww/modules/home.yuck similarity index 100% rename from graphical/config/eww/modules/home.yuck rename to wayland/config/eww/modules/home.yuck diff --git a/graphical/config/eww/modules/home/mcstatus.yuck b/wayland/config/eww/modules/home/mcstatus.yuck similarity index 100% rename from graphical/config/eww/modules/home/mcstatus.yuck rename to wayland/config/eww/modules/home/mcstatus.yuck diff --git a/graphical/config/eww/modules/home/notes.yuck b/wayland/config/eww/modules/home/notes.yuck similarity index 100% rename from graphical/config/eww/modules/home/notes.yuck rename to wayland/config/eww/modules/home/notes.yuck diff --git a/graphical/config/eww/modules/home/nowplayingart.yuck b/wayland/config/eww/modules/home/nowplayingart.yuck similarity index 100% rename from graphical/config/eww/modules/home/nowplayingart.yuck rename to wayland/config/eww/modules/home/nowplayingart.yuck diff --git a/graphical/config/eww/modules/home/rat.yuck b/wayland/config/eww/modules/home/rat.yuck similarity index 100% rename from graphical/config/eww/modules/home/rat.yuck rename to wayland/config/eww/modules/home/rat.yuck diff --git a/graphical/config/eww/modules/home/reminders.yuck b/wayland/config/eww/modules/home/reminders.yuck similarity index 100% rename from graphical/config/eww/modules/home/reminders.yuck rename to wayland/config/eww/modules/home/reminders.yuck diff --git a/graphical/config/eww/modules/home/revealer-on-press.yuck b/wayland/config/eww/modules/home/revealer-on-press.yuck similarity index 100% rename from graphical/config/eww/modules/home/revealer-on-press.yuck rename to wayland/config/eww/modules/home/revealer-on-press.yuck diff --git a/graphical/config/eww/modules/home/shortcuts.yuck b/wayland/config/eww/modules/home/shortcuts.yuck similarity index 100% rename from graphical/config/eww/modules/home/shortcuts.yuck rename to wayland/config/eww/modules/home/shortcuts.yuck diff --git a/graphical/config/eww/modules/home/softwareupdates.yuck b/wayland/config/eww/modules/home/softwareupdates.yuck similarity index 100% rename from graphical/config/eww/modules/home/softwareupdates.yuck rename to wayland/config/eww/modules/home/softwareupdates.yuck diff --git a/graphical/config/eww/modules/home/weather.yuck b/wayland/config/eww/modules/home/weather.yuck similarity index 100% rename from graphical/config/eww/modules/home/weather.yuck rename to wayland/config/eww/modules/home/weather.yuck diff --git a/graphical/config/eww/scripts/bar/active-workspace b/wayland/config/eww/scripts/bar/active-workspace similarity index 100% rename from graphical/config/eww/scripts/bar/active-workspace rename to wayland/config/eww/scripts/bar/active-workspace diff --git a/graphical/config/eww/scripts/bar/activewindow b/wayland/config/eww/scripts/bar/activewindow similarity index 100% rename from graphical/config/eww/scripts/bar/activewindow rename to wayland/config/eww/scripts/bar/activewindow diff --git a/graphical/config/eww/scripts/bar/bluetooth b/wayland/config/eww/scripts/bar/bluetooth similarity index 100% rename from graphical/config/eww/scripts/bar/bluetooth rename to wayland/config/eww/scripts/bar/bluetooth diff --git a/graphical/config/eww/scripts/bar/eww-idle-inhibit b/wayland/config/eww/scripts/bar/eww-idle-inhibit similarity index 100% rename from graphical/config/eww/scripts/bar/eww-idle-inhibit rename to wayland/config/eww/scripts/bar/eww-idle-inhibit diff --git a/graphical/config/eww/scripts/bar/network-manager b/wayland/config/eww/scripts/bar/network-manager similarity index 100% rename from graphical/config/eww/scripts/bar/network-manager rename to wayland/config/eww/scripts/bar/network-manager diff --git a/graphical/config/eww/scripts/bar/network-updown b/wayland/config/eww/scripts/bar/network-updown similarity index 100% rename from graphical/config/eww/scripts/bar/network-updown rename to wayland/config/eww/scripts/bar/network-updown diff --git a/graphical/config/eww/scripts/bar/networking b/wayland/config/eww/scripts/bar/networking similarity index 100% rename from graphical/config/eww/scripts/bar/networking rename to wayland/config/eww/scripts/bar/networking diff --git a/graphical/config/eww/scripts/bar/nmcli-vpn b/wayland/config/eww/scripts/bar/nmcli-vpn similarity index 100% rename from graphical/config/eww/scripts/bar/nmcli-vpn rename to wayland/config/eww/scripts/bar/nmcli-vpn diff --git a/graphical/config/eww/scripts/bar/nowplaying b/wayland/config/eww/scripts/bar/nowplaying similarity index 100% rename from graphical/config/eww/scripts/bar/nowplaying rename to wayland/config/eww/scripts/bar/nowplaying diff --git a/graphical/config/eww/scripts/bar/powermenu b/wayland/config/eww/scripts/bar/powermenu similarity index 100% rename from graphical/config/eww/scripts/bar/powermenu rename to wayland/config/eww/scripts/bar/powermenu diff --git a/graphical/config/eww/scripts/bar/profile b/wayland/config/eww/scripts/bar/profile similarity index 100% rename from graphical/config/eww/scripts/bar/profile rename to wayland/config/eww/scripts/bar/profile diff --git a/graphical/config/eww/scripts/bar/profile-info.sh b/wayland/config/eww/scripts/bar/profile-info.sh similarity index 100% rename from graphical/config/eww/scripts/bar/profile-info.sh rename to wayland/config/eww/scripts/bar/profile-info.sh diff --git a/graphical/config/eww/scripts/bar/profile-name b/wayland/config/eww/scripts/bar/profile-name similarity index 100% rename from graphical/config/eww/scripts/bar/profile-name rename to wayland/config/eww/scripts/bar/profile-name diff --git a/graphical/config/eww/scripts/bar/scratchpad b/wayland/config/eww/scripts/bar/scratchpad similarity index 100% rename from graphical/config/eww/scripts/bar/scratchpad rename to wayland/config/eww/scripts/bar/scratchpad diff --git a/graphical/config/eww/scripts/bar/volume b/wayland/config/eww/scripts/bar/volume similarity index 100% rename from graphical/config/eww/scripts/bar/volume rename to wayland/config/eww/scripts/bar/volume diff --git a/graphical/config/eww/scripts/bar/workspaces b/wayland/config/eww/scripts/bar/workspaces similarity index 100% rename from graphical/config/eww/scripts/bar/workspaces rename to wayland/config/eww/scripts/bar/workspaces diff --git a/graphical/config/eww/scripts/home/hass_weather b/wayland/config/eww/scripts/home/hass_weather similarity index 100% rename from graphical/config/eww/scripts/home/hass_weather rename to wayland/config/eww/scripts/home/hass_weather diff --git a/graphical/config/eww/scripts/home/mcstatus b/wayland/config/eww/scripts/home/mcstatus similarity index 100% rename from graphical/config/eww/scripts/home/mcstatus rename to wayland/config/eww/scripts/home/mcstatus diff --git a/graphical/config/eww/scripts/home/notes b/wayland/config/eww/scripts/home/notes similarity index 100% rename from graphical/config/eww/scripts/home/notes rename to wayland/config/eww/scripts/home/notes diff --git a/graphical/config/eww/scripts/home/nowplaying-artist.sh b/wayland/config/eww/scripts/home/nowplaying-artist.sh similarity index 100% rename from graphical/config/eww/scripts/home/nowplaying-artist.sh rename to wayland/config/eww/scripts/home/nowplaying-artist.sh diff --git a/graphical/config/eww/scripts/home/nowplaying-title.sh b/wayland/config/eww/scripts/home/nowplaying-title.sh similarity index 100% rename from graphical/config/eww/scripts/home/nowplaying-title.sh rename to wayland/config/eww/scripts/home/nowplaying-title.sh diff --git a/graphical/config/eww/scripts/home/nowplaying.sh b/wayland/config/eww/scripts/home/nowplaying.sh similarity index 100% rename from graphical/config/eww/scripts/home/nowplaying.sh rename to wayland/config/eww/scripts/home/nowplaying.sh diff --git a/graphical/config/eww/scripts/home/nowplayingart.sh b/wayland/config/eww/scripts/home/nowplayingart.sh similarity index 100% rename from graphical/config/eww/scripts/home/nowplayingart.sh rename to wayland/config/eww/scripts/home/nowplayingart.sh diff --git a/graphical/config/eww/scripts/home/randomrat b/wayland/config/eww/scripts/home/randomrat similarity index 100% rename from graphical/config/eww/scripts/home/randomrat rename to wayland/config/eww/scripts/home/randomrat diff --git a/graphical/config/eww/scripts/home/reminders b/wayland/config/eww/scripts/home/reminders similarity index 100% rename from graphical/config/eww/scripts/home/reminders rename to wayland/config/eww/scripts/home/reminders diff --git a/graphical/config/eww/scripts/home/shortcuts/development/SMB b/wayland/config/eww/scripts/home/shortcuts/development/SMB similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/SMB rename to wayland/config/eww/scripts/home/shortcuts/development/SMB diff --git a/graphical/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 b/wayland/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 rename to wayland/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 diff --git a/graphical/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 b/wayland/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 rename to wayland/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 diff --git a/graphical/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian b/wayland/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian rename to wayland/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian diff --git a/graphical/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian b/wayland/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian rename to wayland/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian diff --git a/graphical/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av b/wayland/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av rename to wayland/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av diff --git a/graphical/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 b/wayland/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 rename to wayland/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 diff --git a/graphical/config/eww/scripts/home/shortcuts/work/2nd_monitor b/wayland/config/eww/scripts/home/shortcuts/work/2nd_monitor similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/work/2nd_monitor rename to wayland/config/eww/scripts/home/shortcuts/work/2nd_monitor diff --git a/graphical/config/eww/scripts/home/shortcuts/work/lanecc_links b/wayland/config/eww/scripts/home/shortcuts/work/lanecc_links similarity index 100% rename from graphical/config/eww/scripts/home/shortcuts/work/lanecc_links rename to wayland/config/eww/scripts/home/shortcuts/work/lanecc_links diff --git a/graphical/config/eww/scripts/home/weather b/wayland/config/eww/scripts/home/weather similarity index 100% rename from graphical/config/eww/scripts/home/weather rename to wayland/config/eww/scripts/home/weather diff --git a/graphical/config/eww/scripts/home/weather-icon b/wayland/config/eww/scripts/home/weather-icon similarity index 100% rename from graphical/config/eww/scripts/home/weather-icon rename to wayland/config/eww/scripts/home/weather-icon diff --git a/graphical/config/eww/style/bar.scss b/wayland/config/eww/style/bar.scss similarity index 100% rename from graphical/config/eww/style/bar.scss rename to wayland/config/eww/style/bar.scss diff --git a/graphical/config/eww/style/bar/battery.scss b/wayland/config/eww/style/bar/battery.scss similarity index 100% rename from graphical/config/eww/style/bar/battery.scss rename to wayland/config/eww/style/bar/battery.scss diff --git a/graphical/config/eww/style/bar/bluetooth.scss b/wayland/config/eww/style/bar/bluetooth.scss similarity index 100% rename from graphical/config/eww/style/bar/bluetooth.scss rename to wayland/config/eww/style/bar/bluetooth.scss diff --git a/graphical/config/eww/style/bar/charts.scss b/wayland/config/eww/style/bar/charts.scss similarity index 100% rename from graphical/config/eww/style/bar/charts.scss rename to wayland/config/eww/style/bar/charts.scss diff --git a/graphical/config/eww/style/bar/clock.scss b/wayland/config/eww/style/bar/clock.scss similarity index 100% rename from graphical/config/eww/style/bar/clock.scss rename to wayland/config/eww/style/bar/clock.scss diff --git a/graphical/config/eww/style/bar/disk.scss b/wayland/config/eww/style/bar/disk.scss similarity index 100% rename from graphical/config/eww/style/bar/disk.scss rename to wayland/config/eww/style/bar/disk.scss diff --git a/graphical/config/eww/style/bar/idle-inhibitor.scss b/wayland/config/eww/style/bar/idle-inhibitor.scss similarity index 100% rename from graphical/config/eww/style/bar/idle-inhibitor.scss rename to wayland/config/eww/style/bar/idle-inhibitor.scss diff --git a/graphical/config/eww/style/bar/memory.scss b/wayland/config/eww/style/bar/memory.scss similarity index 100% rename from graphical/config/eww/style/bar/memory.scss rename to wayland/config/eww/style/bar/memory.scss diff --git a/graphical/config/eww/style/bar/networking.scss b/wayland/config/eww/style/bar/networking.scss similarity index 100% rename from graphical/config/eww/style/bar/networking.scss rename to wayland/config/eww/style/bar/networking.scss diff --git a/graphical/config/eww/style/bar/notification-center.scss b/wayland/config/eww/style/bar/notification-center.scss similarity index 100% rename from graphical/config/eww/style/bar/notification-center.scss rename to wayland/config/eww/style/bar/notification-center.scss diff --git a/graphical/config/eww/style/bar/power.scss b/wayland/config/eww/style/bar/power.scss similarity index 100% rename from graphical/config/eww/style/bar/power.scss rename to wayland/config/eww/style/bar/power.scss diff --git a/graphical/config/eww/style/bar/scratchpad.scss b/wayland/config/eww/style/bar/scratchpad.scss similarity index 100% rename from graphical/config/eww/style/bar/scratchpad.scss rename to wayland/config/eww/style/bar/scratchpad.scss diff --git a/graphical/config/eww/style/bar/styles/button.scss b/wayland/config/eww/style/bar/styles/button.scss similarity index 100% rename from graphical/config/eww/style/bar/styles/button.scss rename to wayland/config/eww/style/bar/styles/button.scss diff --git a/graphical/config/eww/style/bar/styles/revealer.scss b/wayland/config/eww/style/bar/styles/revealer.scss similarity index 100% rename from graphical/config/eww/style/bar/styles/revealer.scss rename to wayland/config/eww/style/bar/styles/revealer.scss diff --git a/graphical/config/eww/style/bar/sys.scss b/wayland/config/eww/style/bar/sys.scss similarity index 100% rename from graphical/config/eww/style/bar/sys.scss rename to wayland/config/eww/style/bar/sys.scss diff --git a/graphical/config/eww/style/bar/tray.scss b/wayland/config/eww/style/bar/tray.scss similarity index 100% rename from graphical/config/eww/style/bar/tray.scss rename to wayland/config/eww/style/bar/tray.scss diff --git a/graphical/config/eww/style/bar/volume.scss b/wayland/config/eww/style/bar/volume.scss similarity index 100% rename from graphical/config/eww/style/bar/volume.scss rename to wayland/config/eww/style/bar/volume.scss diff --git a/graphical/config/eww/style/bar/window_title.scss b/wayland/config/eww/style/bar/window_title.scss similarity index 100% rename from graphical/config/eww/style/bar/window_title.scss rename to wayland/config/eww/style/bar/window_title.scss diff --git a/graphical/config/eww/style/bar/workspaces.scss b/wayland/config/eww/style/bar/workspaces.scss similarity index 100% rename from graphical/config/eww/style/bar/workspaces.scss rename to wayland/config/eww/style/bar/workspaces.scss diff --git a/graphical/config/eww/style/colors.scss b/wayland/config/eww/style/colors.scss similarity index 100% rename from graphical/config/eww/style/colors.scss rename to wayland/config/eww/style/colors.scss diff --git a/graphical/config/eww/variables/bar/bluetooth.yuck b/wayland/config/eww/variables/bar/bluetooth.yuck similarity index 100% rename from graphical/config/eww/variables/bar/bluetooth.yuck rename to wayland/config/eww/variables/bar/bluetooth.yuck diff --git a/graphical/config/eww/variables/bar/music.yuck b/wayland/config/eww/variables/bar/music.yuck similarity index 100% rename from graphical/config/eww/variables/bar/music.yuck rename to wayland/config/eww/variables/bar/music.yuck diff --git a/graphical/config/eww/variables/bar/network-manager.yuck b/wayland/config/eww/variables/bar/network-manager.yuck similarity index 100% rename from graphical/config/eww/variables/bar/network-manager.yuck rename to wayland/config/eww/variables/bar/network-manager.yuck diff --git a/graphical/config/eww/variables/bar/network.yuck b/wayland/config/eww/variables/bar/network.yuck similarity index 100% rename from graphical/config/eww/variables/bar/network.yuck rename to wayland/config/eww/variables/bar/network.yuck diff --git a/graphical/config/eww/variables/bar/profile-info.yuck b/wayland/config/eww/variables/bar/profile-info.yuck similarity index 100% rename from graphical/config/eww/variables/bar/profile-info.yuck rename to wayland/config/eww/variables/bar/profile-info.yuck diff --git a/graphical/config/eww/variables/bar/sway-info.yuck b/wayland/config/eww/variables/bar/sway-info.yuck similarity index 100% rename from graphical/config/eww/variables/bar/sway-info.yuck rename to wayland/config/eww/variables/bar/sway-info.yuck diff --git a/graphical/config/eww/volume.ogg b/wayland/config/eww/volume.ogg similarity index 100% rename from graphical/config/eww/volume.ogg rename to wayland/config/eww/volume.ogg diff --git a/x11/Xsession b/x11/Xsession new file mode 100644 index 0000000..a195a30 --- /dev/null +++ b/x11/Xsession @@ -0,0 +1,4 @@ +QT_QPA_PLATFORMTHEME=qt6ct +QT_QPA_PLATFORMTHEME_QT6=qt6ct +GTK_THEME=pogmom-gtk +DIALOG=kdialog diff --git a/x11/config/eww/eww.scss b/x11/config/eww/eww.scss new file mode 100644 index 0000000..6e584a0 --- /dev/null +++ b/x11/config/eww/eww.scss @@ -0,0 +1,270 @@ +* { + all: unset; // Unsets everything so you can style everything from scratch + +/* font-family: FontAwesome, Overpass; */ + font-family: PogmomIcons, Overpass Nerd Font Propo; +} + +@import "./style/colors.scss"; + +$bar-module-width: 25px; +$bar-module-bg-color: rgba($color5,0.0); +$bar-bg-color: rgba($color5,1); +$bar-fg-color: rgba($color15,1); +$bar-module-fg-color: rgba($color0,0.8); +$bar-module-inactive-fg-color: rgba($color0,0.4); +$bar-module-active-fg-color: rgba($color13,0.9); +// $bar-active-bg-color: rgba($color1,0.5); +// $bar-active-fg-color: $color1; +// $bar-module-active-shadow: 1px 1px 4px rgba($color5,0.5),-1px 1px 4px rgba($color5,0.5),1px -1px 4px rgba($color5,0.5),-1px -1px 4px rgba($color5,0.5); +$bar-module-active-shadow: 1px 1px 4px rgba($color8,0.6),-1px 1px 4px rgba($color8,0.6),1px -1px 4px rgba($color8,0.6),-1px -1px 4px rgba($color8,0.6); +$bar-module-hover-shadow: 1px 1px 4px rgba($color8,0.45),-1px 1px 4px rgba($color8,0.45),1px -1px 4px rgba($color8,0.45),-1px -1px 4px rgba($color8,0.45); +$bar-hover-bg-color: rgba($color1,0.5); +$bar-hover-fg-color: rgba($color13,0.6); +//$bar-module-border-radius: 8px; +$bar-module-border-radius: 12px; +$bar-module-bg-border-radius: $bar-module-border-radius - 3; +//$bar-module-inner-radius: $bar-module-border-radius - 2; +$bar-module-inner-radius: $bar-module-border-radius - 6; + +@import "./style/bar.scss"; + +.bar { +menu { + color: $color5; + font-weight: bold; + background-color: rgba($color0,0.75); + border: 2px solid rgba($color5,0.65); + border-radius: $bar-module-border-radius; + menuitem { + padding:10px; + margin:5px 10px; + transition: all .2s ease; + &:backdrop { + background-color:green; + } + &:not(:disabled) { + background-color: rgba($color8,0.6); + border: 2px solid rgba($color0,0.5); + border-radius:6px; + } + &:hover { + background-color:rgba($color12,0.5); + color: $color1; + } + } +} +} +tooltip{ + color: $color5; + font-weight: bold; + background-color: rgba($color0,0.85); + border: 2px solid rgba($color5,0.65); + border-radius: 8px; +} + +$home-widget-bg-color: rgba($color0,0.85); +$home-widget-border-radius: 8px; +$home-widget-title-radius: $home-widget-border-radius $home-widget-border-radius 0px 0px; +$home-button-border-radius: 6px; +$home-button-circle-border-radius: 30px; +$home-button-bg-color: rgba($color5, 0.15); +$home-button-fg-opacity: 1; +$home-button-fg-color: rgba($color5,$home-button-fg-opacity); +$home-widget-subtitle-color: rgba($color7,0.6); +$home-button-hover-bg-color: rgba($color1, 0.5); +$home-widget-border-color: rgba($color5,1); +$home-widget-border-hover-color: rgba($color5,0.3); + +revealer.home { + font-size: 0.95em; + padding-bottom: 25px; + &>box { +// & scrolledwindow, viewport.frame, box.home { //box.home { +// & scrolledwindow>*, viewport.frame, box.home { //box.home { +// border: 3px solid blue; +// + border-radius: 0px 20px 0px 20px; +// } + margin: 3px 10px; + &:first-child { + padding-top: 10px; + } + &:last-child { + padding-bottom: 10px; + } + } + + + .nowplayingbar { + padding: 0px; + border: 2px solid $home-widget-border-color; + border-radius: $home-widget-border-radius; + background-color: $home-widget-bg-color; + .mediadetails { + margin: 10px 15px; + label { + margin: 0px; + } + &.fullwidth { + margin: 5px 35px; + } + } + .art-button-overlay { + &.small { + font-size: 2em; + margin: 20px 0px 20px 20px; + } + &.big { + font-size: 3em; + margin: 20px; + } + background-color: rgba($color0,0.5); + color: $color5; + border-radius: $home-widget-border-radius; + } + .nowplayingart { + &.small { + margin: 20px 0px 20px 20px; + } + &.big { + margin: 25px; + min-height: 250px; + } + border: 1px solid $home-widget-border-color; + border-radius: $home-widget-border-radius; + background-position: center; + background-size: cover; + background-repeat: no-repeat; + } + .mediabutton { + background-color: $home-button-bg-color; + border-radius: $home-button-circle-border-radius; + color: $home-button-fg-color; + transition: all 0.3s; + &:hover{ + background-color: $home-button-hover-bg-color; + } + } + } + .rat { + background-position: center; + background-size: cover; + background-repeat: no-repeat; + border-radius: $home-widget-border-radius; + box-shadow: inset 0 0 0px 2px $home-widget-border-color, 0px 0px 9px 0px $home-widget-bg-color; + } + .minecraft { + .icon { + background-repeat: no-repeat; + background-position: center; + background-size: cover; + margin: 10px; + border-radius: $home-widget-border-radius; + } + .details { +// * { border: 2px solid red; } + color: $home-button-fg-color; + .title { + font-size: 1.1em; + font-weight: bold; + } + .motd { + color: $home-widget-subtitle-color; + font-size: 0.8em; + } + margin: 10px; + } + .button { + color: $home-button-fg-color; + background-color: $home-button-bg-color; + border-radius: $home-button-border-radius; + padding: 5px 0px; + margin: 0px 10px 10px; + transition: all 0.3s; + &:hover { + opacity: 0.5; + } + } + } + .weather { + color: $home-button-fg-color; + padding: 8px; + .weather-subtitle{ + font-size: 0.8em; + color: $home-widget-subtitle-color; + } + } + .revealer-on-press { + border: 2px solid $home-widget-border-color; + border-radius: $home-widget-border-radius; + background-color: $home-widget-bg-color; +// box-shadow: 0px 0px 9px 0px $home-widget-bg-color; + } + .revealer-title { + background-color: $home-widget-border-color; + color: $home-widget-bg-color; + padding-bottom: 2px; + font-weight: bold; + transition: all 0.3s; + &:hover { + background-color: $home-widget-border-hover-color; + } + } + .weather, + .notes, + .shortcuts, + .reminders { + border-top: 2px solid $home-widget-border-color; + } + .notes, + .reminders { + color: $home-button-fg-color; + padding: 10px; + button { + background-color: $home-button-bg-color; + border-radius: $home-button-border-radius; + padding: 4px 8px; + margin: 4px; + transition: all 0.3s; + box { + .timestamp { + font-size: 0.8em; + margin-top: 2px; + color: $home-widget-subtitle-color; + } + .details { + font-size: 0.8em; + color: $home-widget-subtitle-color; + margin: 1px 10px; + } + .status { + margin: 0px 10px; + } + } + image { + opacity: $home-button-fg-opacity; + } + } + button:hover { + background-color: $home-button-hover-bg-color; + } + } + .shortcuts { + color: $home-button-fg-color; + padding: 15px; + button { + background-color: $home-button-bg-color; + border-radius: $home-button-circle-border-radius; + margin: 5px; + font-size: 1.2em; + transition: all 0.3s; + label { + font-size: 1.2em; + } + } + button:hover { + background-color: $home-button-hover-bg-color; + } + } +} diff --git a/x11/config/eww/eww.yuck b/x11/config/eww/eww.yuck new file mode 100644 index 0000000..de84c9f --- /dev/null +++ b/x11/config/eww/eww.yuck @@ -0,0 +1,29 @@ +(include "modules/bar.yuck") + +(defwindow bar + :windowtype "dock" + :exclusive true + :namespace "eww-bar" + :geometry (geometry :x "0%" +; :y "0%" + :y "5px" + :width "100%" + :height "30px" +; :anchor "top") + :anchor "top center") +; :reserve (struts :side "top" :distance "4%") + :reserve (struts :side "top" :distance "30px") + (bar)) + +(include "modules/home.yuck") + +(defwindow home + :windowtype "normal" + :exclusive false + :geometry (geometry +; :y "27px" +; :width "300px" + :height "100%" + :anchor "center left") + :stacking "foreground" + (home)) diff --git a/x11/config/eww/icons/home/shortcuts/development/cloud.svg b/x11/config/eww/icons/home/shortcuts/development/cloud.svg new file mode 100644 index 0000000..8ff8f2f --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/cloud.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/folder-network.svg b/x11/config/eww/icons/home/shortcuts/development/folder-network.svg new file mode 100644 index 0000000..9d15bff --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/folder-network.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/network-pos.svg b/x11/config/eww/icons/home/shortcuts/development/network-pos.svg new file mode 100644 index 0000000..ce1db12 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/network-pos.svg @@ -0,0 +1,36 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/nintendo-wii.svg b/x11/config/eww/icons/home/shortcuts/development/nintendo-wii.svg new file mode 100644 index 0000000..991029a --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/nintendo-wii.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/play-network.svg b/x11/config/eww/icons/home/shortcuts/development/play-network.svg new file mode 100644 index 0000000..d46530b --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/play-network.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/router-network-wireless.svg b/x11/config/eww/icons/home/shortcuts/development/router-network-wireless.svg new file mode 100644 index 0000000..e9850bd --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/router-network-wireless.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/router-network.svg b/x11/config/eww/icons/home/shortcuts/development/router-network.svg new file mode 100644 index 0000000..d574a16 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/router-network.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/development/server-network.svg b/x11/config/eww/icons/home/shortcuts/development/server-network.svg new file mode 100644 index 0000000..3eb281a --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/development/server-network.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg b/x11/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg new file mode 100644 index 0000000..9281889 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/personal/ceiling-light-multiple.svg @@ -0,0 +1,36 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/personal/home-assistant.svg b/x11/config/eww/icons/home/shortcuts/personal/home-assistant.svg new file mode 100644 index 0000000..8efb113 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/personal/home-assistant.svg @@ -0,0 +1,36 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/personal/jellyfin.svg b/x11/config/eww/icons/home/shortcuts/personal/jellyfin.svg new file mode 100644 index 0000000..89fe9a5 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/personal/jellyfin.svg @@ -0,0 +1,43 @@ + + + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/personal/mastodon.svg b/x11/config/eww/icons/home/shortcuts/personal/mastodon.svg new file mode 100644 index 0000000..7cce1e1 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/personal/mastodon.svg @@ -0,0 +1,53 @@ + + + + + Mastodon + + + + + Mastodon + + + + diff --git a/x11/config/eww/icons/home/shortcuts/personal/nextcloud.svg b/x11/config/eww/icons/home/shortcuts/personal/nextcloud.svg new file mode 100644 index 0000000..f996af4 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/personal/nextcloud.svg @@ -0,0 +1,41 @@ + + + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/work/briefcase.svg b/x11/config/eww/icons/home/shortcuts/work/briefcase.svg new file mode 100644 index 0000000..4b896b7 --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/work/briefcase.svg @@ -0,0 +1,36 @@ + + + + + + diff --git a/x11/config/eww/icons/home/shortcuts/work/monitor-multiple.svg b/x11/config/eww/icons/home/shortcuts/work/monitor-multiple.svg new file mode 100644 index 0000000..024aedd --- /dev/null +++ b/x11/config/eww/icons/home/shortcuts/work/monitor-multiple.svg @@ -0,0 +1,37 @@ + + + + + + diff --git a/x11/config/eww/icons/red_square.png b/x11/config/eww/icons/red_square.png new file mode 100644 index 0000000..a917c4c Binary files /dev/null and b/x11/config/eww/icons/red_square.png differ diff --git a/x11/config/eww/icons/transparent_square.png b/x11/config/eww/icons/transparent_square.png new file mode 100644 index 0000000..af1f58c Binary files /dev/null and b/x11/config/eww/icons/transparent_square.png differ diff --git a/x11/config/eww/modules/bar.yuck b/x11/config/eww/modules/bar.yuck new file mode 100644 index 0000000..647982a --- /dev/null +++ b/x11/config/eww/modules/bar.yuck @@ -0,0 +1,78 @@ +(defwidget bar [] + (centerbox :orientation "h" + (leftgroup) + (centergroup) + (rightgroup))) + +;widget templates +(include "modules/bar/revealer-on-hover.yuck") +(include "modules/bar/metric.yuck") + +;centerbar groups + +(defwidget leftgroup [] + (box +; :class "leftgroup ${((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'Work') ? 'profile-work' : ((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'School') ? 'profile-school' : ((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'Development') ? 'profile-development' : ((jq(sway_info,'workspace_info[] | select(.is_focused) | .profile_name','r') == 'Penelope') ? 'profile-personal' : ''))))}" + :orientation "h" + :space-evenly false + :halign "start" +; (powermenu) +; (profile) +; (workspaces :array {jq(sway_info,'.workspace_info','r')}) +; (scratchpad) +; (windowtitle) + )) + +(defwidget centergroup [] + (box :visible false + :class "centergroup" + :orientation "h" + :space-evenly false + :halign "start")) + +(defwidget rightgroup [] + (box :class "rightgroup" + :orientation "h" + :space-evenly false + :halign "end" +; (idleinhibit) + (volume) + (network) + (vpn) + (bluetooth) + (battery) + (sysdisk) + (sysmem) + (clock) + (tray) +; (notification_center) + )) + +;(include "variables/bar/profile-info.yuck") +;(include "variables/bar/sway-info.yuck") + +;leftgroup imports +;(include "modules/bar/powermenu.yuck") +;(include "modules/bar/profile.yuck") +;(include "modules/bar/workspaces.yuck") +;(include "modules/bar/window_name.yuck") +;(include "modules/bar/scratchpad.yuck") + +;centergroup +;(include "variables/bar/music.yuck") +;(include "modules/bar/music.yuck") + +;rightgroup +(include "modules/bar/idle_inhibit.yuck") +(include "modules/bar/volume.yuck") +(include "variables/bar/network-manager.yuck") +(include "modules/bar/network.yuck") +(include "modules/bar/vpn.yuck") +(include "variables/bar/bluetooth.yuck") +(include "modules/bar/bluetooth.yuck") +(include "modules/bar/battery.yuck") +(include "modules/bar/sysdisk.yuck") +(include "modules/bar/sysmem.yuck") +(include "modules/bar/clock.yuck") +(include "modules/bar/tray.yuck") +;(include "modules/bar/notification-center.yuck") diff --git a/x11/config/eww/modules/bar/battery.yuck b/x11/config/eww/modules/bar/battery.yuck new file mode 100644 index 0000000..c26839f --- /dev/null +++ b/x11/config/eww/modules/bar/battery.yuck @@ -0,0 +1,21 @@ +(defvar reveal_battery false) + +(defwidget battery [] + (revealer-on-hover :class "${reveal_battery} battery" + :revealvar reveal_battery + :revealvar-name "reveal_battery" + (label :class "revealer-preview ${(EWW_BATTERY == '' || jq(EWW_BATTERY,'.[].status?','r') == 'Charging') ? 'active' : '' }" + :tooltip `${(EWW_BATTERY == "" || jq(EWW_BATTERY,'.[].status?') == '"Charging"') ? "Charging" : "Discharging"}, ${(EWW_BATTERY == "") ? "" : "${round(jq(EWW_BATTERY,'.total_avg?'),1)}% of total average"}` + :text `${(EWW_BATTERY == "" || jq(EWW_BATTERY,'.[].status?') == '"Charging"') ? " " : "󰁹 "}${(EWW_BATTERY == "") ? "" : "${round(jq(EWW_BATTERY,'first(.[].capacity?)'),0)}%"}`) + (battery_children))) + +(defwidget battery_children [] + (box :class "reveal-children" + :orientation "h" + :space-evenly false + :halign "center" + (box + (progress :height 10 + :valign "center" + :value {(EWW_BATTERY == "") ? 100 : jq(EWW_BATTERY,'first(.[].capacity?)')} + :orientation "h")))) diff --git a/x11/config/eww/modules/bar/bluetooth.yuck b/x11/config/eww/modules/bar/bluetooth.yuck new file mode 100644 index 0000000..39cd13f --- /dev/null +++ b/x11/config/eww/modules/bar/bluetooth.yuck @@ -0,0 +1,21 @@ +(defvar reveal_bluetooth false) + +(defwidget bluetooth [] + (revealer-on-hover :class "${reveal_bluetooth} bluetooth" + :revealvar reveal_bluetooth + :revealvar-name "reveal_bluetooth" + (button :onclick 'blueman-manager' + :class "revealer-preview ${matches(jq(bluetooth_status,'.[].connected'),'yes') ? 'active' : 'inactive'}" + "") + (bluetooth_children :array bluetooth_status))) + +(defwidget bluetooth_children [array] +(box :class "reveal-children" + :orientation "h" + :space-evenly true + :halign "start" + (for device in array + (button :onclick {(device.connected == "yes") ? 'bluetoothctl disconnect "${device.address}"' : 'bluetoothctl connect "${device.address}"'} + :class {(device.connected == "yes") ? "active" : "inactive"} + :tooltip "${device.name}" + "${device.icon}")))) diff --git a/x11/config/eww/modules/bar/clock.yuck b/x11/config/eww/modules/bar/clock.yuck new file mode 100644 index 0000000..940e975 --- /dev/null +++ b/x11/config/eww/modules/bar/clock.yuck @@ -0,0 +1,3 @@ +(defwidget clock [] + (label :class "datetime" + :text {formattime(EWW_TIME,"%b %d, %Y | %H:%M")})) diff --git a/x11/config/eww/modules/bar/idle_inhibit.yuck b/x11/config/eww/modules/bar/idle_inhibit.yuck new file mode 100644 index 0000000..f4627c2 --- /dev/null +++ b/x11/config/eww/modules/bar/idle_inhibit.yuck @@ -0,0 +1,7 @@ +(defvar inhibit_active false) + +(defwidget idleinhibit [] + (box :class "idle-inhibitor ${inhibit_active ? 'active' : 'inactive'}" + (button :onclick {inhibit_active ? 'killall eww-idle-inhibit;eww update inhibit_active=false' : 'systemd-inhibit --what="idle" --mode="block" scripts/bar/eww-idle-inhibit & eww update inhibit_active=true'} + :tooltip "Idling is ${inhibit_active ? '' : 'not '}inhibited" + {inhibit_active ? "" : ""}))) diff --git a/x11/config/eww/modules/bar/metric.yuck b/x11/config/eww/modules/bar/metric.yuck new file mode 100644 index 0000000..bb26fbd --- /dev/null +++ b/x11/config/eww/modules/bar/metric.yuck @@ -0,0 +1,12 @@ +(defwidget metric [label value] + (box :orientation "h" + :class "metric" + :space-evenly false + (box :class "label" label) + (transform :rotate 50 + :transform-origin-x '50%' + :transform-origin-y '50%' + (circular-progress :value value + :start-at 0 + :thickness 10 + :clockwise true)))) diff --git a/x11/config/eww/modules/bar/music.yuck b/x11/config/eww/modules/bar/music.yuck new file mode 100644 index 0000000..d206c55 --- /dev/null +++ b/x11/config/eww/modules/bar/music.yuck @@ -0,0 +1,7 @@ +(defwidget music [] + (box :visible {nowplaying != ""} + :class {nowplaying != "" ? "music" : "hidden"} + :orientation "h" + :space-evenly false + :halign "center" + {nowplaying != "" ? "󰎇 ${nowplaying}" : ""})) diff --git a/x11/config/eww/modules/bar/network.yuck b/x11/config/eww/modules/bar/network.yuck new file mode 100644 index 0000000..67e54cf --- /dev/null +++ b/x11/config/eww/modules/bar/network.yuck @@ -0,0 +1,23 @@ +(defvar reveal_network false) + +(defwidget network [] + (revealer-on-hover + :class "${reveal_network} networks" + :revealvar reveal_network + :revealvar-name "reveal_network" + (button :onclick 'nm-connection-editor' + :tooltip "${jq(network_manager.interfaces, '.[] | "\\(.connection) (\\(.device)) \\n"', 'r')}" + :class "revealer-preview ${(jq(network_manager.interfaces, '[ .[] | select(.state=="connected") ] | length') > 0 ? 'active' : 'inactive')}" ;${network_status.wifi || network_status.wired ? 'active' : 'inactive'}" + "󰇧") + (network_children :array "${network_manager.interfaces}"))) + +(defwidget network_children [array] + (box :class "reveal-children" + :orientation "h" + :space-evenly false + :halign "center" + (for interface in array + (button :onclick "nmcli device ${( interface.state == 'connected' ? 'down' : 'up' )} ${interface.device}" + :class {( interface.state == "connected" ? 'active' : 'inactive' )} + :tooltip "${interface.connection} (${interface.device})" + {( interface.type == "wifi" ? "" : ( interface.type == "ethernet" ? "󰈀" : "" ))})))) diff --git a/x11/config/eww/modules/bar/notification-center.yuck b/x11/config/eww/modules/bar/notification-center.yuck new file mode 100644 index 0000000..3337308 --- /dev/null +++ b/x11/config/eww/modules/bar/notification-center.yuck @@ -0,0 +1,9 @@ +(deflisten notification_center_info :initial '{ "count": 0, "dnd": false, "visible": false, "inhibited": false }' + "swaync-client -s") + +(defwidget notification_center [] + (box :class "notification-center ${(jq(notification_center_info,'.count','r') > 0 ) ? 'active' : 'inactive'}" + (button :onclick 'swaync-client -t' + :onrightclick 'swaync-client -d' + :tooltip "${jq(notification_center_info,'.count','r')} unread notifications" + "${!jq(notification_center_info,'.dnd','r') ? '' : ''}"))) diff --git a/x11/config/eww/modules/bar/powermenu.yuck b/x11/config/eww/modules/bar/powermenu.yuck new file mode 100644 index 0000000..e4ad2f0 --- /dev/null +++ b/x11/config/eww/modules/bar/powermenu.yuck @@ -0,0 +1,29 @@ +(defvar reveal_powermenu false) + +(defwidget powermenu [] + (revealer-on-hover :revealvar reveal_powermenu + :class "powermenu ${reveal_powermenu}" + :revealvar-name "reveal_powermenu" + (button :onclick 'sdu power shutdown' + :class "revealer-preview" + :tooltip "Shutdown" + "") + (powermenu_children))) + +(defwidget powermenu_children [] + (box :class "reveal-children" + :orientation "h" + :space-evenly false + :halign "center" + (button :onclick 'sdu power reboot' + :tooltip "Reboot" + "") + (button :onclick 'sdu power suspend' + :tooltip "Suspend" + "󰤄") + (button :onclick 'sdu power lock' + :tooltip "Lock" + "") + (button :onclick 'sdu power logout' + :tooltip "Logout" + ""))) diff --git a/x11/config/eww/modules/bar/profile.yuck b/x11/config/eww/modules/bar/profile.yuck new file mode 100644 index 0000000..3d6cd26 --- /dev/null +++ b/x11/config/eww/modules/bar/profile.yuck @@ -0,0 +1,5 @@ +(defwidget profile [] + (button :onclick "sdu profile switch next" + :tooltip {jq(profile_info,'.name','r')} + :class "profile profile-${(jq(profile_info,'.name','r'))}" + {jq(profile_info,'.icon','r')})) diff --git a/x11/config/eww/modules/bar/revealer-on-hover.yuck b/x11/config/eww/modules/bar/revealer-on-hover.yuck new file mode 100644 index 0000000..4286102 --- /dev/null +++ b/x11/config/eww/modules/bar/revealer-on-hover.yuck @@ -0,0 +1,12 @@ +(defwidget revealer-on-hover [revealvar revealvar-name ?class ?duration ?transition] + (box :class "${class} revealer-on-hover" + :orientation "h" + :space-evenly false + (eventbox :onhover "${EWW_CMD} update ${revealvar-name}=true" + :onhoverlost "${EWW_CMD} update ${revealvar-name}=false" + (box :space-evenly false + (children :nth 0) + (revealer :reveal revealvar + :transition {transition ?: "slideright"} + :duration {duration ?: "500ms"} + (children :nth 1)))))) diff --git a/x11/config/eww/modules/bar/scratchpad.yuck b/x11/config/eww/modules/bar/scratchpad.yuck new file mode 100644 index 0000000..8bdc2da --- /dev/null +++ b/x11/config/eww/modules/bar/scratchpad.yuck @@ -0,0 +1,29 @@ +(defvar reveal_scratchpad false) +(defwidget scratchpad [] + +(box :class "${reveal_scratchpad} scratchpad revealer-on-hover" + :orientation "h" + :space-evenly false + (eventbox :onhover "${EWW_CMD} update reveal_scratchpad=true" + :onhoverlost "${EWW_CMD} update reveal_scratchpad=false" + (box :space-evenly false + (label :class "revealer-preview" + :tooltip "${jq(sway_info,'.scratchpad_info[] | "\\(.title) (\\(.name)) \\n"','r')}" + :text " ${jq(sway_info,'.scratchpad_info | length')} ${reveal_scratchpad ? '' : ''}") + (revealer :reveal reveal_scratchpad + :transition "slideright" + :duration "500ms" + (scratchpad_children :array {jq(sway_info,'.scratchpad_info','r')})))))) + +(defwidget scratchpad_children [array] + (box :orientation "h" + :class "reveal-children" + :space-evenly false + (for entry in array + (button :onclick 'swaymsg [con_id=${entry.window_id}] scratchpad show' + :class "scratchpad-item ${(entry.visible == 'true') ? 'active' : 'inactive'}" + :tooltip "${entry.title} +${entry.name}" + (image :path {entry.icon} + :image-width 20 + :image-height 20))))) diff --git a/x11/config/eww/modules/bar/sysdisk.yuck b/x11/config/eww/modules/bar/sysdisk.yuck new file mode 100644 index 0000000..9510eda --- /dev/null +++ b/x11/config/eww/modules/bar/sysdisk.yuck @@ -0,0 +1,23 @@ +(defvar reveal_sysdisk false) + +(defwidget sysdisk [] + (revealer-on-hover :class "${reveal_sysdisk} sysdisk" + :revealvar reveal_sysdisk + :revealvar-name "reveal_sysdisk" + (box :class "revealer-preview" + :tooltip "${jq(EWW_DISK,'to_entries[]|"\\(.key) - \\(.value.used_perc*10|round/10)% Used\\n\\(.value.free/1073741824*100|round/100)GiB Available\\n"','r')}" + (metric :label "󰟒 " + :value {EWW_DISK["/home"].used_perc})) + (sysdisk_children))) + +(defwidget sysdisk_children [] + (box :class "reveal-children" + :orientation "h" + :space-evenly false + :halign "center" + (metric :label "󰿠 " + :tooltip "root" + :value {EWW_DISK["/"].used_perc}) + (metric :label "󰬉 " + :tooltip "boot" + :value {EWW_DISK["/boot"].used_perc}))) diff --git a/x11/config/eww/modules/bar/sysmem.yuck b/x11/config/eww/modules/bar/sysmem.yuck new file mode 100644 index 0000000..ef850c7 --- /dev/null +++ b/x11/config/eww/modules/bar/sysmem.yuck @@ -0,0 +1,21 @@ +(defvar reveal_sysmem false) + +(defwidget sysmem [] + (revealer-on-hover :class "${(reveal_sysmem) || (EWW_RAM.used_mem / EWW_RAM.total_mem) > 0.95} sysmem" + :revealvar {(reveal_sysmem) || (EWW_RAM.used_mem / EWW_RAM.total_mem) > 0.95} + :revealvar-name "reveal_sysmem" + (box :class "revealer-preview" + :tooltip "${jq(EWW_RAM,'.|"RAM: \\(.used_mem_perc*10|round/10)% Used\\n\\(.used_mem/1073741824*100|round/100)/\\(.total_mem/1073741824*100|round/100)GiB Usage\\nSwap: \\((.total_swap-.free_swap)/.total_swap*1000|round/10)% Usage\\n\\((.total_swap-.free_swap)/1073741824*100|round/100)/\\(.total_swap/1073741824*100|round/100)"','r')}" + (metric :label " " + :value {EWW_RAM.used_mem_perc})) + (sysmem_children))) + +(defwidget sysmem_children [] + (box :class "reveal-children" + :orientation "h" + :space-evenly false + :halign "center" + (metric :label " " + :value {round((EWW_RAM.total_mem - EWW_RAM.free_mem) / EWW_RAM.total_mem,2) * 100}) + (metric :label " " + :value {(EWW_RAM.total_swap != 0) ? round((EWW_RAM.total_swap - EWW_RAM.free_swap) / EWW_RAM.total_swap,2) * 100 : 100}))) diff --git a/x11/config/eww/modules/bar/tray.yuck b/x11/config/eww/modules/bar/tray.yuck new file mode 100644 index 0000000..dadfbd5 --- /dev/null +++ b/x11/config/eww/modules/bar/tray.yuck @@ -0,0 +1,20 @@ +(defvar reveal_tray false) +(defwidget tray [] + (revealer-on-hover :class "tray ${reveal_tray}" + :revealvar reveal_tray + :revealvar-name "reveal_tray" + (label :class "revealer-preview" + :text {reveal_tray ? "" : ""}) + (tray_children))) + +(defwidget tray_children [] + (box :orientation "h" + :space-evenly false + :halign "center" + (systray + :orientation "h" + :class "reveal-children" + :space-evenly true + :spacing 0 + :icon-size 20 + :prepend-new true))) diff --git a/x11/config/eww/modules/bar/volume.yuck b/x11/config/eww/modules/bar/volume.yuck new file mode 100644 index 0000000..6822de9 --- /dev/null +++ b/x11/config/eww/modules/bar/volume.yuck @@ -0,0 +1,25 @@ +(defvar reveal_volume false) +(defwidget volume [] + (revealer-on-hover :class "volume ${reveal_volume}" + :revealvar reveal_volume + :revealvar-name "reveal_volume" + (button :onclick 'pavucontrol-qt --tab 3' + :tooltip "Pulseaudio Volume Control" + :class "${(volume == 0) ? 'inactive' : 'active'} revealer-preview" + {(volume == 0) ? "" : ((volume > 50) ? "" : "")}) + (volume_children))) + +(deflisten volume :initial "50" + "scripts/bar/volume") +(defwidget volume_children [] + (box :class "reveal-children" :orientation "h" + :space-evenly false + :halign "center" + (scale + :tooltip "volume: ${round(volume,0)}%" + :min 0 + :max 100 + :value {volume} + :orientation "h" + :onchange "wpctl set-volume @DEFAULT_AUDIO_SINK@ {}%;paplay 'volume.ogg'"))) + diff --git a/x11/config/eww/modules/bar/vpn.yuck b/x11/config/eww/modules/bar/vpn.yuck new file mode 100644 index 0000000..e9aaebb --- /dev/null +++ b/x11/config/eww/modules/bar/vpn.yuck @@ -0,0 +1,28 @@ +(defvar reveal_vpn false) +(defwidget vpn [] + (revealer-on-hover + :class "${reveal_vpn} vpn" + :revealvar reveal_vpn + :revealvar-name "reveal_vpn" + (button :onclick 'notify-send "TODO"' + :class "revealer-preview ${(jq(network_manager.vpns, '[ .[] | select(.active=="yes") ] | length') > 0 ? 'active' : 'inactive')}" + "${(jq(network_manager.vpns, '[ .[] | select(.active=="yes") ] | length') > 0 ? '' : '')}") + (vpn_children :array "${jq(network_manager.vpns,'.|sort_by(.name)')}"))) + +(defwidget vpn_children [array] + (box :class "reveal-children" + :orientation "h" + :space-evenly false + :halign "center" + (for vpn in array + (button :onclick "nmcli connection ${( vpn.active == 'yes' ? 'down' : 'up' )} ${vpn.name}" + :class {( vpn.active == "yes" ? 'active' : 'inactive' )} + :tooltip "${vpn.name}" + "${( vpn.name =~ '^[Hh]ome.*' ? + ( vpn.name =~ '.*[Ff]ull.*' ? '' : '') : + ( vpn.name =~ '^pia-.*' ? + ( vpn.name =~ '.*local.*' ? '' : '' ) : + ( vpn.name == 'SCA' ? + '' : + '') ) + )} ${( vpn.active == 'yes' ? '' : '' )}")))) diff --git a/x11/config/eww/modules/bar/window_name.yuck b/x11/config/eww/modules/bar/window_name.yuck new file mode 100644 index 0000000..d4062b8 --- /dev/null +++ b/x11/config/eww/modules/bar/window_name.yuck @@ -0,0 +1,5 @@ +(defwidget windowtitle [] + (label :class {jq(sway_info,'.window_info.title','r') != "" ? "active_window" : ""} + :limit-width 40 + :show-truncated true + :text {jq(sway_info,'.window_info.title','r')})) diff --git a/x11/config/eww/modules/bar/window_name1.yuck b/x11/config/eww/modules/bar/window_name1.yuck new file mode 100644 index 0000000..6cdcbd3 --- /dev/null +++ b/x11/config/eww/modules/bar/window_name1.yuck @@ -0,0 +1,7 @@ +(deflisten active_window_name :initial "" + :interval "60s" + "scripts/bar/activewindow") + +(defwidget windowtitle [] + (label :class {active_window_name != "" ? "active_window" : ""} + :text {active_window_name})) diff --git a/x11/config/eww/modules/bar/workspaces.yuck b/x11/config/eww/modules/bar/workspaces.yuck new file mode 100644 index 0000000..9bcc6d3 --- /dev/null +++ b/x11/config/eww/modules/bar/workspaces.yuck @@ -0,0 +1,39 @@ +(defvar wsreveal false) + +(defwidget workspaces [array] + (eventbox :onhover "${EWW_CMD} update wsreveal=true" + :onhoverlost "${EWW_CMD} update wsreveal=false" + (box :class "workspaces profile-${jq(array,'.[]|select(.is_focused)|.profile_name','r')}" + :orientation "h" + :space-evenly false + :halign "start" + (revealer + :class "ws-left" + :reveal wsreveal + :transition "slideleft" + :duration "500ms" + (box + (for entry in array + (literal :visible {((entry.position == 'l') && !entry.is_focused) ? true : false} + :content {((entry.position == 'l') && !entry.is_focused) ? "(workspace :ws entry :side 'left')" : "(box :visible false)"})))) + (box :class "ws-center ${wsreveal}" + (for entry in array + (literal :visible {entry.is_focused ? true : false} + :content {entry.is_focused ? "(workspace :ws entry :side 'center' :lastws ${jq(array,'.[-1].num')})" : "(box :visible false)"}))) + (revealer :class "ws-right" + :reveal wsreveal + :transition "slideright" + :duration "500ms" + (box + (for entry in array + (literal :visible {((entry.position == 'r') && !entry.is_focused) ? true : false} + :content {((entry.position == 'r') && !entry.is_focused) ? "(workspace :ws entry :side 'right')" : "(box :visible false)"}))))))) + +(defwidget workspace [ws side ?lastws ?firstws] + (button :onclick `swaymsg workspace "${ws.name}"` + :tooltip "${ws.profile_name} ( ${jq(captures(ws.num, '[0-9]$'),'.[].[]','r')} )" + :class '${side} ${ws.num == lastws ? "last-workspace" : (ws.num == firstws ? "first-workspace" : "middle-workspace")} profile-${jq(ws,'.profile_name','r')}' + (box + '${replace(ws.name,".*:","")}' + (label :class "workspace-number" + :text {jq(captures(ws.num, '[0-9]$'),'.[].[]','r')})))) diff --git a/x11/config/eww/modules/home.yuck b/x11/config/eww/modules/home.yuck new file mode 100644 index 0000000..e889be2 --- /dev/null +++ b/x11/config/eww/modules/home.yuck @@ -0,0 +1,41 @@ +(defvar homewidgets_reveal false) + +(defwidget home [] + (revealer :transition "slideright" + :reveal homewidgets_reveal + :duration "250ms" + + (box :orientation 'v' + :space-evenly false + (box :height 27) + (scroll :vscroll true + :hscroll false + :vexpand true + :height 400 + (box :class "home" + :orientation "v" + :spacing 10 + :width 300 + :space-evenly false +; (nowplayingbar) +; (rat) +; (shortcuts_revealer) + (weather_revealer) +; (mcstatus_revealer) + (box + (notes_revealer)) + (box + (reminders_revealer)) + ))))) + +;widget templates +(include "modules/home/revealer-on-press.yuck") + +;module imports +;(include "modules/home/nowplayingart.yuck") +;(include "modules/home/rat.yuck") +(include "modules/home/weather.yuck") +;(include "modules/home/shortcuts.yuck") +(include "modules/home/notes.yuck") +(include "modules/home/reminders.yuck") +(include "modules/home/mcstatus.yuck") diff --git a/x11/config/eww/modules/home/mcstatus.yuck b/x11/config/eww/modules/home/mcstatus.yuck new file mode 100644 index 0000000..c199450 --- /dev/null +++ b/x11/config/eww/modules/home/mcstatus.yuck @@ -0,0 +1,79 @@ +(defpoll servers_status :initial '[{"online": true,"kind":"Java","players":{"online":0,"max":0,"list":null},"version":{"name":"version","protocol":0},"motd":"Message of the day","ping":0,"address":"ip.addre.ss"}]' + :interval "21600s" + 'scripts/home/mcstatus') + +(defvar reveal_mcstatus true) +(defwidget mcstatus_revealer [] + (revealer-on-press + :revealvar reveal_mcstatus + :revealvar-name "reveal_mcstatus" + (button + :width 300 + :class "revealer-title" + "Minecraft Servers ${reveal_mcstatus ? '' : ''}") + (mcstatus :json servers_status))) + +(defwidget mcstatus [json] + (box + :class 'minecraft' + :orientation 'v' + :space-evenly false + (box + :orientation 'v' + :space-evenly false + (for server in json + (box + :class 'server' + :orientation 'h' + :space-evenly false + (box + (box + :class 'icon' + :valign 'center' + :width 75 + :height {((server.ping!=0.0) ? 75 : 25 )} + :style 'background-image: url("${server.icon_path}");' + ) + ) + (box + :class 'details' + :space-evenly false + :orientation 'v' + (label + :class 'title' + :style "${( (server.ping==0.0)? 'color: red' : '' )}" + :text "${( (server.ping==0.0)? ' ' : '' )}${server.address}" + ) + (label + :visible {(server.ping!=0.0)} + :xalign 0 + :text "${server.players.online}/${server.players.max} players online" + ) + (label + :visible {(server.ping!=0.0)} + :class 'motd' + :text "${server.motd}" + :wrap true + :wrap-mode 'word' +; :truncate true + ) + (label + :visible {(server.ping!=0.0)} + :xalign 0 + :text " ${round(server.ping,0)}ms" + ) + ) + ) + ) + ) + (button + :class 'button' + :onclick 'eww poll servers_status' + :onrightclick 'rm ~/.cache/mc-server-info/cache.json;eww poll servers_status' + :tooltip 'right-click to bypass cache' + (label + :text "reload now" + ) + ) + ) +) diff --git a/x11/config/eww/modules/home/notes.yuck b/x11/config/eww/modules/home/notes.yuck new file mode 100644 index 0000000..2e3842f --- /dev/null +++ b/x11/config/eww/modules/home/notes.yuck @@ -0,0 +1,38 @@ +(defpoll notes_list :initial '{"notes":[{"date":"1752630492","filepath":""}]}' + :interval "3600s" + 'scripts/home/notes') + +(defvar reveal_notes false) +(defwidget notes_revealer [] + (revealer-on-press + :revealvar reveal_notes + :revealvar-name "reveal_notes" + :width 300 + (button + :width 300 + :class "revealer-title" + "Notes ${reveal_notes ? '' : ''}") + (notes :json {jq(notes_list,'.notes')}))) + +(defwidget notes [json] + (box + :class "notes" + :orientation "v" + :halign "baseline" +; :width 300 + :height 150 + :space-evenly true + (for note in json + (button :onclick "kate -n '${note.filepath}'" + (box + :orientation "v" + (label + :xalign 0 + :wrap false + :truncate true + :text "󰎞 ${replace(note.filepath,"${get_env("HOME")}/Documents/Notes/",'')}") + (label + :xalign 0.5 + :class "timestamp" + :text " ${formattime("${note.date}","%F %R")}")))) + )) diff --git a/x11/config/eww/modules/home/nowplayingart.yuck b/x11/config/eww/modules/home/nowplayingart.yuck new file mode 100644 index 0000000..48e90db --- /dev/null +++ b/x11/config/eww/modules/home/nowplayingart.yuck @@ -0,0 +1,142 @@ +(deflisten nowplaying_imgpath :initial "" + 'scripts/home/nowplayingart.sh') +;(deflisten nowplaying_title :initial "" +; 'scripts/home/nowplaying-title.sh') +;(deflisten nowplaying_artist :initial "" +; 'scripts/home/nowplaying-artist.sh') +(deflisten nowplaying_info :initial '{"status":"","artist":"","title":""}' + 'scripts/home/nowplaying.sh') + + +(defvar large_album_art false) +(defvar small_art_overlay false) +(defvar large_art_overlay false) +(defwidget nowplayingbar [] +; (centerbox + (box +; :visible true + :visible {jq(nowplaying_info,'.title','r') != ""} + :orientation 'v' + :class "nowplayingbar" + :space-evenly false + (box + :orientation "h" + :space-evenly false + :halign "center" + :width 300 + :height 100 +; (nowplaying_revealer :visible {!large_album_art} +; :width 100 +; :height 100) + (revealer + :transition "slideright" +; :transition "slideleft" + :duration "300ms" + :reveal {!large_album_art} + (eventbox + :onclick '${EWW_CMD} update large_album_art=true' + :onhover '${EWW_CMD} update small_art_overlay=true' + :onhoverlost '${EWW_CMD} update small_art_overlay=false' + (button + :height 100 + :width 100 + :valign "fill" + :halign "fill" + :hexpand false + :vexpand false + :onclick '${EWW_CMD} update large_album_art=true' + (overlay + (nowplayingart :size 'small') + (revealer + :transition "crossfade" + :duration "300ms" + :reveal {small_art_overlay} + (label :class "art-button-overlay small" + :justify "center" + :xalign 0.5 + :yalign 0.5 + :height 80 + :width 80 + :text "")))))) + (box + :class "mediadetails ${large_album_art ? 'fullwidth' : ''}" + :orientation "v" + :space-evenly true + :halign "fill" + :hexpand true + (label + :justify "center" + :text "󰎇 ${jq(nowplaying_info,'.title','r')} +󰠃 ${jq(nowplaying_info,'.artist','r')}") + (box + :orientation "h" + :space-evenly true + :halign "fill" + :hexpand true +; :width 130 +; :spacing 15 + :height 50 + (button + :class "mediabutton" + :valign "center" + :halign "center" + :height 25 + :width 25 + :onclick "playerctl previous" + "") + (button + :class "mediabutton" + :valign "center" + :halign "center" + :height 25 + :width 25 + :onclick "playerctl play-pause" + {(jq(nowplaying_info,'.status','r') == 'playing') ? "" : ""}) + (button + :class "mediabutton" + :valign "center" + :halign "center" + :height 25 + :width 25 + :onclick "playerctl next" + "")))) +;; (nowplaying_revealer :visible false))) + (revealer +; :transition "slideup" + :transition "slidedown" + :duration "300ms" + :reveal {large_album_art} + (eventbox +; :visible {large_album_art} + :onclick '${EWW_CMD} update large_album_art=false' + :onhover '${EWW_CMD} update large_art_overlay=true' + :onhoverlost '${EWW_CMD} update large_art_overlay=false' + (button + :height 100 + :width 100 + :valign "fill" + :halign "fill" + :hexpand false + :vexpand false + :onclick '${EWW_CMD} update large_album_art=false' + (overlay + (nowplayingart :size 'big') +; :css 'margin: 20px;') + (revealer + :transition "crossfade" + :duration "300ms" + :reveal {large_art_overlay} + (label :class "art-button-overlay big" + :height 100 + :width 100 + :visible {large_art_overlay} + :text "")))))))) + +(defwidget nowplayingart [size] + (box + :class "nowplayingart ${size}" + :hexpand false +; :width 100 +; :height 100 +; :path '${nowplaying_imgpath}')) + :style "background-image: url('${nowplaying_imgpath}');")) diff --git a/x11/config/eww/modules/home/rat.yuck b/x11/config/eww/modules/home/rat.yuck new file mode 100644 index 0000000..8e83af9 --- /dev/null +++ b/x11/config/eww/modules/home/rat.yuck @@ -0,0 +1,9 @@ +(defpoll rat_image :interval "60s" + 'random-image -d ~/Pictures/Phone/Albums/Rattos/ -s 300 -r') +(defwidget rat [] + (box + :class "rat" + :orientation "h" + :width 300 + :height 300 + :style "background-image: url('${rat_image}');")) diff --git a/x11/config/eww/modules/home/reminders.yuck b/x11/config/eww/modules/home/reminders.yuck new file mode 100644 index 0000000..d233d50 --- /dev/null +++ b/x11/config/eww/modules/home/reminders.yuck @@ -0,0 +1,38 @@ +;(defpoll reminders_list :initial '[]' +; :interval "3600s" +; 'scripts/home/reminders') +(deflisten reminders_list :initial '[]' + 'scripts/home/reminders') + +(defvar reveal_reminders true) +;(defvar reveal_reminders {jq(reminders_list,'length')>0}) +(defwidget reminders_revealer [] + (revealer-on-press + :visible {jq(reminders_list,'length')>0} + :revealvar reveal_reminders + :revealvar-name "reveal_reminders" +; {reveal_reminders ? "" : ""} + (button + :width 300 + :class "revealer-title" + "Reminders ${reveal_reminders ? '' : ''}") + (reminders :json {jq(reminders_list,'.')}))) + +(defwidget reminders [json] + (box + :class "reminders" + :orientation "v" + :halign "baseline" +; :width 300 +; :height 150 + :space-evenly true + (for reminder in json + (button :onclick "open '${reminder.url}'" + (box +; :visible + :orientation "v" + (label + :xalign 0 + :wrap false + :text "${reminder.name}")))) + )) diff --git a/x11/config/eww/modules/home/revealer-on-press.yuck b/x11/config/eww/modules/home/revealer-on-press.yuck new file mode 100644 index 0000000..7cf67da --- /dev/null +++ b/x11/config/eww/modules/home/revealer-on-press.yuck @@ -0,0 +1,17 @@ +(defwidget revealer-on-press [revealvar revealvar-name ?class ?duration ?transition ?visible] + (box + :class "${class} revealer-on-press ${revealvar ? 'revealer_opened' : 'revealer_closed'}" + :visible {visible ?: true} +; :width {revealvar ? 300 : 100} + :space-evenly false + (box + :orientation "vertical" + :space-evenly false + (eventbox + :onclick '${EWW_CMD} update ${revealvar-name}=${revealvar ? "false" : "true"}' + (children :nth 0)) + (revealer + :reveal revealvar + :transition {transition ?: "slidedown"} + :duration {duration ?: "500ms"} + (children :nth 1))))) diff --git a/x11/config/eww/modules/home/shortcuts.yuck b/x11/config/eww/modules/home/shortcuts.yuck new file mode 100644 index 0000000..c2acd63 --- /dev/null +++ b/x11/config/eww/modules/home/shortcuts.yuck @@ -0,0 +1,63 @@ +(defvar reveal_shortcuts true) +(defwidget shortcuts_revealer [] + (revealer-on-press + :revealvar reveal_shortcuts + :revealvar-name "reveal_shortcuts" + (button + :width 300 + :class "revealer-title" + "Shortcuts ${reveal_shortcuts ? '' : ''}") + (shortcuts))) + +(defwidget shortcuts [] + (box + :class "shortcuts" + :orientation "v" + :space-evenly false + :halign "center" + :width 300 + :height 75 + (box +; :visible {jq(workspacesArray, '.[]\|select(.focused==true).num') <= 10} + :visible (arraylength(sway_info.workspace_profile.scripts) > 0) + :orientation "h" + :space-evenly true + :halign "center" + (for script in {jq(sway_info,'[.workspace_profile.scripts[0,1,2]]','r')} + (button + :visible "${script?.name!='null'}" + :onclick "${script?.command}" + :tooltip "${script?.name}" + (label + :width 60 + :height 60 + :justify "center" + :text "${script?.icon}")) + ) +; (button +; :width 60 +; :height 60 +; :onclick "hass-cli -a services -I area_id -i left_bedroom -d light -s toggle" +; (label +; :justify "center" +; :text "󱣝" +; :tooltip "Turn on bedroom lights")) + ) + (box + :visible (arraylength(sway_info.workspace_profile.scripts) > 3) + :orientation "h" + :space-evenly true + :halign "center" + (for script in {jq(sway_info, '[.workspace_profile.scripts[3,4,5]]','r')} + (button + :visible "${script?.name!='null'}" + :onclick "${script?.command}" + :tooltip "${script?.name}" + (label + :width 60 + :height 60 + :justify "center" + :text {script?.icon})) + )) + + )) diff --git a/x11/config/eww/modules/home/softwareupdates.yuck b/x11/config/eww/modules/home/softwareupdates.yuck new file mode 100644 index 0000000..0042c2a --- /dev/null +++ b/x11/config/eww/modules/home/softwareupdates.yuck @@ -0,0 +1,55 @@ +(defpoll software_list :initial '[{"package_name":"package","package_version":"1","upstream_version":"1","up_to_date":"true"}]' + :interval "43200s" + 'software-release-monitor') + +(defvar reveal_software true) +(defwidget software_revealer [] + (revealer-on-press + :revealvar reveal_software + :revealvar-name "reveal_software" + :width 300 + (button + :width 300 + :class "revealer-title" + "Software Monitor ${reveal_software ? '' : ''}") + (softwareupdates :json {software_list}))) + +(defwidget softwareupdates [json] + (box + :class "notes" + :orientation "v" + :halign "baseline" + :width 300 + :height 150 + :space-evenly true + (for software in json + (button :onclick "notify-send '${software.package_name} is ${(software.up_to_date == 'true' ) ? 'up to date!' : 'outdated!'}' 'upstream: ${software.upstream_version}\\npackage: ${software.package_version}'" + (box + :orientation "h" + :space-evenly false + (label +;; :xalign 0 + :halign "start" + :hexpand true + :wrap false + :truncate true + :text "${software.package_name}") + (box + :orientation "v" + :halign "end" + (label + :valign "end" + :halign "end" + :class "details" + :text "${software.upstream_version} ") + (label + :valign "start" + :halign "end" + :class "details" + :text "${software.package_version} 󰏖")) + (label + :halign "end" + :class "status" + :style {(software.up_to_date == "true" ) ? "color: green;" : "color: red;"} + :text {(software.up_to_date == "true" ) ? "" : ""})))) + )) diff --git a/x11/config/eww/modules/home/weather.yuck b/x11/config/eww/modules/home/weather.yuck new file mode 100644 index 0000000..5292e98 --- /dev/null +++ b/x11/config/eww/modules/home/weather.yuck @@ -0,0 +1,31 @@ +(defpoll weather_status :initial '{"condition":"loading...","current_temp":"--","feels_temp":"--","min_temp":"--","max_temp":"--","humidity":"--","icon":" ","updated":"loading..."}' + :interval "3600s" + 'scripts/home/hass_weather') + +(defvar reveal_weather true) +(defwidget weather_revealer [] + (revealer-on-press + :revealvar reveal_weather + :revealvar-name "reveal_weather" + :width 300 + (button + :width 300 + :class "revealer-title" + "Weather ${reveal_weather ? '' : ''}") + (weather :json weather_status))) + + + +(defwidget weather [json] + (box + :class "weather" + :orientation "v" + :width 300 + :space-evenly true + "${json.condition} ${json.icon}" + "${json.current_temp}󰔅  / ${json.humidity}% " + "󰄿 ${json.max_temp}󰔅 | 󰄼 ${json.min_temp}󰔅" + (label + :class "weather-subtitle" + :text " ${json.updated}" + ))) diff --git a/x11/config/eww/scripts/bar/active-workspace b/x11/config/eww/scripts/bar/active-workspace new file mode 100755 index 0000000..1e3fa25 --- /dev/null +++ b/x11/config/eww/scripts/bar/active-workspace @@ -0,0 +1,14 @@ +#!/bin/bash + +function get_workspaces_info() { + output=$(swaymsg -t get_workspaces | jq -r '.. | select(.type?=="workspace") | select(.focused==true).num') + echo $output +} + +get_workspaces_info + +swaymsg -t subscribe '["workspace"]' --monitor | { + while read -r event; do + get_workspaces_info + done +} diff --git a/x11/config/eww/scripts/bar/activewindow b/x11/config/eww/scripts/bar/activewindow new file mode 100755 index 0000000..d3e44a1 --- /dev/null +++ b/x11/config/eww/scripts/bar/activewindow @@ -0,0 +1,29 @@ +#!/bin/bash + +#declare -A titles +#declare -A icons +titles=(" — Alacritty" " — LibreWolf" " — LibreOffice Calc" " — LibreOffice Writer" " — LibreOffice Draw" " — LibreOffice Math" " - KeePassXC" " — Dolphin" " — Tokodon") +icons=(" " " " " " " " " " " " " " " " "") + +function get_window_name() { + output=$(swaymsg -t get_tree | jq -r '.. | select(.type?) | select(.focused==true).name') + for s in "${!titles[@]}";do + if [[ "${output}" == *"${titles[${s}]}"* ]]; then + output="${output/${titles[s]}/}" + output="${icons[${s}]} ${output}" + fi + done + if [ ${#output} -ge 50 ];then + echo "${output:0:45}…" + else + echo "${output}" + fi +} + +get_window_name + +swaymsg -t subscribe '["window"]' --monitor | { + while read -r event; do + get_window_name + done +} diff --git a/x11/config/eww/scripts/bar/bluetooth b/x11/config/eww/scripts/bar/bluetooth new file mode 100755 index 0000000..9b047b2 --- /dev/null +++ b/x11/config/eww/scripts/bar/bluetooth @@ -0,0 +1,42 @@ +#!/bin/bash + + +function btstatus(){ +# device_mac_list= + device_json_array=() + + for m in $(bluetoothctl devices Paired | awk '{print $2}');do + IFS=';' read -r dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed 's/.*: //g' | tr '\n' ';') +# IFS='' read -rd "\n" dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed -n 's/.*: //p') +# IFS="\n" read -r dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed -n 's/.*: //p') + case "${dev_icon}" in + "input-mouse") + dev_icon="󰍽";; + "phone") + dev_icon="";; + "input-keyboard") + dev_icon="";; + "input-gaming") + dev_icon="";; + "audio-headphones") + dev_icon="";; + "audio-headset") + dev_icon="";; + "computer") + dev_icon="";; + esac +# device_json=$( jq -n --arg name "${dev_name}" --arg connected "${dev_connected}" --arg icon "${dev_icon}" --arg address "${m}" '{name: $name, connected: $connected, icon: $icon, address: $address}') +# device_json_array+=("${device_json}") +# printf 'Address: %s\nName: %s\nIcon: %s\nConnected: %s\n\n' "${m}" "${dev_name}" "${dev_icon}" "${dev_connected}" + printf '%s;%s;%s;%s\n' "${m}" "${dev_name}" "${dev_icon}" "${dev_connected}" + done | column -t -n 'bt_devices' -N address,name,icon,connected -s ';' -J | jq -c '.bt_devices' +# devices_json=$(printf '%s\n' "${device_json_array[@]}" | jq -s .) +# echo ${devices_json} +} + +btstatus + +#dbus-monitor --profile "interface='org.blueman.Applet',member='MenuChanged'" | while read -r event; do +dbus-monitor --profile "interface='org.blueman.Applet',member='ToolTipTitleChanged'" | while read -r event; do + btstatus +done diff --git a/x11/config/eww/scripts/bar/eww-idle-inhibit b/x11/config/eww/scripts/bar/eww-idle-inhibit new file mode 100755 index 0000000..ee9e034 --- /dev/null +++ b/x11/config/eww/scripts/bar/eww-idle-inhibit @@ -0,0 +1,3 @@ +#!/bin/bash + +sleep infinity diff --git a/x11/config/eww/scripts/bar/network-manager b/x11/config/eww/scripts/bar/network-manager new file mode 100755 index 0000000..3b6fd88 --- /dev/null +++ b/x11/config/eww/scripts/bar/network-manager @@ -0,0 +1,18 @@ +#!/bin/bash + + +function ifstatus(){ + jq -cs '{"interfaces": [(.[0].devs[] | select((.type=="wifi") or (.type=="ethernet")))]} * {"vpns": [(.[1].cons[] | select((.type=="vpn") or (.type=="wireguard")))]}' <<<$( \ +# nmcli --terse -f DEVICE,TYPE,STATE,CONNECTION d s | column -t -n 'devs' --table-columns device,type,state,connection -s ':' -J; \ + nmcli --terse -f DEVICE,TYPE,STATE,CONNECTION d s | sed 's/\\:/###/g;s/:/\;/g;s/###/:/g' | column -t -n 'devs' --table-columns device,type,state,connection -s ';' -J; \ + nmcli --terse -f NAME,TYPE,ACTIVE,DEVICE c s | column -t -n 'cons' --table-columns name,type,active,device -s ':' -J) + # [ .devices[] | select((.type=="wifi") or (.type=="ethernet")) ] +} + +ifstatus + +ip monitor address | { + while read -r event; do + ifstatus + done; +} diff --git a/x11/config/eww/scripts/bar/network-updown b/x11/config/eww/scripts/bar/network-updown new file mode 100755 index 0000000..654eb15 --- /dev/null +++ b/x11/config/eww/scripts/bar/network-updown @@ -0,0 +1,11 @@ +#!/bin/bash + +type="${1}" +action="${2}" +devices=$(nmcli -g DEVICE device) + +for d in ${devices};do + if [ "$(nmcli -g GENERAL.TYPE device show ${d})" = "${type}" ];then + nmcli device "${action}" "${d}" + fi +done diff --git a/x11/config/eww/scripts/bar/networking b/x11/config/eww/scripts/bar/networking new file mode 100755 index 0000000..1b42766 --- /dev/null +++ b/x11/config/eww/scripts/bar/networking @@ -0,0 +1,62 @@ +#!/bin/bash + + +function ifstatus(){ + is_online=false + is_wireless=false + is_ethernet=false + is_vpn=false + is_proton=false + is_proton_sc=false + is_homevpn=false + is_homevpn_full=false + + if nmcli -g TYPE connection show --active | grep -q "wireless";then + is_wireless='true' + fi + if nmcli -g TYPE connection show --active | grep -q "ethernet";then + is_ethernet='true' + fi + vpn_cons=$(nmcli -g TYPE,NAME connection show --active | grep -e "vpn" -e "wireguard") + +# echo "${vpn_cons//$'\n'/;}" + case "${vpn_cons//$'\n'/;}" in + *ProtonVPN|*ProtonVPN\;*) + is_proton='true' + ;;& + *ProtonVPN-SC|*ProtonVPN-SC\;*) + is_proton_sc='true' + ;;& + *HomeVPN|*HomeVPN\;*) + is_homevpn='true' + ;;& + *HomeVPN-Full|*HomeVPN-Full\;*) + is_homevpn_full='true' + ;;& + *ProtonVPN*|*ProtonVPN-SC*|*HomeVPN*|*HomeVPN-Full*) + is_vpn='true' + ;; + esac +# if grep -qe "ProtonVPN$" <<<${vpn_cons};then +# is_proton='true' +# fi +# if grep -qe "ProtonVPN-SC$" <<<${vpn_cons};then +# is_proton_sc='true' +# fi +# if grep -qe "HomeVPN$" <<<${vpn_cons};then +# is_homevpn='true' +# fi +# if grep -qe "HomeVPN-Full$" <<<${vpn_cons};then +# is_homevpn_full='true' +# fi + echo $(jq -n --arg online "${is_online}" --arg wifi "${is_wireless}" --arg wired "${is_ethernet}" --arg vpn "${is_vpn}" --arg proton "${is_proton}" --arg proton_sc "${is_proton_sc}" --arg homevpn "${is_homevpn}" --arg homevpn_full "${is_homevpn_full}" '{online: $online, wifi: $wifi, wired: $wired, vpn: $vpn, proton: $proton, proton_sc: $proton_sc, homevpn: $homevpn, homevpn_full: $homevpn_full}') +} + +ifstatus + +ip monitor address | { + while read -r event; do +# echo hi ${event}; + ifstatus + done; +} diff --git a/x11/config/eww/scripts/bar/nmcli-vpn b/x11/config/eww/scripts/bar/nmcli-vpn new file mode 100755 index 0000000..199d8fc --- /dev/null +++ b/x11/config/eww/scripts/bar/nmcli-vpn @@ -0,0 +1,9 @@ +#!/bin/bash + +if $(nmcli -g GENERAL.STATE c s "${1}"|grep -q '\bactiv'); then + echo "going down" + nmcli connection down "${1}" +else + echo "going up" + nmcli connection up "${1}" +fi diff --git a/x11/config/eww/scripts/bar/nowplaying b/x11/config/eww/scripts/bar/nowplaying new file mode 100755 index 0000000..f65fac9 --- /dev/null +++ b/x11/config/eww/scripts/bar/nowplaying @@ -0,0 +1,12 @@ +#!/bin/bash + +playerctl --follow metadata --format '{{ title }}' | { + while read -r nowplaying_title; do + if [ ${#nowplaying_title} -ge 45 ];then + echo "${nowplaying_title:0:40}…" + else + echo "${nowplaying_title}" + fi +# echo "${nowplaying_title}" | head -c 50; + done +} diff --git a/x11/config/eww/scripts/bar/powermenu b/x11/config/eww/scripts/bar/powermenu new file mode 100755 index 0000000..c7e4e58 --- /dev/null +++ b/x11/config/eww/scripts/bar/powermenu @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +action="${1}" +action_icon="${2}" +command="${3}" + +#yad --image "${action_icon}" --title "Really ${action}?" --button=gtk-yes:0 --button=gtk-no:1 --text "Really ${action}?\n $ ${command} " +if zenity --question --icon="${action_icon}" --title "Really ${action}?" --text "$ ${command} ";then + bash -c "${command}" +fi +#printf 'test\ntest' | wofi --columns=2 --show dmenu diff --git a/x11/config/eww/scripts/bar/profile b/x11/config/eww/scripts/bar/profile new file mode 100755 index 0000000..43a0e80 --- /dev/null +++ b/x11/config/eww/scripts/bar/profile @@ -0,0 +1,3 @@ +#!/bin/bash + +echo ~/.cache/sway-profiles/active_profile | entr -n sp-profile-icon diff --git a/x11/config/eww/scripts/bar/profile-info.sh b/x11/config/eww/scripts/bar/profile-info.sh new file mode 100755 index 0000000..d104627 --- /dev/null +++ b/x11/config/eww/scripts/bar/profile-info.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +sdu profile get -m diff --git a/x11/config/eww/scripts/bar/profile-name b/x11/config/eww/scripts/bar/profile-name new file mode 100755 index 0000000..a60569a --- /dev/null +++ b/x11/config/eww/scripts/bar/profile-name @@ -0,0 +1,3 @@ +#!/bin/bash + +echo ~/.cache/sway-profiles/active_profile | entr -n sp-profile diff --git a/x11/config/eww/scripts/bar/scratchpad b/x11/config/eww/scripts/bar/scratchpad new file mode 100755 index 0000000..5b93cbb --- /dev/null +++ b/x11/config/eww/scripts/bar/scratchpad @@ -0,0 +1,199 @@ +#!/bin/bash +#appropriated from https://gitlab.com/wef/dotfiles/-/blob/master/bin/sway-select-window for use with eww + +declare -A icons=( +) + +jq_get_windows=' + # descend to workspace or scratchpad + .nodes[].nodes[] + # save workspace name as .w + | {"w": .name} + ( + if (.nodes|length) > 0 then # workspace + [recurse(.nodes[])] + else # scratchpad + [] + end + + .floating_nodes + | .[] + # select nodes with no children (windows) +# | select(.nodes==[]) +# | select(.scratchpad!="none") + | select(.scratchpad_state=="fresh") + )' + +jq_windows_to_tsv=' + [ + (.id | tostring), + # remove markup and index from workspace name, replace scratch with "[S]" + (.w | gsub("<[^>]*>|:$"; "") | sub("__i3_scratch"; "[S]")), + # get app name (or window class if xwayland) + (.app_id // .window_properties.class), + (.name), + (.pid), + (.visible) + ] + | @tsv' + +get_hardcoded_icon() { + icon="${icons[$1]}" + echo "$icon" +} + +get_desktop() { + app="$1" + p="/usr/share/applications" + flist=("/var/lib/flatpak/exports/share/applications" "${HOME}/.local/share/flatpak/exports/share/applications") + [[ "$verbose" ]] && echo "searching for '$app'" >&2 + + # fast and easy cases first: + for prefix in "" org.kde. org.gnome. org.freedesktop.; do + d="$p/$prefix$app.desktop" + [[ -r "$d" ]] && { + echo "$d" + [[ "$verbose" ]] && echo "found '$d'" >&2 + return + } + done + + # maybe lowercase + for prefix in "" org.kde. org.gnome. org.freedesktop.; do + d="$p/$prefix${app,,}.desktop" + [[ -r "$d" ]] && { + echo "$d" + [[ "$verbose" ]] && echo "found '$d'" >&2 + return + } + done + # this is fairly reliable but slow: + # look for a .desktop file with Exec=$app eg + # gnome-disks (but exclude gnome-disk-image-writer.desktop) + # gnome-font-viewer + GREP='egrep -r' + type rg &>/dev/null && GREP=rg + d=$( $GREP -il "^exec=$app( %u)*[[:space:]]*$" $p | head -n 1) + [[ -r "$d" ]] && { + echo "$d" + [[ "$verbose" ]] && echo "found '$d'" >&2 + return + } + + for f in ${flist[@]};do + [[ "$verbose" ]] && echo "using '$GREP' to search in '${f}'" >&2 + d=$( $GREP -il "^startupwmclass=$app.*$" ${f}/* | head -n 1) + [[ "$verbose" ]] && echo "found '$d'" >&2 + [[ -r "$d" ]] && { + echo "$d" + [[ "$verbose" ]] && echo "found '$d'" >&2 + return + } + done + + # desperation - weird apps like com.github.wwmm.pulseeffects.desktop!! + # shellcheck disable=SC2012 + d=$( ls "$p/"*".$app.desktop" 2>/dev/null | head -n 1 ) + [[ -r "$d" ]] && { + echo "$d" + [[ "$verbose" ]] && echo "found '$d'" >&2 + return + } +} + +get_icon() { + app="$1" + + icon=$( get_hardcoded_icon "$app_name" ) + [[ "$icon" && -r "$icon" ]] && { + echo "$icon" + [[ "$verbose" ]] && echo "using hardcoded icon '$icon'" >&2 + return + } + # let's go poke in the .desktop files: + icon_name="" + dt=$( get_desktop "$app" ) + # sometimes we get the 'class' rather than the exe - so try this: + [[ "$dt" ]] || { + app=$( tr '\0' '\n' < "/proc/$pid/cmdline" | head -n 1 ) + dt=$( get_desktop "$( basename "$app" )" ) + } + [[ "$dt" ]] && { + icon_name=$( awk -v IGNORECASE="set" -F"=" '/^icon/ {print $2}' "$dt" ) + [[ -r "$icon_name" ]] && { + icon="$icon_name" + echo "$icon" + [[ "$verbose" ]] && echo "using .desktop icon '$icon'" >&2 + return + } + [[ "$icon_name" ]] && { + icon_locations=( + /usr/share/icons/hicolor/scalable/apps + /usr/share/icons/hicolor/48x48/apps + /usr/share/icons/gnome/48x48/apps + /usr/share/icons/gnome/48x48/devices + /usr/share/pixmaps + /var/lib/flatpak/exports/share/icons/hicolor/scalable/apps + /var/lib/flatpak/exports/share/icons/hicolor/48x48/apps + "${HOME}/.local/share/flatpak/exports/share/icons/hicolor/scalable/apps" + "${HOME}/.local/share/flatpak/exports/share/icons/hicolor/48x48/apps" +# icons/hicolor/scalable/apps +# icons/hicolor/48x48/apps +# icons/gnome/48x48/apps +# icons/gnome/48x48/devices +# pixmaps + ) + for d in "${icon_locations[@]}"; do + for s in .svg .png .xpm ""; do + icon=$d/$icon_name$s + [[ -r $icon ]] && { + echo "$icon" + [[ "$verbose" ]] && echo "using .desktop icon '$icon'" >&2 + return + } + done + done + icon=$(find /usr/share/icons | grep "/${icon_name}-symbolic.svg" | head -n 1) + [[ -r $icon ]] && { + echo "$icon" + [[ "$verbose" ]] && echo "using .desktop icon '$icon'" >&2 + return + } + } + } + [[ "$verbose" ]] && echo "searching for '$app' icon" >&2 + icon=$( find /usr/share/icons /usr/share/pixmaps | grep -E -i "/$app.(png|svg)" | head -n 1 ) + [[ "$icon" && -r "$icon" ]] && { + echo "$icon" + [[ "$verbose" ]] && echo "using found icon '$icon'" >&2 + return + } + # failed: + icon="/usr/share/icons/breeze-dark/mimetypes/32/unknown.svg" + [[ "$verbose" ]] && echo "using missing icon '$icon'" >&2 + echo "$icon" +} + +function get_scratchpad() { + applist_array=() + applist="" + shopt -s lastpipe + swaymsg -t get_tree | + jq -r "$jq_get_windows | $jq_windows_to_tsv" | + column -s $'\t' -o $'\t' -t | while IFS=$'\t' read -r win_id ws_name app_name win_title pid visible; do + shopt -s extglob + app_name="${app_name%%*( )}" + icon=$( get_icon "$app_name" "$pid" ) + visible=${visible} + [[ "$verbose" ]] && printf "[%s]=%s\n" "$app_name" "$icon" >&2 + applist_array_item=$(jq -n --arg icon "${icon}" --arg name "${app_name##*.}" --arg title "${win_title}" --arg win_id "${win_id}" --arg visible "${visible}" '{icon: $icon,name: $name,title: $title,win_id: $win_id,visible: $visible}') + applist_array+=("${applist_array_item}") + done + applist=$(printf '%s\n' "${applist_array[@]}" | jq -s .) + echo ${applist} +} + +get_scratchpad +swaymsg -t subscribe '["window"]' --monitor | { + while read -r event; do + get_scratchpad + done +} diff --git a/x11/config/eww/scripts/bar/volume b/x11/config/eww/scripts/bar/volume new file mode 100755 index 0000000..cba3845 --- /dev/null +++ b/x11/config/eww/scripts/bar/volume @@ -0,0 +1,15 @@ +#!/bin/bash + +function print_volume() { + if [ "$(pactl get-sink-mute @DEFAULT_SINK@)" = "Mute: yes" ]; then + echo 0 + else + echo "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed 's/[^0-9]//g')" + fi +} + +print_volume + +pactl subscribe | awk '{ if($0 ~ "new") if($0 ~ "sink-input") {system("echo hi")} }' | while read -r event;do + print_volume +done diff --git a/x11/config/eww/scripts/bar/workspaces b/x11/config/eww/scripts/bar/workspaces new file mode 100755 index 0000000..6e4af20 --- /dev/null +++ b/x11/config/eww/scripts/bar/workspaces @@ -0,0 +1,14 @@ +#!/bin/bash + +function get_workspaces_info() { + output=$(swaymsg -t get_workspaces | jq 'sort_by(.num)') + echo $output +} + +get_workspaces_info + +swaymsg -t subscribe '["workspace"]' --monitor | { + while read -r event; do + get_workspaces_info + done +} diff --git a/x11/config/eww/scripts/home/hass_weather b/x11/config/eww/scripts/home/hass_weather new file mode 100755 index 0000000..8d137b2 --- /dev/null +++ b/x11/config/eww/scripts/home/hass_weather @@ -0,0 +1,64 @@ +#!/bin/bash + +hass_weather_cache="${HOME}/.cache/hass_weather.json" + +update_cache_json(){ + weather_summary="$( hass-cli -a states -i sensor.weather_summary | jq -r '.attributes' )" + if [[ -z "${weather_summary}" ]];then + return 1 + fi + condition="$( jq -r '.condition' <<< ""${weather_summary}"" )" + condition_code="$( jq -r '.condition_code' <<< ""${weather_summary}"" )" + current_temp="$( jq -r '.current_temp' <<< ""${weather_summary}"" )" + feels_temp="$( jq -r '.feels_temp' <<< ""${weather_summary}"" )" + min_temp="$( jq -r '.min_temp' <<< ""${weather_summary}"" )" + max_temp="$( jq -r '.max_temp' <<< ""${weather_summary}"" )" + humidity="$( jq -r '.humidity' <<< ""${weather_summary}"" )" + updated="$(date '+%Y-%m-%d, %H:%M')" + + case "${condition_code}" in + #https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2 + (2[0-9][0-9]) + condition_icon='' + ;; + (3[0-9][0-9]) + condition_icon='' + ;; + (5[0-9][0-9]) + condition_icon='' + ;; + (6[0-9][0-9]) + condition_icon='' + ;; + (7[0-9][0-9]) + condition_icon='' + ;; + 800) + condition_icon='' + ;; + (80[0-9]) + condition_icon='' + ;; + esac + + jq -n \ + --arg condition "${condition}" \ + --arg current_temp "${current_temp}" \ + --arg feels_temp "${feels_temp}" \ + --arg min_temp "${min_temp}" \ + --arg max_temp "${max_temp}" \ + --arg humidity "${humidity}" \ + --arg icon "${condition_icon}" \ + --arg updated "${updated}" \ + '{condition: $condition,current_temp: $current_temp,feels_temp: $feels_temp,min_temp: $min_temp,max_temp: $max_temp,humidity: $humidity,icon: $icon,updated: $updated}' | tee "${hass_weather_cache}" >/dev/null + +} + +if [[ ! $(find "${hass_weather_cache}" -cmin -60 -print 2>/dev/null) ]]; then +# if ! ping -w 15 -c 5 hass.pogmom.me;then +# exit 1 +# fi + update_cache_json +fi + +cat "${hass_weather_cache}" diff --git a/x11/config/eww/scripts/home/mcstatus b/x11/config/eww/scripts/home/mcstatus new file mode 100755 index 0000000..cce5f05 --- /dev/null +++ b/x11/config/eww/scripts/home/mcstatus @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +cache_path="${HOME}/.cache/mc-server-info" +mcstatus_cache="${cache_path}/cache.json" +mkdir -p "${cache_path}" + +update_cache_json(){ + mc-server-info json | tee "${mcstatus_cache}" >/dev/null +} +if [[ ! $(find "${mcstatus_cache}" -cmin -15 -print 2>/dev/null) ]]; then + update_cache_json +fi +cat "${mcstatus_cache}" diff --git a/x11/config/eww/scripts/home/notes b/x11/config/eww/scripts/home/notes new file mode 100755 index 0000000..5b370dd --- /dev/null +++ b/x11/config/eww/scripts/home/notes @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +find ~/Documents/Notes/ -type f -exec stat --printf '%Y\t%n\n' {} + | sort -rk 1 | head -n 3 | column -ts $'\t' -n 'Notes' -N date,filepath -J diff --git a/x11/config/eww/scripts/home/nowplaying-artist.sh b/x11/config/eww/scripts/home/nowplaying-artist.sh new file mode 100755 index 0000000..a9f8a8e --- /dev/null +++ b/x11/config/eww/scripts/home/nowplaying-artist.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +#playerctl --follow metadata --format '{{ title }}' | { +playerctl --follow metadata --format '{{ trunc(artist,23) }}' + +#playerctl metadata --format '{{ title }}\n{{ artist }}' | { +# while read -r nowplaying_title; do +# if [ ${#nowplaying_title} -ge 45 ];then +# echo "${nowplaying_title:0:40}…" +# else +# echo "${nowplaying_title}" +# fi +# echo "${nowplaying_title}" | head -c 50; +# done +#} diff --git a/x11/config/eww/scripts/home/nowplaying-title.sh b/x11/config/eww/scripts/home/nowplaying-title.sh new file mode 100755 index 0000000..700905e --- /dev/null +++ b/x11/config/eww/scripts/home/nowplaying-title.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +#playerctl --follow metadata --format '{{ title }}' | { +playerctl --follow metadata --format '{{ trunc(title,23) }}' + +#playerctl metadata --format '{{ title }}\n{{ artist }}' | { +# while read -r nowplaying_title; do +# if [ ${#nowplaying_title} -ge 45 ];then +# echo "${nowplaying_title:0:40}…" +# else +# echo "${nowplaying_title}" +# fi +# echo "${nowplaying_title}" | head -c 50; +# done +#} diff --git a/x11/config/eww/scripts/home/nowplaying.sh b/x11/config/eww/scripts/home/nowplaying.sh new file mode 100755 index 0000000..37c29ab --- /dev/null +++ b/x11/config/eww/scripts/home/nowplaying.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +playerctl --follow metadata --format '{"status":"{{lc(status)}}","artist":"{{artist}}","title":"{{markup_escape(trunc(title,23))}}"}' diff --git a/x11/config/eww/scripts/home/nowplayingart.sh b/x11/config/eww/scripts/home/nowplayingart.sh new file mode 100755 index 0000000..a3c7819 --- /dev/null +++ b/x11/config/eww/scripts/home/nowplayingart.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +playerctl metadata --format "{{mpris:artUrl}}" --follow | while IFS= read -r line; do + if [[ $line == *"http"* ]]; then + cache_dir="$XDG_RUNTIME_DIR/album_art_cache" + mkdir -p "$cache_dir" + file_name=$(basename "$line") + file_path="$cache_dir/$file_name" + + # Check if file exists + if [ -e "$file_path" ]; then + # File exists, return path immediately + echo "$file_path" + else + curl --output "$file_path" "$line" > /dev/null 2>&1 + echo "$file_path" + fi + else + # artUrl doesn't have a link, nothing to do + echo "$line" + fi +done diff --git a/x11/config/eww/scripts/home/randomrat b/x11/config/eww/scripts/home/randomrat new file mode 100755 index 0000000..b7bba98 --- /dev/null +++ b/x11/config/eww/scripts/home/randomrat @@ -0,0 +1,10 @@ +#!/bin/bash + +if [[ "$(eww active-windows)" == *"home"* ]]; then + img_dir="${HOME}/Pictures/Phone/Albums/Rattos/" + img_list=$( find "${img_dir}" -iname '*.jpg' -or -iname '*.png' -or -iname '*.heic') + img=$( shuf -n 1 <<< "${img_list}" ) + mkdir -p "${HOME}/.cache/eww/" + convert "${img}" -resize x300\> "${HOME}/.cache/eww/rat.jpg" + echo "${HOME}/.cache/eww/rat.jpg" +fi diff --git a/x11/config/eww/scripts/home/reminders b/x11/config/eww/scripts/home/reminders new file mode 100755 index 0000000..49c3eed --- /dev/null +++ b/x11/config/eww/scripts/home/reminders @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +#jq '[.reminders.[]|select(.enabled==true)]' ~/Documents/Reminders/urls.json +echo ~/Documents/Reminders/urls.json | entr -n jq -c '[.reminders.[]|select(.enabled==true)]' ~/Documents/Reminders/urls.json diff --git a/x11/config/eww/scripts/home/shortcuts/development/SMB b/x11/config/eww/scripts/home/shortcuts/development/SMB new file mode 100755 index 0000000..2da1b72 --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/SMB @@ -0,0 +1,4 @@ +#!/bin/bash + +#dolphin "smb://server-hp-y2z63av/Media" +samba-wofi diff --git a/x11/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 b/x11/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 new file mode 100755 index 0000000..13a5e70 --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/bridge-netgear-r6250 @@ -0,0 +1,3 @@ +#!/bin/bash + +alacritty -T ' bridge-netgear-r6250' -e ssh root@bridge-netgear-r6250 diff --git a/x11/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 b/x11/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 new file mode 100755 index 0000000..3bf761b --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/router-netgear-r8000 @@ -0,0 +1,3 @@ +#!/bin/bash + +alacritty -T ' router-netgear-r8000' -e ssh root@router-netgear-r8000 diff --git a/x11/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian b/x11/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian new file mode 100755 index 0000000..9e1cf76 --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/server-asus-n705fd-debian @@ -0,0 +1,6 @@ +#!/bin/bash + +alacritty -T ' server-asus-n705fd-debian' -e bash -c '\ +eval $(ssh-agent) &> /dev/null; \ +ssh-add ~/.ssh/id_ed25519 &> /dev/null; \ +ssh -A pogmom@server-asus-n705fd-debian' diff --git a/x11/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian b/x11/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian new file mode 100755 index 0000000..b82f567 --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/server-dell-7050sff-debian @@ -0,0 +1,6 @@ +#!/bin/bash + +alacritty -T ' server-dell-7050sff-debian' -e bash -c '\ +eval $(ssh-agent) &> /dev/null; \ +ssh-add ~/.ssh/id_ed25519 &> /dev/null; \ +ssh -A pogmom@server-dell-7050sff-debian' diff --git a/x11/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av b/x11/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av new file mode 100755 index 0000000..993d05d --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/server-hp-y2z63av @@ -0,0 +1,6 @@ +#!/bin/bash + +alacritty -T ' server-hp-y2z63av' -e bash -c '\ +eval $(ssh-agent) &> /dev/null; \ +ssh-add ~/.ssh/id_ed25519 &> /dev/null; \ +ssh -At pogmom@server-hp-y2z63av' diff --git a/x11/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 b/x11/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 new file mode 100755 index 0000000..a8c8966 --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/development/server-nintendo-rvl101 @@ -0,0 +1,6 @@ +#!/bin/bash + +alacritty -T ' server-nintendo-rvl101' -e bash -c '\ +eval $(ssh-agent) &> /dev/null; \ +ssh-add ~/.ssh/id_ed25519 &> /dev/null; \ +ssh -A pogmommy@server-nintendo-rvl101' diff --git a/x11/config/eww/scripts/home/shortcuts/work/2nd_monitor b/x11/config/eww/scripts/home/shortcuts/work/2nd_monitor new file mode 100755 index 0000000..b5fb24c --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/work/2nd_monitor @@ -0,0 +1,19 @@ +#!/bin/bash + +swaymsg workspace number '39:' +connected_displays=`swaymsg -rt get_outputs | jq .[].name` +if echo "${connected_displays}" | grep -q 'DP-7';then + swaymsg move workspace to output DP-7 +elif echo "${connected_displays}" | grep -q 'DP-6';then + swaymsg move workspace to output DP-6 +elif echo "${connected_displays}" | grep -q 'HDMI-A-1';then + swaymsg move workspace to output HDMI-A-1 +fi + +librewolf-profile Work 'https://library.lanecc.edu/' \ +'https://inside.lanecc.edu/sites/default/files/pg/map_2024_ltr.pdf' \ +'https://lanecc.libcal.com/allspaces' \ +'https://library.lanecc.edu/study-rooms#maps' \ +'https://my.livechatinc.com/engage/traffic' + +swaymsg move window to workspace number '39:' diff --git a/x11/config/eww/scripts/home/shortcuts/work/lanecc_links b/x11/config/eww/scripts/home/shortcuts/work/lanecc_links new file mode 100755 index 0000000..c02fad1 --- /dev/null +++ b/x11/config/eww/scripts/home/shortcuts/work/lanecc_links @@ -0,0 +1,11 @@ +#!/bin/bash + +#sp-profiles Work + +librewolf-profile Work 'https://app.slack.com/client/' \ +'https://mail.google.com/mail/u/0/#inbox' \ +'https://na01.alma.exlibrisgroup.com/ng/?institute=01ALLIANCE_LANECC&auth=local' \ +'https://calendar.google.com/calendar/u/0/r' \ +'https://25live.collegenet.com/pro/lanecc#!/home/calendar' \ +'https://10.16.0.209:9192/admin' \ +'https://drive.google.com' diff --git a/x11/config/eww/scripts/home/weather b/x11/config/eww/scripts/home/weather new file mode 100755 index 0000000..e13fac2 --- /dev/null +++ b/x11/config/eww/scripts/home/weather @@ -0,0 +1,45 @@ +#!/bin/bash + +wttr_cache="${HOME}/.cache/wttr.json" + +if [[ ! $(find "${wttr_cache}" -cmin -60 -print 2>/dev/null) ]]; then + if ! ping -w 15 -c 1 wttr.in;then + exit + fi + wttr_json=$(curl --silent wttr.in/Eugene?format=j1) + if [ "" != "${wttr_json}" ]; then + echo "${wttr_json}" | tee "${wttr_cache}" + fi +fi + +condition="$(jq -r '.current_condition[0].weatherDesc[0].value' ${wttr_cache})" +condition_code="$(jq -r '.current_condition[0].weatherCode' ${wttr_cache})" +current_temp="$(jq -r '.current_condition[0].temp_F' ${wttr_cache})" +feels_temp="$(jq -r '.current_condition[0].FeelsLikeF' ${wttr_cache})" +min_temp="$(jq -r '.weather[0].mintempF' ${wttr_cache})" +max_temp="$(jq -r '.weather[0].maxtempF' ${wttr_cache})" +humidity="$(jq -r '.current_condition[0].humidity' ${wttr_cache})" +updated="$(date -r ${wttr_cache} '+%Y-%m-%d, %H:%M')" + +case "${condition_code}" in + 113) + "" + ;; + 116|119|122|143) + condition_icon="" + ;; + 179|227|230) + condition_icon="" + ;; + 248|260) + condition_icon="▒" + ;; + 176|182|185|200|263|266|281|284|293|296|299|302|305|308|311) + condition_icon="" + ;; + 386) + condition_icon="" + ;; +esac + +jq -n --arg condition "${condition}" --arg current_temp "${current_temp}" --arg feels_temp "${feels_temp}" --arg min_temp "${min_temp}" --arg max_temp "${max_temp}" --arg humidity "${humidity}" --arg icon "${condition_icon}" --arg updated "${updated}" '{condition: $condition,current_temp: $current_temp,feels_temp: $feels_temp,min_temp: $min_temp,max_temp: $max_temp,humidity: $humidity,icon: $icon,updated: $updated}' diff --git a/x11/config/eww/scripts/home/weather-icon b/x11/config/eww/scripts/home/weather-icon new file mode 100755 index 0000000..9320a34 --- /dev/null +++ b/x11/config/eww/scripts/home/weather-icon @@ -0,0 +1,49 @@ +#!/bin/bash + +wttr_cache="${HOME}/.cache/wttr.json" +#jq -r '.current_condition[0].weatherCode' ${wttr_cache} +jq -r '.current_condition[0].weatherCode' ${wttr_cache} +condition_code="$(jq -r '.current_condition[0].weatherCode' ${wttr_cache})" + +case "${condition_code}" in + 113) + #Sunny + echo "" + ;; + 116|119|122|143) + #Partly cloudy + #Cloudy + #Overcast + #Mist + echo "" + ;; + 179|227|230) + #Patchy snow possible + #Blowing snow + #Blizzard + echo "" + ;; + 248|260) + #Fog + #Freezing fog + echo "▒" + ;; + 176|182|185|200|263|266|281|284|293|296|299|302|305|308|311) + #Patchy rain possible + #Patchy sleet possible + #Patchy freezing drizzle possible + #Thundery outbreaks possible + #Patchy light drizzle + #Light drizzle + #Freezing drizzle + #Heavy freezing drizzle + #Patchy light rain + #Light rain + #Moderate rain at times + #Moderate rain + #Heavy rain at times + #Heavy rain + #Light freezing rain + echo "" + ;; +esac diff --git a/x11/config/eww/style/bar.scss b/x11/config/eww/style/bar.scss new file mode 100644 index 0000000..aba7a1b --- /dev/null +++ b/x11/config/eww/style/bar.scss @@ -0,0 +1,115 @@ +$bar-reveal-children-bg-color: rgba($color0, 0.2); +$transition-time: 0.3s; + +.bar.horizontal { + font-size: 1.05em; + padding: 6px; + margin: 4px 10px; + background-color: rgba(mix($bar-bg-color, $color0, 65%), 0.4); +// background-color: rgba($bar-bg-color, 0.2); + border-radius: $bar-module-border-radius; + + .leftgroup, + .centergroup, + .rightgroup { +// .revealer-on-hover { +// border: 2px solid $bar-bg-color; +// border-radius: $bar-module-border-radius; +// } + +// .revealer-on-hover>widget>box>box>*, +// .revealer-on-hover>widget>box>box>button { +// color: $color0; +// background-color: $bar-bg-color; +// border-radius: $bar-module-border-radius - 4; +// &:hover { +// } +// } +// .reveal_children { +// &>*, +// widget>image { +// &:not(:last-child) { +// border-right: 2px solid $bar-bg-color; +// } +// color: $bar-bg-color; +// } +// } + +// .revealer-on-hover.true { +// border-radius: $bar-module-border-radius; +// &>widget>box>box>* { +// background-color: $bar-bg-color; +// } +// } +// .reveal_children { +// border-radius: 0px $bar-module-border-radius $bar-module-border-radius 0px; +// } + } + + + @import "./bar/power.scss"; + @import "./bar/workspaces.scss"; + + @import "./bar/scratchpad.scss"; + + @import "./bar/charts.scss"; + +// &>box>button, +// &>box>label, +// .bar-module>button, +// .bar-module>label, +// .revealer-on-hover>widget>box>box>*, +/* .reveal_children>widget>image, + .reveal_children:not(.tray)>* { + padding: 0px 5px; + min-width: $bar-module-width; + transition: all 0.3s; + &:hover { + color: $bar-hover-fg-color; + text-shadow: $bar-module-hover-shadow; + } + } + .tray>widget>image { + padding: 3px 10px; + min-width: $bar-module-width; + } + .tray>widget, + .scratchpad>button { + image{ +// opacity: 0.5; + transition: all 0.3s; + border-radius: $bar-module-border-radius; + } + &:hover,&:hover image { + opacity: 1; + } + }*/ + + @import "./bar/window_title.scss"; + @import "./bar/idle-inhibitor.scss"; + @import "./bar/volume.scss"; + @import "./bar/networking.scss"; + @import "./bar/bluetooth.scss"; +// @import "./bar/battery.scss"; +// @import "./bar/disk.scss"; +// @import "./bar/memory.scss"; + @import "./bar/sys.scss"; + @import "./bar/clock.scss"; + @import "./bar/tray.scss"; + @import "./bar/notification-center.scss"; + +/* .chevron box { + border: 2px solid transparent; + }*/ +/* .inactive { + opacity: 0.5; + }*/ + + // HOTFIXES + +/* .scratchpad .reveal_children>*:last-child, + .tray_tab>widget>box>box, + .tray_tab .reveal_children>widget:last-child>image { + margin-right: -5px; + }*/ +} diff --git a/x11/config/eww/style/bar/battery.scss b/x11/config/eww/style/bar/battery.scss new file mode 100644 index 0000000..07bbdff --- /dev/null +++ b/x11/config/eww/style/bar/battery.scss @@ -0,0 +1,6 @@ +.battery { + margin: 0px 5px; + $module-color: $color3; +// $module-color: mix($color9, $color0, 75%); + @import "./styles/revealer.scss"; +} diff --git a/x11/config/eww/style/bar/bluetooth.scss b/x11/config/eww/style/bar/bluetooth.scss new file mode 100644 index 0000000..6305a1c --- /dev/null +++ b/x11/config/eww/style/bar/bluetooth.scss @@ -0,0 +1,5 @@ +.bluetooth { + margin: 0px 5px; + $module-color: mix($color4,$color0,75%); + @import "./styles/revealer.scss"; +} diff --git a/x11/config/eww/style/bar/charts.scss b/x11/config/eww/style/bar/charts.scss new file mode 100644 index 0000000..52b7f97 --- /dev/null +++ b/x11/config/eww/style/bar/charts.scss @@ -0,0 +1,17 @@ +scale trough, +progressbar>trough { + background-color: $color9; + min-width: 50px; + min-height: 10px; + border-radius: 4px; +} +scale trough highlight, +progressbar>trough>progress { + background-color: $color2; + border-radius: 4px; + min-height: 10px; +} +circular-progress { + color: $color9; + background-color: $color2; +} diff --git a/x11/config/eww/style/bar/clock.scss b/x11/config/eww/style/bar/clock.scss new file mode 100644 index 0000000..3970f38 --- /dev/null +++ b/x11/config/eww/style/bar/clock.scss @@ -0,0 +1,7 @@ +.datetime { + font-weight: bold; + color: $bar-bg-color; + padding: 0px 10px; + border-radius: $bar-module-border-radius; +// margin-left: 10px; +} diff --git a/x11/config/eww/style/bar/disk.scss b/x11/config/eww/style/bar/disk.scss new file mode 100644 index 0000000..ea4dabd --- /dev/null +++ b/x11/config/eww/style/bar/disk.scss @@ -0,0 +1,3 @@ +.sysdisk { + margin: 0px 10px; +} diff --git a/x11/config/eww/style/bar/idle-inhibitor.scss b/x11/config/eww/style/bar/idle-inhibitor.scss new file mode 100644 index 0000000..f9e8f27 --- /dev/null +++ b/x11/config/eww/style/bar/idle-inhibitor.scss @@ -0,0 +1,10 @@ +.idle-inhibitor { + $module-bg-color: $color7; + $module-fg-color: $bar-module-fg-color; + + margin: 0px 5px; + @import "./styles/button.scss"; + &.inactive { + opacity: 0.5; + } +} diff --git a/x11/config/eww/style/bar/memory.scss b/x11/config/eww/style/bar/memory.scss new file mode 100644 index 0000000..45f1587 --- /dev/null +++ b/x11/config/eww/style/bar/memory.scss @@ -0,0 +1,5 @@ +.sysmem { + margin: 0px 5px; + $module-color: mix($color0,$color2,25%); + @import "./styles/revealer.scss" +} diff --git a/x11/config/eww/style/bar/networking.scss b/x11/config/eww/style/bar/networking.scss new file mode 100644 index 0000000..71f1cb6 --- /dev/null +++ b/x11/config/eww/style/bar/networking.scss @@ -0,0 +1,11 @@ +.networks { + margin: 0px 5px; + $module-color: mix($color14,$color0,75%); + @import "./styles/revealer.scss"; +} + +.vpn { + margin: 0px 5px; + $module-color: mix($color6,$color0,75%); + @import "./styles/revealer.scss"; +} diff --git a/x11/config/eww/style/bar/notification-center.scss b/x11/config/eww/style/bar/notification-center.scss new file mode 100644 index 0000000..841e646 --- /dev/null +++ b/x11/config/eww/style/bar/notification-center.scss @@ -0,0 +1,10 @@ +.notification-center { + $module-bg-color: rgba($bar-bg-color,0.5); + $module-fg-color: $bar-fg-color; + + margin: 0px 5px; + @import "./styles/button.scss"; + &.inactive { + opacity: 0.5; + } +} diff --git a/x11/config/eww/style/bar/power.scss b/x11/config/eww/style/bar/power.scss new file mode 100644 index 0000000..33e9c2b --- /dev/null +++ b/x11/config/eww/style/bar/power.scss @@ -0,0 +1,5 @@ +.powermenu { + margin: 0px 5px; + $module-color: mix($color0, $color5, 50%); + @import "./styles/revealer.scss" +} diff --git a/x11/config/eww/style/bar/scratchpad.scss b/x11/config/eww/style/bar/scratchpad.scss new file mode 100644 index 0000000..2d285e0 --- /dev/null +++ b/x11/config/eww/style/bar/scratchpad.scss @@ -0,0 +1,5 @@ +.scratchpad { + margin: 0px 5px; + $module-color: $color15; + @import "./styles/revealer.scss"; +} diff --git a/x11/config/eww/style/bar/styles/button.scss b/x11/config/eww/style/bar/styles/button.scss new file mode 100644 index 0000000..170b1c4 --- /dev/null +++ b/x11/config/eww/style/bar/styles/button.scss @@ -0,0 +1,11 @@ +button { + border-radius: $bar-module-border-radius; + padding: 0px 10px; + + color: $module-fg-color; + background-color: $module-bg-color; + &:hover { + background-color: rgba($module-bg-color,0.7); + } + transition: all $transition-time; +} diff --git a/x11/config/eww/style/bar/styles/revealer.scss b/x11/config/eww/style/bar/styles/revealer.scss new file mode 100644 index 0000000..ece376c --- /dev/null +++ b/x11/config/eww/style/bar/styles/revealer.scss @@ -0,0 +1,53 @@ +&.revealer-on-hover { + border-radius: $bar-module-border-radius; +} + +.reveal-children>widget>image { + padding: 0px 7px; +} +.revealer-preview, +.reveal-children>* { + padding: 0px 7px; + min-width: $bar-module-width; + transition: all 0.3s; + background-color: rgba($bar-bg-color,0.5); + &.scratchpad-item.inactive>image { + opacity: 0.5; + } + &:hover { + background: linear-gradient(rgba($bar-bg-color,0.5) 15%, rgba($module-color,0.5)); + } + &.active { + background: mix(rgba($bar-bg-color,0.5), rgba($module-color,0.5),25%); + &:hover { + background: linear-gradient(mix(rgba($bar-bg-color,0.5), rgba($module-color,0.5)) 15%, rgba($bar-bg-color,0.5)); + } + & image { + opacity: 1; + } + } + &.inactive { + background-color: rgba($bar-bg-color,0.3); + color: rgba($bar-fg-color,0.5); + &:hover { + background: linear-gradient(rgba($bar-bg-color,0.3) 15%, rgba($module-color,0.3)); + } +// & image { +// opacity: 0.3; +// } + } +} +.revealer-preview { + border-radius: $bar-module-border-radius; +} +&.true .revealer-preview { + border-radius: $bar-module-border-radius 0 0 $bar-module-border-radius; +} +.reveal-children { + >* { + border-left: 2px solid $module-color; + &:last-child { + border-radius: 0 $bar-module-border-radius $bar-module-border-radius 0; + } + } +} diff --git a/x11/config/eww/style/bar/sys.scss b/x11/config/eww/style/bar/sys.scss new file mode 100644 index 0000000..8b2b4e6 --- /dev/null +++ b/x11/config/eww/style/bar/sys.scss @@ -0,0 +1,15 @@ +.sysmem { + margin: 0px 5px; + $module-color: mix($color0,$color2,25%); + @import "./styles/revealer.scss" +} +.sysdisk { + margin: 0px 5px; + $module-color: mix($color0,$color7,45%); + @import "./styles/revealer.scss" +} +.battery { + margin: 0px 5px; + $module-color: mix($color0,$color3,20%); + @import "./styles/revealer.scss" +} diff --git a/x11/config/eww/style/bar/tray.scss b/x11/config/eww/style/bar/tray.scss new file mode 100644 index 0000000..1d760eb --- /dev/null +++ b/x11/config/eww/style/bar/tray.scss @@ -0,0 +1,5 @@ +.tray { + margin: 0px 5px; + $module-color: $color15; + @import "./styles/revealer.scss" +} diff --git a/x11/config/eww/style/bar/volume.scss b/x11/config/eww/style/bar/volume.scss new file mode 100644 index 0000000..6f4e7f7 --- /dev/null +++ b/x11/config/eww/style/bar/volume.scss @@ -0,0 +1,6 @@ +.volume { + margin: 0px 5px; + $module-color: $bar-bg-color; +// $module-color: mix($color9, $color0, 75%); + @import "./styles/revealer.scss"; +} diff --git a/x11/config/eww/style/bar/window_title.scss b/x11/config/eww/style/bar/window_title.scss new file mode 100644 index 0000000..859f6a6 --- /dev/null +++ b/x11/config/eww/style/bar/window_title.scss @@ -0,0 +1,6 @@ +.active_window { + font-weight: bold; + color: $bar-bg-color; + padding: 0px 15px; + border-radius: $bar-module-border-radius; +} diff --git a/x11/config/eww/style/bar/workspaces.scss b/x11/config/eww/style/bar/workspaces.scss new file mode 100644 index 0000000..d01626b --- /dev/null +++ b/x11/config/eww/style/bar/workspaces.scss @@ -0,0 +1,154 @@ +$personal-color: $bar-bg-color; +$development-color: mix($color9, $color12); +$Housing-color: mix($color5, $color3); +$work-color: mix($color5, $color4, 30%); + +.profile, +.workspaces { + border-width: 2px; + border-style: solid; + font-weight: bold; + &.profile-Penelope { + border-color: $personal-color; + } + &.profile-Development { + border-color: $development-color; + } + &.profile-Housing { + border-color: $Housing-color; + } + &.profile-Work { + border-color: $work-color; + } +} +.profile { + margin-left: 5px; + border-right: 0px solid transparent; + border-radius: $bar-module-border-radius 0px 0px $bar-module-border-radius; + color: $bar-bg-color; + padding: 0px 10px; + transition: 0.3s all; + &.profile-Development, + &.profile-Housing, + &.profile-Work { + color: $bar-module-fg-color; + } + &.profile-Penelope { + background-color: transparent; + } + &.profile-Development { + background-color: $development-color; + } + &.profile-Housing { + background-color: $Housing-color; + } + &.profile-Work { + background-color: $work-color; + } +} + +.workspaces { + margin-right: 5px; + box.ws-center { + >box>button { + background-color: $bar-bg-color; + color: $bar-module-fg-color; + border-radius: 0px $bar-module-bg-border-radius $bar-module-bg-border-radius 0px; + &.profile-Penelope { + background-color: $personal-color; + border-color: $personal-color; + } + &.profile-Development { + background-color: $development-color; + border-color: $development-color; + } + &.profile-Housing { + background-color: $Housing-color; + border-color: $Housing-color; + } + &.profile-Work { + background-color: $work-color; + border-color: $work-color; + } + } + &.true>box>button { + border-radius: 0px; + &.last-workspace { + border-radius: 0px $bar-module-bg-border-radius $bar-module-bg-border-radius 0px; + } + } + } + border-left: 0px solid transparent; + border-radius: 0px $bar-module-border-radius $bar-module-border-radius 0px; + revealer { + + &.ws-left { + >box>box>button { + border-left: 2px solid $bar-bg-color; + } + } + &.ws-right { + >box>box { + >button { + border-right: 2px solid $bar-bg-color; + } + &:last-child { + &>button { + border-right: 0px solid transparent; + border-radius: 0px $bar-module-border-radius $bar-module-border-radius 0px; + } + } + } + } + &>box>box>button { + color: $bar-bg-color; + &.profile-Penelope { + color: $personal-color; + border-color: $personal-color; + } + &.profile-Development { + color: $development-color; + border-color: $development-color; + } + &.profile-Housing { + color: $Housing-color; + border-color: $Housing-color; + } + &.profile-Work { + color: $work-color; + border-color: $work-color; + } + &:hover { + background-color: rgba($bar-bg-color,0.5); + &.profile-Penelope { + background-color: rgba($personal-color,0.5); + } + &.profile-Development { + background-color: rgba($development-color,0.5); + } + &.profile-Housing { + background-color: rgba($Housing-color,0.5); + } + &.profile-Work { + background-color: rgba($work-color,0.5); + } + } + } + } + button { + min-width: 35px; + padding: 1px 2px; + transition: all 0.3s; + label { + padding: 2px 6px; + margin-right: -10px; + } + .workspace-number { + margin: 0px; + margin-left: -2px; + margin-top: -6px; + padding: 0px; + font-size: 0.6em; + } + } +} diff --git a/x11/config/eww/variables/bar/bluetooth.yuck b/x11/config/eww/variables/bar/bluetooth.yuck new file mode 100644 index 0000000..d62fd85 --- /dev/null +++ b/x11/config/eww/variables/bar/bluetooth.yuck @@ -0,0 +1,2 @@ +(deflisten bluetooth_status :initial '[{}]' + "scripts/bar/bluetooth") diff --git a/x11/config/eww/variables/bar/music.yuck b/x11/config/eww/variables/bar/music.yuck new file mode 100644 index 0000000..b0c1966 --- /dev/null +++ b/x11/config/eww/variables/bar/music.yuck @@ -0,0 +1,2 @@ +(deflisten nowplaying :initial '' + "scripts/bar/nowplaying") diff --git a/x11/config/eww/variables/bar/network-manager.yuck b/x11/config/eww/variables/bar/network-manager.yuck new file mode 100644 index 0000000..1e23026 --- /dev/null +++ b/x11/config/eww/variables/bar/network-manager.yuck @@ -0,0 +1,3 @@ +(deflisten network_manager + :initial '{ "devices": [], "vpns": [] }' + "scripts/bar/network-manager") diff --git a/x11/config/eww/variables/bar/network.yuck b/x11/config/eww/variables/bar/network.yuck new file mode 100644 index 0000000..dcfa90a --- /dev/null +++ b/x11/config/eww/variables/bar/network.yuck @@ -0,0 +1,2 @@ +(deflisten network_status :initial '{ "online": false, "wifi": "false", "wired": "false", "vpn": "false", "proton": "false", "proton_sc": "false", "homevpn": "false", "homevpn_full": "false" }' + "scripts/bar/networking") diff --git a/x11/config/eww/variables/bar/profile-info.yuck b/x11/config/eww/variables/bar/profile-info.yuck new file mode 100644 index 0000000..4378e55 --- /dev/null +++ b/x11/config/eww/variables/bar/profile-info.yuck @@ -0,0 +1,2 @@ +(deflisten profile_info :initial '{"icon":"","name":"","program_args":{},"scripts":[]}' + "sdu profile get -m") diff --git a/x11/config/eww/variables/bar/sway-info.yuck b/x11/config/eww/variables/bar/sway-info.yuck new file mode 100644 index 0000000..7b51dab --- /dev/null +++ b/x11/config/eww/variables/bar/sway-info.yuck @@ -0,0 +1,2 @@ +(deflisten sway_info :initial '{"window_info":{"title":"","window_count":0},"workspace_info":[],"workspace_profile":{"icon":"","name":"","scripts":[]}}' + "sdu sway get -m") diff --git a/x11/config/eww/volume.ogg b/x11/config/eww/volume.ogg new file mode 100644 index 0000000..8b3b796 Binary files /dev/null and b/x11/config/eww/volume.ogg differ diff --git a/x11/config/i3/assets/sounds/volume.ogg b/x11/config/i3/assets/sounds/volume.ogg new file mode 100644 index 0000000..8b3b796 Binary files /dev/null and b/x11/config/i3/assets/sounds/volume.ogg differ diff --git a/x11/config/i3/assets/wallpaper/wallpaper.jpg b/x11/config/i3/assets/wallpaper/wallpaper.jpg new file mode 100644 index 0000000..a1992d1 Binary files /dev/null and b/x11/config/i3/assets/wallpaper/wallpaper.jpg differ diff --git a/x11/config/i3/scripts/volume.sh b/x11/config/i3/scripts/volume.sh new file mode 100755 index 0000000..82face7 --- /dev/null +++ b/x11/config/i3/scripts/volume.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +operation="${1}" + +case "$operation" in + up) + amixer -D pulse sset Master 5%+ + ;;& + down) + amixer -D pulse sset Master 5%- + ;;& + up|down) + paplay "$HOME/.config/i3/assets/sounds/volume.ogg" + ;; +esac diff --git a/x11/config/kitty/kitty.conf b/x11/config/kitty/kitty.conf new file mode 100644 index 0000000..f3ba243 --- /dev/null +++ b/x11/config/kitty/kitty.conf @@ -0,0 +1,2 @@ +background_opacity 1.0 +include /home/${USER}/.config/de-vars/colors/active/kitty.conf diff --git a/x11/config/rofi/config.rasi b/x11/config/rofi/config.rasi new file mode 100644 index 0000000..3563e99 --- /dev/null +++ b/x11/config/rofi/config.rasi @@ -0,0 +1,6 @@ +configuration { + modi: "window,drun,ssh,combi"; + font: "OverpassM Nerd Font 18"; + combi-modi: "window,drun,ssh"; +} +@theme "purple"