feat: differentiate between laptop and desktop
This commit is contained in:
parent
3a59d32f55
commit
5bb44594bb
50 changed files with 3432 additions and 1 deletions
513
eww_laptop/eww.yuck
Normal file
513
eww_laptop/eww.yuck
Normal file
|
|
@ -0,0 +1,513 @@
|
|||
;; date definitions ;;
|
||||
(defpoll clock_time :interval "1m" "date +\%I")
|
||||
(defpoll clock_minute :interval "5s" "date +\%M")
|
||||
(defpoll clock_date :interval "10h" "date '+%d/%m'")
|
||||
|
||||
;; volume definitions ;;
|
||||
(defpoll volume_percent :interval "1s" "pactl get-sink-volume @DEFAULT_SINK@ | awk -F '/' ' { print $2 } ' | tr -d ' %'")
|
||||
(defpoll mic_percent :interval "1s" "pactl get-source-volume @DEFAULT_SOURCE@ | awk -F'/' '{ print $2 }' | tr -d ' %'")
|
||||
(defpoll brightness_percent :interval "5s" "brightnessctl -m -d intel_backlight | awk -F, '{print substr($4, 0, length($4)-1)}' | tr -d '%'")
|
||||
|
||||
;; battery definitions ;;
|
||||
(defpoll battery_status :interval "5s" "./scripts/battery stat")
|
||||
(defpoll battery-capacity :interval "5s" "scripts/battery percent")
|
||||
(defpoll battery :interval "5s" "scripts/battery icon")
|
||||
|
||||
;; memory definitions ;;
|
||||
(defpoll memory :interval "15s" "scripts/memory")
|
||||
(defpoll memory_used_mb :interval "2m" "scripts/mem-ad used")
|
||||
(defpoll memory_total_mb :interval "2m" "scripts/mem-ad total")
|
||||
(defpoll memory_free_mb :interval "2m" "scripts/mem-ad free")
|
||||
|
||||
;; wifi definitions ;;
|
||||
(defpoll COL_WLAN :interval "1m" "~/.config/eww/scripts/wifi --COL")
|
||||
(defpoll ESSID_WLAN :interval "1m" "~/.config/eww/scripts/wifi --ESSID")
|
||||
(defpoll WLAN_ICON :interval "1m" "~/.config/eww/scripts/wifi --ICON")
|
||||
|
||||
;; music definitions ;;
|
||||
(defpoll Song_info :interval "2s" "scripts/music_control")
|
||||
(defpoll Thumbnail :interval "2s" "scripts/music_control2")
|
||||
|
||||
;; current window ;;
|
||||
;;(defpoll currentWindow :interval "100ms" "hyprctl activewindow | grep class | awk -F ':' '{ print $2 }'")
|
||||
|
||||
;; calendar definitions ;;
|
||||
(defpoll calendar_day :interval "20h" "date '+%d'")
|
||||
(defpoll calendar_year :interval "20h" "date '+%Y'")
|
||||
|
||||
;; Weather vars
|
||||
(defpoll weather-icon :interval "20m" "cat ~/.cache/weather/weather-icon")
|
||||
(defpoll temperature :interval "20m" "cat ~/.cache/weather/weather-degree")
|
||||
(defpoll weather-hex :interval "20m" "cat ~/.cache/weather/weather-hex")
|
||||
(defpoll weather-stat :interval "20m" "cat ~/.cache/weather/weather-stat")
|
||||
(defpoll weather-stat-side :interval "20m" "~/.config/eww/scripts/weather-trimmer")
|
||||
(defpoll weather-quote :interval "20m" "~/.config/eww/scripts/getwethquote")
|
||||
|
||||
;; simple variables ;;
|
||||
(defvar eww "$HOME/.local/bin/eww -c $HOME/.config/eww")
|
||||
(defvar vol_reveal false)
|
||||
(defvar br_reveal false)
|
||||
(defvar music_reveal false)
|
||||
(defvar wifi_rev false)
|
||||
(defvar time_rev false)
|
||||
(deflisten workspace "scripts/workspace")
|
||||
(deflisten currentName "scripts/current_name")
|
||||
|
||||
|
||||
;; widgets
|
||||
|
||||
|
||||
;; wifi ;;
|
||||
(defwidget wifi []
|
||||
(eventbox :onhover "${eww} update wifi_rev=true"
|
||||
:onhoverlost "${eww} update wifi_rev=false"
|
||||
(box :vexpand "false" :hexpand "false" :space-evenly "false"
|
||||
(button :class "module-wif" :onclick "hyprctl dispatch exec 'alacritty -e nmtui' && ${eww} update wifi_rev=false" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" WLAN_ICON)
|
||||
(revealer :transition "slideright"
|
||||
:reveal wifi_rev
|
||||
:duration "350ms"
|
||||
(button :class "module_essid" :onclick "hyprctl dispatch exec 'alacritty -e nmtui' && ${eww} update wifi_rev=false" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" ESSID_WLAN)))))
|
||||
|
||||
(defwidget bluetooth []
|
||||
(box :vexpand "false" :hexpand "false" :space-evenly "false"
|
||||
(button :class "module-wif" :onclick "hyprctl dispatch exec 'blueman-manager'" :wrap "false" :limit-width 12 :style "color: ${COL_WLAN};" "")
|
||||
))
|
||||
|
||||
;; workspaces ;;
|
||||
(defwidget workspaces []
|
||||
(literal :content workspace))
|
||||
|
||||
|
||||
;; Battery ;;
|
||||
(defwidget bat []
|
||||
(box :class "bat_module" :vexpand "false" :hexpand "false"
|
||||
(button
|
||||
:class "iconbat"
|
||||
:tooltip "Battery: ${battery-capacity}%"
|
||||
:show_truncated false
|
||||
:onclick "$HOME/.config/eww/scripts/pop system"
|
||||
:wrap false
|
||||
"${battery}")))
|
||||
|
||||
;; memory ;;
|
||||
(defwidget mem []
|
||||
(box :class "mem_module" :vexpand "false" :hexpand "false"
|
||||
(button :class "iconmem"
|
||||
:onclick "$HOME/.config/eww/scripts/pop system"
|
||||
(circular-progress :value memory
|
||||
:class "membar"
|
||||
:thickness 4
|
||||
:tooltip "using ${memory}% ram"
|
||||
:show_truncated false
|
||||
:wrap false
|
||||
(label :class "mem_padding" :text "")
|
||||
))))
|
||||
|
||||
|
||||
;; seperator ;;
|
||||
(defwidget sep []
|
||||
(box :class "module-2" :vexpand "false" :hexpand "false"
|
||||
(label :class "separ" :text "|")))
|
||||
|
||||
;; clock ;;
|
||||
(defwidget clock_module []
|
||||
(eventbox :onhover "${eww} update time_rev=true"
|
||||
:onhoverlost "${eww} update time_rev=false"
|
||||
(button :onclick "scripts/pop calendar"
|
||||
(box :class "module" :space-evenly "false" :orientation "h" :spacing "3"
|
||||
(label :text clock_time :class "clock_time_class" )
|
||||
(label :text "" :class "clock_time_sep" )
|
||||
(label :text clock_minute :class "clock_minute_class")
|
||||
(revealer :class "clock_date_class"
|
||||
:transition "slideleft"
|
||||
:reveal time_rev
|
||||
:duration "350ms"
|
||||
clock_date
|
||||
)))))
|
||||
|
||||
;; speaker volume ;;
|
||||
(defwidget volume []
|
||||
(box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3"
|
||||
(button :onclick "scripts/pop audio" :class "volume_icon" "")))
|
||||
|
||||
;; screen brightness ;;
|
||||
(defwidget bright []
|
||||
(box :class "module-2" :space-evenly "false" :orientation "h" :spacing "3"
|
||||
(button :onclick "scripts/pop brightness" :class "bright_icon" "")))
|
||||
|
||||
;; brightness widget ;;
|
||||
(defwidget brightness_overlay []
|
||||
(eventbox :onhover "scripts/pop hoverCreate"
|
||||
:onhoverlost "scripts/pop hoverGet brightness_window"
|
||||
(box :class "audio-box" :halign "center" :orientation "v" :vexpand "false" :hexpand "false"
|
||||
(label :class "speaker_text" :text "brightness" :halign "left" )
|
||||
(box :class "brightbar" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(label :class "bright_icon_overlay" :text "")
|
||||
(scale :value brightness_percent
|
||||
:space-evenly "false"
|
||||
:orientation "h"
|
||||
:onchange "brightnessctl set {}%"
|
||||
:tooltip "brightness on ${brightness_percent}%"
|
||||
:max 100
|
||||
:min 0)))))
|
||||
|
||||
;; audio volume widget ;;
|
||||
(defwidget audio []
|
||||
(eventbox :onhover "scripts/pop hoverCreate"
|
||||
:onhoverlost "scripts/pop hoverGet audio_ctl"
|
||||
(box :class "audio-box" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false"
|
||||
(box :halign "center" :space-evenly "false" :hexpand "false" :vexpand "false"
|
||||
(box :class "speaker_icon" :orientation "v")
|
||||
(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(label :class "speaker_text" :text "speaker" :valign "center" :halign "left" )
|
||||
(box :class "speaker_bar" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(scale :value volume_percent
|
||||
:space-evenly "false"
|
||||
:orientation "h"
|
||||
:onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%"
|
||||
:tooltip "volume on ${volume_percent}%"
|
||||
:max 100
|
||||
:min 0))))
|
||||
(label :text "" :class "audio_sep" :halign "center")
|
||||
(box :halign "center" :space-evenly "false" :hexpand "false" :vexpand "false"
|
||||
(box :class "mic_icon" :orientation "v")
|
||||
(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(label :class "speaker_text" :text "mic" :valign "center" :halign "left" )
|
||||
(box :class "mic_bar" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(scale :value mic_percent
|
||||
:space-evenly "false"
|
||||
:orientation "h"
|
||||
:tooltip "mic on ${mic_percent}%"
|
||||
:onchange "pactl set-source-volume @DEFAULT_SOURCE@ {}%"
|
||||
:max 100
|
||||
:min 0))))
|
||||
(label :text "" :class "audio_sep" :halign "center")
|
||||
(box :halign "center" :space-evenly "false" :hexpand "false" :vexpand "false"
|
||||
(label :class "bright_icon_overlay" :orientation "v" :text "")
|
||||
(box :orientation "v" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(label :class "bright_text" :text "lux" :valign "center" :halign "right" )
|
||||
(box :class "brightbar" :halign "center" :vexpand "false" :hexpand "false"
|
||||
(scale :value brightness_percent
|
||||
:space-evenly "false"
|
||||
:orientation "h"
|
||||
:tooltip "brightness ${brightness_percent}%"
|
||||
:onchange "brightnessctl set {}%"
|
||||
:max 100
|
||||
:min 0))))
|
||||
(label :text "" :class "audio_sep" :halign "center")
|
||||
(box :class "change_audio_box" :halign "center" :spac`e-evenly "false" :hexpand "false" :vexpand "false"
|
||||
(box :class "change_audio" :orientation "v" :halign "left"
|
||||
(button :onclick "scripts/change-audio internal" ""))
|
||||
(box :class "change_audio" :orientation "v" :halign "right"
|
||||
(button :onclick "scripts/change-audio bluetooth" ""))
|
||||
))))
|
||||
|
||||
(defwidget cname []
|
||||
(literal :content currentName))
|
||||
|
||||
;; calendar ;;
|
||||
(defwidget cal []
|
||||
(eventbox :onhover "scripts/pop hoverCreate"
|
||||
:onhoverlost "scripts/pop hoverGet calendar"
|
||||
(box :class "cal" :orientation "v"
|
||||
(box :class "cal-in"
|
||||
(calendar :class "cal"
|
||||
:day calendar_day
|
||||
:year calendar_year)))))
|
||||
|
||||
(defwidget system []
|
||||
(eventbox :onhover "scripts/pop hoverCreate"
|
||||
:onhoverlost "scripts/pop hoverGet system"
|
||||
(box :class "sys_win" :orientation "v" :space-evenly "false" :hexpand "false" :vexpand "false" :spacing 0
|
||||
(box :class "sys_bat_box" :orientation "h" :space-evenly "false"
|
||||
(circular-progress :value battery-capacity
|
||||
:class "sys_bat"
|
||||
:thickness 9
|
||||
(label :text ""
|
||||
:class "sys_icon_bat"
|
||||
:limit-width 2
|
||||
:show_truncated false
|
||||
:wrap false))
|
||||
(box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
|
||||
(label :text "battery"
|
||||
:halign "start"
|
||||
:class "sys_text_bat"
|
||||
:limit-width 9
|
||||
:show_truncated false
|
||||
:wrap false)
|
||||
(label :text "${battery-capacity}%"
|
||||
:halign "start"
|
||||
:class "sys_text_bat_sub"
|
||||
:limit-width 22
|
||||
:show_truncated false
|
||||
:wrap false)
|
||||
(label :text "${battery_status}"
|
||||
:halign "start"
|
||||
:class "sys_text_bat_sub"
|
||||
:limit-width 22
|
||||
:show_truncated false
|
||||
:wrap false)))
|
||||
(label :text "" :class "sys_sep" :halign "center")
|
||||
(box :class "sys_mem_box" :orientation "h" :space-evenly "false" :halign "start"
|
||||
(circular-progress :value memory
|
||||
:class "sys_mem"
|
||||
:thickness 9
|
||||
(label :text ""
|
||||
:class "sys_icon_mem"
|
||||
:limit-width 2
|
||||
:show_truncated false
|
||||
:wrap false
|
||||
:angle 0.0))
|
||||
(box :orientation "v" :space-evenly "false" :spacing 0 :hexpand "false" :vexpand "false"
|
||||
(label :text "memory"
|
||||
:halign "start"
|
||||
:class "sys_text_mem"
|
||||
:limit-width 9
|
||||
:show_truncated false
|
||||
:wrap false)
|
||||
(label :text "${memory_used_mb} | ${memory_total_mb}mb "
|
||||
:halign "start"
|
||||
:class "sys_text_mem_sub"
|
||||
:limit-width 22
|
||||
:show_truncated false
|
||||
:wrap false)
|
||||
(label :text "${memory_free_mb}mb free"
|
||||
:halign "start"
|
||||
:class "sys_text_mem_sub"
|
||||
:limit-width 22
|
||||
:show_truncated false
|
||||
:wrap false))))))
|
||||
|
||||
;; cockpit widget ;;
|
||||
(defwidget cockpit []
|
||||
(box :orientation "h"
|
||||
(box :class "cockpit_class"
|
||||
:orientation "h"
|
||||
(box :orientation "v"
|
||||
(box :class "cockpit_box" :orientation "v"
|
||||
(box
|
||||
(button :class "cockpit_button_shutdown" :onclick "hyprctl dispatch exec 'shutdown now'" "")
|
||||
(button :class "cockpit_button_restart" :onclick "hyprctl dispatch exec reboot" "")
|
||||
(button :class "cockpit_button_sleep" :onclick "hyprctl dispatch exec 'playerctl -a pause & swaylock -c 000000 & systemctl suspend'" ""))
|
||||
(label :text "" :class "audio_sep" :halign "center")
|
||||
(box
|
||||
(button :class "cockpit_button_settings" :onclick "hyprctl dispatch exec 'pavucontrol'" "")
|
||||
(button :class "cockpit_button_settings" :onclick "scripts/change-audio bluetooth" "")))
|
||||
(box :class "cockpit_box" :orientation "v"
|
||||
(button :class "cockpit_docs" :onclick "hyprctl dispatch exec nautilus $HOME/Documents" "Documents ")
|
||||
(label :text "" :class "cockpit_sep_top" :halign "center")
|
||||
(button :class "cockpit_pics" :onclick "hyprctl dispatch exec nautilus $HOME/Pictures" "Pictures ")
|
||||
(label :text "" :class "cockpit_sep_bottom" :halign "center")
|
||||
(button :class "cockpit_gits" :onclick "hyprctl dispatch exec 'alacritty --working-directory $HOME/gits'" "gits ")))
|
||||
(box :orientation "v"
|
||||
(box :class "cockpit_box" :orientation "v"
|
||||
(box :class "cockpit_clock"
|
||||
(label :text clock_time :class "cockpit_clock_left" )
|
||||
(label :text "" :class "cockpit_clock_sep" )
|
||||
(label :text clock_minute :class "cockpit_clock_right"))
|
||||
(label :text "" :class "audio_sep" :halign "center")
|
||||
(box :class "cockpit_clock"
|
||||
(label :text clock_date :class "cockpit_date")
|
||||
))
|
||||
(box :class "cockpit_box" (weather)))
|
||||
(box :width 300 :height 200 :class "cockpit_box" :orientation "v"
|
||||
(box :class "song_info"
|
||||
(label :wrap true :text "${Song_info}"))
|
||||
(box :class "album_cover" :style 'background-image: url("${Thumbnail}")')
|
||||
)))
|
||||
)
|
||||
|
||||
;; weather ;;
|
||||
(defwidget weather []
|
||||
(box :orientation "v" :space-evenly "false"
|
||||
(box :orientation "h" :space-evenly "false"
|
||||
(box :class "weather-icon" :style "color: ${weather-hex}" {weather-icon})
|
||||
(box :class "temperature" "${temperature}"))
|
||||
(box :orientation "v" :space-evenly "false"
|
||||
(box :class "weather-stat" {weather-stat}))
|
||||
(box :class "weather-quote-head"
|
||||
(label :wrap true :text {weather-quote}))))
|
||||
|
||||
;; left side but displayed right? ;;
|
||||
(defwidget left []
|
||||
(box :orientation "h"
|
||||
:space-evenly false
|
||||
:halign "end"
|
||||
:class "left_modules"
|
||||
(volume)
|
||||
(wifi)
|
||||
(bluetooth)
|
||||
(sep)
|
||||
(bat)
|
||||
(mem)
|
||||
(sep)
|
||||
(clock_module)))
|
||||
|
||||
;; right side but displayed left? ;;
|
||||
(defwidget right []
|
||||
(box :orientation "h"
|
||||
:space-evenly false
|
||||
:halign "start"
|
||||
:class "right_modules"
|
||||
(workspaces)))
|
||||
|
||||
;; center widget ;;
|
||||
(defwidget center []
|
||||
(box :orientation "h"
|
||||
:space-evenly false
|
||||
:halign "center"
|
||||
:class "center_modules"
|
||||
(cname)))
|
||||
|
||||
;; bar as widget;;
|
||||
(defwidget bar_1 []
|
||||
(box :class "bar_class"
|
||||
:orientation "h"
|
||||
(right)
|
||||
(center)
|
||||
(left)
|
||||
))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Drawing Windows ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defwindow calendar
|
||||
:monitor 0
|
||||
:geometry (geometry :x "20px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "270px"
|
||||
:height "60px")
|
||||
:stacking "overlay"
|
||||
(cal))
|
||||
|
||||
(defwindow audio_ctl
|
||||
:monitor 0
|
||||
:geometry (geometry :x "120px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "250px"
|
||||
:height "330px")
|
||||
:stacking "overlay"
|
||||
(audio))
|
||||
|
||||
(defwindow brightness_window
|
||||
:monitor 0
|
||||
:geometry (geometry :x "250px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "280px"
|
||||
:height "60px")
|
||||
:stacking "overlay"
|
||||
(brightness_overlay))
|
||||
|
||||
;; music again .. ;;
|
||||
;; (defwindow music_win :stacking "fg" :focusable "false" :screen 1
|
||||
;; :geometry (geometry :x "0" :y "7%" :width 428 :height 104 :anchor "top center")
|
||||
;; (music_pop))
|
||||
|
||||
(defwindow system
|
||||
:monitor 0
|
||||
:geometry (geometry :x "50px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "290px"
|
||||
:height "120px")
|
||||
:stacking "overlay"
|
||||
(system))
|
||||
|
||||
;; draw the bar ;;
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:geometry (geometry :x "0%"
|
||||
:y "1px"
|
||||
:width "99%"
|
||||
:height "20px"
|
||||
:anchor "top center")
|
||||
:stacking "bg"
|
||||
:wm-ignore false
|
||||
:exclusive true
|
||||
(bar_1))
|
||||
|
||||
;; draw the bar ;;
|
||||
(defwindow cockpit_window_0
|
||||
:monitor 0
|
||||
:geometry (geometry
|
||||
:width "600px"
|
||||
:height "500px"
|
||||
:anchor "center")
|
||||
:stacking "overlay"
|
||||
:wm-ignore false
|
||||
:exclusive true
|
||||
(cockpit))
|
||||
|
||||
(defwindow calendar1
|
||||
:monitor 1
|
||||
:geometry (geometry :x "20px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "270px"
|
||||
:height "60px")
|
||||
:stacking "overlay"
|
||||
(cal))
|
||||
|
||||
(defwindow audio_ctl1
|
||||
:monitor 1
|
||||
:geometry (geometry :x "120px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "250px"
|
||||
:height "330px")
|
||||
:stacking "overlay"
|
||||
(audio))
|
||||
|
||||
(defwindow brightness_window1
|
||||
:monitor 1
|
||||
:geometry (geometry :x "250px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "280px"
|
||||
:height "60px")
|
||||
:stacking "overlay"
|
||||
(brightness_overlay))
|
||||
|
||||
;; music again .. ;;
|
||||
;; (defwindow music_win1 :stacking "fg" :focusable "false" :screen 1
|
||||
;; :geometry (geometry :x "0" :y "7%" :width 428 :height 104 :anchor "top center")
|
||||
;; (music_pop))
|
||||
|
||||
(defwindow system1
|
||||
:monitor 1
|
||||
:geometry (geometry :x "50px"
|
||||
:y "2px"
|
||||
:anchor "top right"
|
||||
:width "290px"
|
||||
:height "120px")
|
||||
:stacking "overlay"
|
||||
(system))
|
||||
|
||||
;; draw the bar ;;
|
||||
(defwindow bar1
|
||||
:monitor 1
|
||||
:geometry (geometry :x "0%"
|
||||
:y "1px"
|
||||
:width "99%"
|
||||
:height "20px"
|
||||
:anchor "top center")
|
||||
:stacking "bg"
|
||||
:wm-ignore false
|
||||
:exclusive true
|
||||
(bar_1))
|
||||
|
||||
;; draw the bar ;;
|
||||
(defwindow cockpit_window_1
|
||||
:monitor 1
|
||||
:geometry (geometry
|
||||
:width "600px"
|
||||
:height "500px"
|
||||
:anchor "center")
|
||||
:stacking "overlay"
|
||||
:wm-ignore false
|
||||
:exclusive true
|
||||
(cockpit))
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue