mirror of
				https://forge.katzen.cafe/schrottkatze/nix-configs.git
				synced 2025-10-31 01:27:57 +01:00 
			
		
		
		
	replace top bar with eww bar
This commit is contained in:
		
					parent
					
						
							
								fcb7c0cd68
							
						
					
				
			
			
				commit
				
					
						ac3df09b6b
					
				
			
		
					 8 changed files with 172 additions and 194 deletions
				
			
		|  | @ -1,85 +1 @@ | |||
| (defwindow topBar | ||||
|   :monitor 0  | ||||
|   :stacking "fg" | ||||
|   :windowtype "normal" | ||||
|   :wm-ignore true | ||||
|   :exclusive true | ||||
|   :geometry (geometry | ||||
|               :width "100%" | ||||
|               :height "32px" | ||||
|               :anchor "top center") | ||||
|   (topBar)) | ||||
| 
 | ||||
| (defwidget topBar [] | ||||
|   (overlay | ||||
|     :class "topBar" | ||||
|     (centerbox | ||||
|       (box | ||||
|         :halign "start" | ||||
|         :spacing 12 | ||||
|         :space-evenly false | ||||
|         (label :text " ") | ||||
|         (cpu) | ||||
|         (sep) | ||||
|         (mem) | ||||
|       ) | ||||
|       (box | ||||
|         :halign "center" | ||||
|         (label :text "Hi, jade! :3") | ||||
|       ) | ||||
|       (box | ||||
|         :halign "end" | ||||
|         (time) | ||||
|       ) | ||||
|     ) | ||||
|     (box | ||||
|       :class "transFlag" | ||||
|       :height 1 | ||||
|       ( flagEl :color "#5BCEFA") | ||||
|       ( flagEl :color "#F5A9B8") | ||||
|       ( flagEl :color "#FFFFFF") | ||||
|       ( flagEl :color "#F5A9B8") | ||||
|       ( flagEl :color "#5BCEFA") | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget sep []  | ||||
|   (label :text "|") | ||||
| ) | ||||
| 
 | ||||
| (defwidget time [] | ||||
|   (label  | ||||
|     :markup {  | ||||
|       formattime( | ||||
|         EWW_TIME,  | ||||
|         "<span foreground=\"#d65d0e\"></span> %Y<span foreground=\"#7c6f64\">-</span>%m<span foreground=\"#7c6f64\">-</span>%d <span foreground=\"#d65d0e\"></span> %H<span foreground=\"#7c6f64\">:</span>%M<span foreground=\"#7c6f64\">:</span>%S " | ||||
|       )  | ||||
|     } | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget cpu []  | ||||
|   (box | ||||
|     :class "cpuIndicator" | ||||
|     (label | ||||
|       :markup "<span foreground=\"#d65d0e\"></span> ${strlength(round(EWW_CPU.avg, 0)) == 1 ? " ${round(EWW_CPU.avg, 0)}" : round(EWW_CPU.avg, 0)}<span foreground=\"#7c6f64\">%</span>" | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget mem [] | ||||
|   (box  | ||||
|     :class "memIndicator" | ||||
|     (label | ||||
|       :markup "<span foreground=\"#d65d0e\"> </span> ${round(EWW_RAM.used_mem_perc, 0)}<span foreground=\"#7c6f64\">%</span>" | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget flagEl [color] | ||||
|   (box | ||||
|     :style "border-bottom: 2px solid ${color}" | ||||
|     :halign "fill" | ||||
|   ) | ||||
| ) | ||||
| (include "topBar/topBar.yuck") | ||||
|  |  | |||
							
								
								
									
										55
									
								
								modules/desktop-environment/home/panels/eww/configDir/scripts/bat.nu
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										55
									
								
								modules/desktop-environment/home/panels/eww/configDir/scripts/bat.nu
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,55 @@ | |||
| #!/usr/bin/env nu | ||||
| 
 | ||||
| const ICONS = [ | ||||
|   [ normal charging]; | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
| ]; | ||||
| 
 | ||||
| def main [ path: string ] { | ||||
|   loop { | ||||
|     let fract = get_bat_charge_fraction $path; | ||||
|     let is_charging = get_bat_charging_status $path; | ||||
|     let percent = ($fract * 100) | math round; | ||||
| 
 | ||||
|     print $"<span foreground=\"#d65d0e\">(get_bat_icon $fract $is_charging)</span> ($percent)<span foreground=\"#7c6f64\">%</span>"; | ||||
|     sleep 2sec; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| def get_bat_charge_fraction [ | ||||
|   path: string | ||||
| ] { | ||||
|   let energy_full = open $"/sys/class/power_supply/($path)/energy_full" | into float; | ||||
|   let energy_now = open $"/sys/class/power_supply/($path)/energy_now" | into float; | ||||
| 
 | ||||
|   $energy_now / $energy_full | ||||
| } | ||||
| 
 | ||||
| def get_bat_charging_status [ | ||||
|   path: string | ||||
| ] { | ||||
|   let status = open $"/sys/class/power_supply/($path)/status"; | ||||
| 
 | ||||
|   if ($status == Charging) { | ||||
|     true | ||||
|   } else { | ||||
|     false | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| def get_bat_icon [ | ||||
|   frac: float  | ||||
|   is_charging = false | ||||
| ] { | ||||
|   $ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" }) | ||||
| } | ||||
|  | @ -0,0 +1,27 @@ | |||
| (deflisten bat0  | ||||
|   :initial "<span foreground=\"#cc241d\">BAT0 ERR</span>" | ||||
|   { "~/.config/eww/scripts/bat.nu BAT0"} | ||||
| ) | ||||
| (deflisten bat1 | ||||
|   :initial "<span foreground=\"#cc241d\">BAT1 ERR</span>" | ||||
|   { "~/.config/eww/scripts/bat.nu BAT1"} | ||||
| ) | ||||
| 
 | ||||
| (defwidget cpu []  | ||||
|   (box | ||||
|     :class "cpuIndicator" | ||||
|     (label | ||||
|       :markup "<span foreground=\"#d65d0e\"></span> ${strlength(round(EWW_CPU.avg, 0)) == 1 ? " ${round(EWW_CPU.avg, 0)}" : round(EWW_CPU.avg, 0)}<span foreground=\"#7c6f64\">%</span>" | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget mem [] | ||||
|   (box  | ||||
|     :class "memIndicator" | ||||
|     (label | ||||
|       :markup "<span foreground=\"#d65d0e\"> </span> ${round(EWW_RAM.used_mem_perc, 0)}<span foreground=\"#7c6f64\">%</span>" | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
|  | @ -0,0 +1,10 @@ | |||
| (defwidget time [] | ||||
|   (label  | ||||
|     :markup {  | ||||
|       formattime( | ||||
|         EWW_TIME,  | ||||
|         "<span foreground=\"#d65d0e\"></span> %Y<span foreground=\"#7c6f64\">-</span>%m<span foreground=\"#7c6f64\">-</span>%d <span foreground=\"#d65d0e\"></span> %H<span foreground=\"#7c6f64\">:</span>%M<span foreground=\"#7c6f64\">:</span>%S " | ||||
|       )  | ||||
|     } | ||||
|   ) | ||||
| ) | ||||
|  | @ -0,0 +1,56 @@ | |||
| (include "topBar/time.yuck") | ||||
| (include "topBar/sysinfo.yuck") | ||||
| (include "util.yuck") | ||||
| 
 | ||||
| (defwindow topBar | ||||
|   :monitor 0  | ||||
|   :stacking "fg" | ||||
|   :windowtype "normal" | ||||
|   :wm-ignore true | ||||
|   :exclusive true | ||||
|   :geometry (geometry | ||||
|               :width "100%" | ||||
|               :height "32px" | ||||
|               :anchor "top center") | ||||
|   (topBar)) | ||||
| 
 | ||||
| (defwidget topBar [] | ||||
|   (overlay | ||||
|     :class "topBar" | ||||
|     (centerbox | ||||
|       (box | ||||
|         :halign "start" | ||||
|         :spacing 12 | ||||
|         :space-evenly false | ||||
|         (label :text " ") | ||||
|         (cpu) | ||||
|         (sep) | ||||
|         (mem) | ||||
|         (sep) | ||||
|         (label :markup bat0) | ||||
|         (sep) | ||||
|         (label :markup bat1) | ||||
|       ) | ||||
|       (box | ||||
|         :halign "center" | ||||
|         (systray | ||||
|           :icon-size 18 | ||||
|           :spacing 3 | ||||
|         ) | ||||
|       ) | ||||
|       (box | ||||
|         :halign "end" | ||||
|         (time) | ||||
|       ) | ||||
|     ) | ||||
|     (box | ||||
|       :class "transFlag" | ||||
|       :height 1 | ||||
|       ( flagEl :color "#5BCEFA") | ||||
|       ( flagEl :color "#F5A9B8") | ||||
|       ( flagEl :color "#FFFFFF") | ||||
|       ( flagEl :color "#F5A9B8") | ||||
|       ( flagEl :color "#5BCEFA") | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
|  | @ -0,0 +1,11 @@ | |||
| (defwidget flagEl [color] | ||||
|   (box | ||||
|     :style "border-bottom: 3px solid ${color}" | ||||
|     :halign "fill" | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget sep []  | ||||
|   (label :text "|") | ||||
| ) | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Schrottkatze
				Schrottkatze