196 lines
9.8 KiB
Plaintext
196 lines
9.8 KiB
Plaintext
;; **
|
|
;; ** Widgets config for EWW
|
|
;; ** Created by : @adi1090x
|
|
;; ** Converted by : @tripleo1
|
|
;; **
|
|
|
|
;; ** Variables ***********************************************************************
|
|
|
|
;; Profile vars
|
|
(defvar IMAGE "images/profile.jpg")
|
|
(defvar NAME "kogami")
|
|
(defpoll UNAME :interval "5m" `whoami`)
|
|
|
|
;; System vars
|
|
(defpoll HOST :interval "5s" `hostname`)
|
|
(defpoll CPU_USAGE :interval "1s" `sys_info --cpu`)
|
|
(defpoll MEM_USAGE :interval "1s" `sys_info --mem`)
|
|
(defpoll BLIGHT :interval "1s" `echo $(( ($(brightnessctl g) * 100 + $(brightnessctl m) / 2) / $(brightnessctl m) ))`)
|
|
(defpoll BATTERY :interval "5s" `battery-hyprlock -p`)
|
|
|
|
;; Time vars
|
|
(defpoll HOUR :interval "5s" `date +\"%H\"`)
|
|
(defpoll MIN :interval "5s" `date +\"%M\"`)
|
|
(defpoll DAY :interval "5s" `date +\"%A\"`)
|
|
|
|
;; Uptime vars
|
|
(defpoll UPHOUR :interval "5s" `uptime -p | sed 's/,//g' | awk '{print $6, $7}'`)
|
|
(defpoll UPMIN :interval "5s" `uptime -p | sed 's/,//g' | awk '{print $8, $9}'`)
|
|
|
|
;; Music vars
|
|
(defpoll SONG :interval "1s" `playerctl-hyprlock --title`)
|
|
(defpoll ARTIST :interval "1s" `playerctl-hyprlock --artist`)
|
|
(defpoll STATUS :interval "1s" `playerctl-hyprlock --status`)
|
|
(defpoll COVER :interval "1s" `playerctl-hyprlock --cover`)
|
|
(defpoll CURRENT :interval "1s" `echo "scale=2; $(playerctl metadata --format "{{ position }}") / $(playerctl metadata --format "{{ mpris:length }}") * 100" | bc`)
|
|
(defpoll CTIME :interval "1s" `playerctl metadata --format "{{ duration(position) }}"`)
|
|
(defpoll TTIME :interval "1s" `playerctl metadata --format "{{ duration(mpris:length) }}"`)
|
|
;; Files vars
|
|
(defpoll FREE :interval "5s" `df -h / | awk '{print $4}' | tail -n 1 | sed 's/G/GB/'`)
|
|
|
|
;; Bluetooth vars
|
|
;; Headphones
|
|
(defpoll BLUETOOTH_HEADPHONES_STATUS :interval "1s" `bluetooth-status EF:DD:5D:31:76:F0`)
|
|
(defpoll BLUETOOTH_HEADPHONES_BATTERY :interval "5s" `bluetooth-battery EF:DD:5D:31:76:F0`)
|
|
(defpoll BLUETOOTH_MOUSE_STATUS :interval "1s" `bluetooth-status D9:2E:B4:70:BF:D6`)
|
|
(defpoll BLUETOOTH_MOUSE_BATTERY :interval "5s" `bluetooth-battery D9:2E:B4:70:BF:D6`)
|
|
|
|
|
|
;; ** Widgets *************************************************************************
|
|
|
|
;; background
|
|
(defwidget bg []
|
|
(box :class "bg")
|
|
)
|
|
|
|
;; profile
|
|
(defwidget user []
|
|
(box :class "genwin" :orientation "v" :spacing 35 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(box :style "background-image: url('${IMAGE}');" :class "face" :halign "center")
|
|
(label :class "fullname" :halign "center" :wrap "true" :limit-width 25 :text NAME)
|
|
(label :class "username" :halign "center" :wrap "true" :limit-width 25 :text UNAME)))
|
|
|
|
;; system
|
|
(defwidget system []
|
|
(box :class "genwin" :vexpand "false" :hexpand "false"
|
|
(box :orientation "v" :spacing 35 :halign "center" :valign "center" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(box :class "cpu_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "iconcpu" :text " ")
|
|
(scale :min 0 :max 100 :value CPU_USAGE :active "false"))
|
|
(box :class "mem_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "iconmem" :text " ")
|
|
(scale :min 0 :max 100 :value MEM_USAGE :active "false"))
|
|
(box :class "bright_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "iconbright" :text " ")
|
|
(scale :min 0 :max 100 :value BLIGHT :active "false"))
|
|
(box :class "bat_bar" :orientation "h" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "iconbat" :text " ")
|
|
(scale :min 0 :max 100 :value BATTERY :active "false")))))
|
|
|
|
;; clock
|
|
(defwidget clock []
|
|
(box :class "genwin" :orientation "h" :spacing 50 :space-evenly false :vexpand "false" :hexpand "false"
|
|
(box :orientation "h" :spacing 0
|
|
(label :class "time_hour" :valign "start" :wrap "true" :limit-width 25 :text HOUR)
|
|
(label :class "time_min" :valign "end" :wrap "true" :limit-width 25 :text MIN))
|
|
(box :orientation "v" :spacing 0
|
|
(label :class "time_day" :valign "end" :halign "end" :wrap "true" :limit-width 25 :text DAY))))
|
|
|
|
;; uptime
|
|
(defwidget uptime []
|
|
(box :class "genwin"
|
|
(box :orientation "h" :halign "center" :spacing 5 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "icontimer" :valign "center" :text " ")
|
|
(box :orientation "v" :valign "center" :spacing 0 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "uphour" :halign "start" :wrap "true" :limit-width 25 :text UPHOUR)
|
|
(label :class "upmin" :halign "start" :wrap "true" :limit-width 25 :text UPMIN)))))
|
|
|
|
;; Music
|
|
(defwidget music []
|
|
(box :class "genwin" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(box :class "album_art" :vexpand "false" :hexpand "false" :style "background-image: url('${COVER}');")
|
|
(box :orientation "v" :spacing 20 :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :halign "center" :class "song" :wrap "true" :limit-width 20 :text SONG)
|
|
(label :halign "center" :class "artist" :wrap "true" :limit-width 15 :text ARTIST)
|
|
(box :orientation "h" :spacing 20 :halign "center" :space-evenly "true" :vexpand "false" :hexpand "false"
|
|
(button :class "btn_prev" :onclick "playerctl previous" "")
|
|
(button :class "btn_play" :onclick "playerctl play-pause" STATUS)
|
|
(button :class "btn_next" :onclick "playerctl next" ""))
|
|
(box :class "music_bar" :halign "center" :vexpand "false" :hexpand "false"
|
|
(scale :onscroll "playerctl position 1+" :min 0 :active "true" :max 100 :value CURRENT)))))
|
|
|
|
;; Bluetooth
|
|
(defwidget bluetooth []
|
|
(box :class "genwin" :orientation "v" :spacing 10
|
|
(box :orientation "h" :spacing 5 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "true"
|
|
(button :class "bt_toggle" :onclick "bluetooth-toggle EF:DD:5D:31:76:F0" ""))
|
|
(box :orientation "v" :spacing 10 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "true"
|
|
(label :class "bt_bluetooth" :text BLUETOOTH_HEADPHONES_STATUS)
|
|
(label :class "bt_bluetooth" :text BLUETOOTH_HEADPHONES_BATTERY))
|
|
(box :orientation "h" :spacing 5 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "true"
|
|
(button :class "bt_toggle" :onclick "bluetooth-toggle D9:2E:B4:70:BF:D6" ""))
|
|
(box :orientation "v" :spacing 10 :halign "center" :space-evenly "false" :vexpand "false" :hexpand "true"
|
|
(label :class "bt_bluetooth" :text BLUETOOTH_MOUSE_STATUS)
|
|
(label :class "bt_bluetooth" :text BLUETOOTH_MOUSE_BATTERY))))
|
|
;; folders
|
|
(defwidget folders []
|
|
(box :class "genwin" :orientation "v" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(box :class "hddbox" :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(box :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "hddicon" :onclick "scripts/open_apps --fm" " ")
|
|
(label :class "fs_sep" :text "|"))
|
|
(box :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(label :class "hdd_label" :wrap "true" :limit-width 25 :text FREE)))
|
|
(box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "iconfolder1" :onclick "scripts/open_folders --docs" " ")
|
|
(button :class "label_folder1" :onclick "scripts/open_folders --docs" "Documents"))
|
|
(box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "iconfolder2" :onclick "scripts/open_folders --dl" " ")
|
|
(button :class "label_folder2" :onclick "scripts/open_folders --dl" "Downloads"))
|
|
(box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "iconfolder3" :onclick "scripts/open_folders --music" " ")
|
|
(button :class "label_folder3" :onclick "scripts/open_folders --music" "Music"))
|
|
(box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "iconfolder4" :onclick "scripts/open_folders --pics" " ")
|
|
(button :class "label_folder4" :onclick "scripts/open_folders --pics" "Pictures"))
|
|
(box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "iconfolder5" :onclick "scripts/open_folders --cfg" " ")
|
|
(button :class "label_folder5" :onclick "scripts/open_folders --cfg" "~/.config"))
|
|
(box :orientation "h" :space-evenly "false" :vexpand "false" :hexpand "false"
|
|
(button :class "iconfolder6" :onclick "scripts/open_folders --local" " ")
|
|
(button :class "label_folder6" :onclick "scripts/open_folders --local" "~/.local"))))
|
|
|
|
|
|
;; ** Windows *************************************************************************
|
|
|
|
|
|
;; background
|
|
(defwindow background :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 0 :y 0 :width "1920px" :height "1080px")
|
|
(bg))
|
|
|
|
;; profile
|
|
(defwindow profile :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 150 :y 150 :width 350 :height 440)
|
|
(user))
|
|
|
|
;; system
|
|
(defwindow system :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 150 :y 605 :width 350 :height 325)
|
|
(system))
|
|
|
|
;; clock
|
|
(defwindow clock :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 515 :y 150 :width 350 :height 155)
|
|
(clock))
|
|
|
|
;; uptime
|
|
(defwindow uptime :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 515 :y 320 :width 350 :height 155)
|
|
(uptime))
|
|
|
|
;; music
|
|
(defwindow music :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 515 :y 490 :width 610 :height 280)
|
|
(music))
|
|
|
|
;; bluetooth
|
|
(defwindow bluetooth :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 880 :y 150 :width 245 :height 325)
|
|
(bluetooth))
|
|
|
|
;; folders
|
|
(defwindow folders :stacking "fg" :focusable "false" :monitor 0
|
|
:geometry (geometry :x 1445 :y 490 :width 325 :height 440)
|
|
(folders))
|