mirror of
				https://forge.katzen.cafe/schrottkatze/nix-configs.git
				synced 2025-10-31 09:37:57 +01:00 
			
		
		
		
	do some moving
This commit is contained in:
		
					parent
					
						
							
								9379b9c61b
							
						
					
				
			
			
				commit
				
					
						49298541e5
					
				
			
		
					 40 changed files with 13 additions and 16 deletions
				
			
		
							
								
								
									
										77
									
								
								modules/de/home/eww/configDir/bottomBar/bottomBar.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								modules/de/home/eww/configDir/bottomBar/bottomBar.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,77 @@ | |||
| (include "bottomBar/workspaces.yuck") | ||||
| (include "bottomBar/traveldings.yuck") | ||||
| 
 | ||||
| (defwindow bottomBar | ||||
|   :monitor 0 | ||||
|   :stacking "fg" | ||||
|   :wm-ignore true | ||||
|   :exclusive true | ||||
|   :geometry (geometry | ||||
|               :width "100%" | ||||
|               :height "33px" | ||||
|               :anchor "bottom center") | ||||
|   (bottomBar)) | ||||
| 
 | ||||
| (defwidget bottomBar [] | ||||
|   (overlay | ||||
|     :class "bottomBar" | ||||
|     (transform | ||||
|       :translate-y "1.5px" | ||||
|       (centerbox | ||||
|         (box | ||||
|           :halign "start" | ||||
|           (workspaceWidget) | ||||
|         ) | ||||
|         (box | ||||
|           :halign "center" | ||||
|           (traveldings) | ||||
|         ) | ||||
|         (box | ||||
|           :halign "end" | ||||
|           ; (label :text "${iceData.speed}km/h") | ||||
|           (mullvadThing) | ||||
|         ) | ||||
|       ) | ||||
|     ) | ||||
|     (box | ||||
|       :class "lesbianFlag" | ||||
|       :height 1 | ||||
|       ( flagEl :flipped true :color "#D52D00") | ||||
|       ( flagEl :flipped true :color "#EF7627") | ||||
|       ( flagEl :flipped true :color "#FF9A56") | ||||
|       ( flagEl :flipped true :color "#FFFFFF") | ||||
|       ( flagEl :flipped true :color "#D162A4") | ||||
|       ( flagEl :flipped true :color "#B55690") | ||||
|       ( flagEl :flipped true :color "#A30262") | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (deflisten mullvad | ||||
|   :initial "{\"state\":\"init\"}" | ||||
|   `mullvad status -j listen` | ||||
| ) | ||||
| 
 | ||||
| (defwidget mullvadThing [] | ||||
|   (box | ||||
|     :class "container" | ||||
|     (button | ||||
|       :height 16 | ||||
|       :width 16 | ||||
|       :class "mullvad-state-${mullvad.state}" | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget iceTacho [] | ||||
|   (box | ||||
|     :class "iceTacho" | ||||
|     :tooltip "Tz${iceTachoData.tzn} (BR ${iceTachoData.br})" | ||||
|     (label :text "${iceTachoData.speed} km/h") | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (deflisten iceTachoData | ||||
|   :initial "null" | ||||
|   { "~/.config/eww/scripts/iceTacho.nu" } | ||||
| ) | ||||
							
								
								
									
										37
									
								
								modules/de/home/eww/configDir/bottomBar/traveldings.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								modules/de/home/eww/configDir/bottomBar/traveldings.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,37 @@ | |||
| (defwidget traveldings [] | ||||
|   (revealer | ||||
|     :class "traveldings" | ||||
|     :transition "crossfade" | ||||
|     :reveal { traveldings_data != "null" } | ||||
|     (traveldingsBarWidget) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget traveldingsBarWidget [] | ||||
|   (overlay | ||||
|     (box | ||||
|       :width 640 | ||||
|       (label  | ||||
|         :halign "start" | ||||
|         :text "${traveldings_data.line} -> ${strlength(traveldings_data.arrival_station) > 24 ? "${substring(traveldings_data.arrival_station, 0, 24)}…" : traveldings_data.arrival_station}${traveldings_data.arrival_platform_data_available ? " (Gl. ${traveldings_data.arrival_platform_real})" : ""}" | ||||
|       ) | ||||
|       (label  | ||||
|         :halign "end" | ||||
|         :text { traveldings_data.time_left >= 3600 ? formattime(traveldings_data.time_left, "noch %-Hh %-Mmin", "Etc/UTC") : formattime(traveldings_data.time_left, "noch %-Mmin", "Etc/UTC") } | ||||
|       ) | ||||
|     ) | ||||
|     (box | ||||
|       (progress | ||||
|         :class { traveldings_data.live ? "traveldings_live" : "traveldings_disconnected" } | ||||
|         :value {traveldings_data.progress * 100} | ||||
|         :orientation "horizontal" | ||||
|       ) | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| (deflisten traveldings_data | ||||
|   :initial "null"  | ||||
|   "traveldings current" | ||||
| ) | ||||
							
								
								
									
										18
									
								
								modules/de/home/eww/configDir/bottomBar/workspaces.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								modules/de/home/eww/configDir/bottomBar/workspaces.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| (defwidget workspaceWidget [] | ||||
|   (box  | ||||
|     :class "workspaces" | ||||
|     (for workspace in workspaces | ||||
|       (button | ||||
|         :style "border-bottom: 4px solid ${workspace.color}${workspace.active ? "; background-color: #3c3836" : ""}" | ||||
|         :class "${workspace.focused ? "focused" : ""}" | ||||
|         :onclick "swaymsg workspace ${workspace.name}" | ||||
|         (label :text "${workspace.idx}") | ||||
|       ) | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (deflisten workspaces | ||||
|   :initial "[]" | ||||
|   "bar-ws-monitor" | ||||
| ) | ||||
							
								
								
									
										58
									
								
								modules/de/home/eww/configDir/eww.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								modules/de/home/eww/configDir/eww.css
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,58 @@ | |||
| label { | ||||
|   font: 14pt "Departure Mono Nerd Font"; | ||||
| } | ||||
| 
 | ||||
| button { | ||||
|   border-radius: 0px; | ||||
|   padding: 0; | ||||
| } | ||||
| 
 | ||||
| .background { | ||||
|   background-color: #1d2021; | ||||
| } | ||||
| 
 | ||||
| .workspaces button { | ||||
|   border: 0px; | ||||
|   padding: 0 3px; | ||||
| } | ||||
| 
 | ||||
| .workspaces button.focused { | ||||
|   background-color: #504935; | ||||
| } | ||||
| 
 | ||||
| .traveldings progressbar trough { | ||||
|   border: none; | ||||
|   background-color: #3c3836; | ||||
|   border-bottom-right-radius: 0; | ||||
|   border-bottom-left-radius: 0; | ||||
| } | ||||
| 
 | ||||
| .traveldings progressbar.traveldings_live progress { | ||||
|   background-color: #79740e; | ||||
|   border-bottom-left-radius: 0; | ||||
| } | ||||
| 
 | ||||
| .traveldings progressbar.traveldings_disconnected progress { | ||||
|   background-color: #cc241d; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .traveldingsWindow { | ||||
|   border-radius: 15px; | ||||
| } | ||||
| 
 | ||||
| .mullvad-state-connected { | ||||
|   background-color: #98971a | ||||
| } | ||||
| 
 | ||||
| .mullvad-state-connecting { | ||||
|   background-color: #d79921 | ||||
| } | ||||
| 
 | ||||
| .mullvad-state-disconnected { | ||||
|   background-color: #cc241d | ||||
| } | ||||
| 
 | ||||
| .mullvad-state-init { | ||||
|   background-color: #458588 | ||||
| } | ||||
							
								
								
									
										2
									
								
								modules/de/home/eww/configDir/eww.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								modules/de/home/eww/configDir/eww.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| (include "topBar/topBar.yuck") | ||||
| (include "bottomBar/bottomBar.yuck") | ||||
							
								
								
									
										78
									
								
								modules/de/home/eww/configDir/scripts/bat.nu
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										78
									
								
								modules/de/home/eww/configDir/scripts/bat.nu
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,78 @@ | |||
| #!/usr/bin/env nu | ||||
| 
 | ||||
| const ICONS = [ | ||||
|   [ normal charging]; | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
| ]; | ||||
| 
 | ||||
| const DELAY = 2sec; | ||||
| 
 | ||||
| def "main auto" [] { | ||||
|   loop { | ||||
|     let paths = ls "/sys/class/power_supply" | ||||
|       | each {|it| $it.name | path basename} | ||||
|       | filter {|it| $it starts-with "BAT"}; | ||||
|      | ||||
|     if ($paths | is-not-empty) { | ||||
|       let result = $paths | ||||
|         | each {|it| get_and_format $it} | ||||
|         | str join " | " | ||||
|         | prepend "| " | ||||
|         | str join; | ||||
| 
 | ||||
|       print $result | ||||
|     } else { | ||||
|       print "" | ||||
|     } | ||||
|     sleep $DELAY; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| def main [ path: string ] { | ||||
|   loop { | ||||
|     print (get_and_format $path) | ||||
|     sleep $DELAY; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| def get_and_format [ path: string ] { | ||||
|     let fract = get_bat_charge_fraction $path; | ||||
|     let is_charging = get_bat_charging_status $path; | ||||
|     let percent = ($fract * 100) | math round; | ||||
|    | ||||
|     return $"<span foreground=\"#d65d0e\">(get_bat_icon $fract $is_charging)</span> ($percent)<span foreground=\"#7c6f64\">%</span>"; | ||||
| } | ||||
| 
 | ||||
| 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"; | ||||
| 
 | ||||
|   $status like Charging | ||||
| } | ||||
| 
 | ||||
| def get_bat_icon [ | ||||
|   frac: float  | ||||
|   is_charging = false | ||||
| ] { | ||||
|   $ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" }) | ||||
| } | ||||
							
								
								
									
										38
									
								
								modules/de/home/eww/configDir/scripts/iceTacho.nu
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										38
									
								
								modules/de/home/eww/configDir/scripts/iceTacho.nu
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,38 @@ | |||
| #!/usr/bin/env nu | ||||
| 
 | ||||
| const TABLE = { | ||||
|   401: 280  | ||||
|   402: 280  | ||||
|   403: 330  | ||||
|   406: 330  | ||||
|   407: 320  | ||||
|   408: 320  | ||||
|   411: 230  | ||||
|   415: 230  | ||||
|   412: 265  | ||||
|   605: 200  | ||||
| }; | ||||
| 
 | ||||
| def main [ ] { | ||||
|   loop { | ||||
|     if ((iw dev wlp4s0 link | lines | filter {|it| $it =~ "WIFIonICE" } | length) == 1) { | ||||
|       let iceData = http get https://iceportal.de/api1/rs/status; | ||||
|       let tzn = $iceData.tzn; | ||||
|       let br = $iceData.series; | ||||
|       let speed = $iceData.speed; | ||||
|       let speedfrac = $speed / ($TABLE | get $br); | ||||
| 
 | ||||
|       print ({ | ||||
|         tzn: $tzn, | ||||
|         br: $br, | ||||
|         speed: $speed, | ||||
|         frac: $speedfrac | ||||
|       } | to json -r); | ||||
| 
 | ||||
|       sleep 2sec; | ||||
|     } else { | ||||
|       print "null"; | ||||
|       sleep 5sec; | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										23
									
								
								modules/de/home/eww/configDir/topBar/sysinfo.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								modules/de/home/eww/configDir/topBar/sysinfo.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| (deflisten bat  | ||||
|   :initial "<span foreground=\"#cc241d\">BAT0 ERR</span>" | ||||
|   { "~/.config/eww/scripts/bat.nu auto"} | ||||
| ) | ||||
| 
 | ||||
| (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>" | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
							
								
								
									
										10
									
								
								modules/de/home/eww/configDir/topBar/time.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								modules/de/home/eww/configDir/topBar/time.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 " | ||||
|       )  | ||||
|     } | ||||
|   ) | ||||
| ) | ||||
							
								
								
									
										55
									
								
								modules/de/home/eww/configDir/topBar/topBar.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								modules/de/home/eww/configDir/topBar/topBar.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,55 @@ | |||
| (include "topBar/time.yuck") | ||||
| (include "topBar/sysinfo.yuck") | ||||
| (include "util.yuck") | ||||
| 
 | ||||
| (defwindow topBar | ||||
|   :monitor 0  | ||||
|   :stacking "fg" | ||||
|   :wm-ignore true | ||||
|   :exclusive true | ||||
|   :geometry (geometry | ||||
|               :width "100%" | ||||
|               :height "33px" | ||||
|               :anchor "top center") | ||||
|   (topBar)) | ||||
| 
 | ||||
| (defwidget topBar [] | ||||
|   (overlay | ||||
|     :class "topBar" | ||||
|     (transform | ||||
|       :translate-y "-1.5px" | ||||
|       (centerbox | ||||
|         (box | ||||
|           :halign "start" | ||||
|           :spacing 12 | ||||
|           :space-evenly false | ||||
|           (label :text " ") | ||||
|           (cpu) | ||||
|           (sep) | ||||
|           (mem) | ||||
|           (label :markup bat) | ||||
|         ) | ||||
|         (box | ||||
|           :halign "center" | ||||
|           (systray | ||||
|             :icon-size 18 | ||||
|             :spacing 3 | ||||
|           ) | ||||
|         ) | ||||
|         (box | ||||
|           :halign "end" | ||||
|           (time) | ||||
|         ) | ||||
|       ) | ||||
|     ) | ||||
|     (box | ||||
|       :class "transFlag" | ||||
|       :height 1 | ||||
|       ( flagEl :flipped false :color "#5BCEFA") | ||||
|       ( flagEl :flipped false :color "#F5A9B8") | ||||
|       ( flagEl :flipped false :color "#FFFFFF") | ||||
|       ( flagEl :flipped false :color "#F5A9B8") | ||||
|       ( flagEl :flipped false :color "#5BCEFA") | ||||
|     ) | ||||
|   ) | ||||
| ) | ||||
							
								
								
									
										11
									
								
								modules/de/home/eww/configDir/util.yuck
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								modules/de/home/eww/configDir/util.yuck
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| (defwidget flagEl [color ?flipped] | ||||
|   (box | ||||
|     :style "border-${flipped ? "top" : "bottom"}: 3px solid ${color}" | ||||
|     :halign "fill" | ||||
|   ) | ||||
| ) | ||||
| 
 | ||||
| (defwidget sep []  | ||||
|   (label :text "|") | ||||
| ) | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Schrottkatze
				Schrottkatze