Compare commits
	
		
			8 commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | b500fa26a1 | ||
|  | e9f8b03cd7 | ||
|  | bdd0854f2b | ||
|  | 3017d91b97 | ||
|  | aae66c3b70 | ||
|  | 54b0942de6 | ||
|  | 7b8e7c3b27 | ||
|  | d2195ba06f | 
|  | @ -1,19 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| set -e |  | ||||||
| if [[ ! -d "/home/willifan/Desktop/desktop-utils" ]]; then |  | ||||||
|   echo "Cannot find source directory; Did you move it?" |  | ||||||
|   echo "(Looking for "/home/willifan/Desktop/desktop-utils")" |  | ||||||
|   echo 'Cannot force reload with this script - use "direnv reload" manually and then try again' |  | ||||||
|   exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # rebuild the cache forcefully |  | ||||||
| _nix_direnv_force_reload=1 direnv exec "/home/willifan/Desktop/desktop-utils" true |  | ||||||
| 
 |  | ||||||
| # Update the mtime for .envrc. |  | ||||||
| # This will cause direnv to reload again - but without re-building. |  | ||||||
| touch "/home/willifan/Desktop/desktop-utils/.envrc" |  | ||||||
| 
 |  | ||||||
| # Also update the timestamp of whatever profile_rc we have. |  | ||||||
| # This makes sure that we know we are up to date. |  | ||||||
| touch -r "/home/willifan/Desktop/desktop-utils/.envrc" "/home/willifan/Desktop/desktop-utils/.direnv"/*.rc |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| /nix/store/pqsj954jryyfldxmv0fgag0ahmyrklbq-nix-shell-env |  | ||||||
							
								
								
									
										5
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						|  | @ -1,5 +1,6 @@ | ||||||
| result | /result | ||||||
| .vscode/ | /.vscode | ||||||
|  | /.direnv | ||||||
| 
 | 
 | ||||||
| # Added by cargo | # Added by cargo | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| [package] | [package] | ||||||
| name = "ewwbar" | name = "ewwbar" | ||||||
| version = "0.1.0" | version = "0.1.2" | ||||||
| edition = "2021" | edition = "2021" | ||||||
| 
 | 
 | ||||||
| [dependencies] | [dependencies] | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								default.nix
									
										
									
									
									
								
							
							
						
						|  | @ -1,10 +1,10 @@ | ||||||
| { pkgs ? import <nixpkgs> { } }: | { pkgs ? import <nixpkgs> { } }: | ||||||
| 
 | 
 | ||||||
| pkgs.rustPlatform.buildRustPackage { | pkgs.rustPlatform.buildRustPackage { | ||||||
|   pname = "desktop-utils"; |   pname = "ewwbar"; | ||||||
|   version = "1.0.0"; |   version = "0.1.2"; | ||||||
| 
 | 
 | ||||||
|   src = builtins.path { path = ./.; name = "desktop-utils"; }; |   src = builtins.path { path = ./.; name = "ewwbar"; }; | ||||||
| 
 | 
 | ||||||
|   cargoLock = { |   cargoLock = { | ||||||
|     lockFile = ./Cargo.lock; |     lockFile = ./Cargo.lock; | ||||||
|  | @ -16,18 +16,20 @@ pkgs.rustPlatform.buildRustPackage { | ||||||
| 
 | 
 | ||||||
|   buildInputs = [ |   buildInputs = [ | ||||||
|     pkgs.libxkbcommon |     pkgs.libxkbcommon | ||||||
|  |     pkgs.eww | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   #  installPhase = '' |   postInstall = '' | ||||||
|   #  mkdir -p $out/bin |     mkdir -p $out/bin | ||||||
|   #  cp clients $out/bin/clients |     cp -r $src/eww $out/bin/eww | ||||||
|   #''; |   ''; | ||||||
| 
 | 
 | ||||||
|   meta = with pkgs.lib; { |   meta = with pkgs.lib; { | ||||||
|     description = "utils for my desktop"; |     description = "Top bar using ElKowars Wacky Widgets"; | ||||||
|     homepage = " git.huwe.mooo.com/willifan/desktop-utils"; |     homepage = " git.huwe.mooo.com/willifan/desktop-utils"; | ||||||
|     license = licenses.gpl3; |     license = licenses.gpl3; | ||||||
|     platforms = platforms.unix; |     platforms = platforms.unix; | ||||||
|  |     mainProgram = "ewwbar"; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										34
									
								
								eww/eww.yuck
									
										
									
									
									
								
							
							
						
						|  | @ -35,56 +35,56 @@ | ||||||
|     :widgetclass "cpu" |     :widgetclass "cpu" | ||||||
|     :hover "${round(EWW_CPU.avg, 1)}%" |     :hover "${round(EWW_CPU.avg, 1)}%" | ||||||
|     :percentage {round(EWW_CPU.avg, 1)} |     :percentage {round(EWW_CPU.avg, 1)} | ||||||
|         :image "../images/cpu.png")) |   :image "./images/cpu.png")) | ||||||
| 
 | 
 | ||||||
| (defwidget ram [] | (defwidget ram [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass "ram" |     :widgetclass "ram" | ||||||
|     :hover "${round(EWW_RAM.used_mem /(1024*1024*1024), 1)} GiB | ${round(EWW_RAM.used_mem_perc, 1)}%" |     :hover "${round(EWW_RAM.used_mem /(1024*1024*1024), 1)} GiB | ${round(EWW_RAM.used_mem_perc, 1)}%" | ||||||
|     :percentage {round(EWW_RAM.used_mem_perc, 1)} |     :percentage {round(EWW_RAM.used_mem_perc, 1)} | ||||||
|         :image "../images/ram.png")) |   :image "./images/ram.png")) | ||||||
| 
 | 
 | ||||||
| (defwidget audio [] | (defwidget audio [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass {volume.muted == 1 ? "muted" : "volume"} |     :widgetclass {volume.muted == 1 ? "muted" : "volume"} | ||||||
|     :hover "${volume.volume}%" |     :hover "${volume.volume}%" | ||||||
|     :percentage {volume.volume >= 0 && volume.volume <= 100 ? volume.volume : 0} |     :percentage {volume.volume >= 0 && volume.volume <= 100 ? volume.volume : 0} | ||||||
|         :image {volume.muted == 1 ? "../images/volumeMuted.png" : "../images/volume.png"})) |   :image {volume.muted == 1 ? "./images/volumeMuted.png" : "./images/volume.png"})) | ||||||
| 
 | 
 | ||||||
| (defwidget brightness [] | (defwidget brightness [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass "brightness" |     :widgetclass "brightness" | ||||||
|     :hover "${brightnessValue / 960}%" |     :hover "${brightnessValue / 960}%" | ||||||
|     :percentage {brightnessValue / 960} |     :percentage {brightnessValue / 960} | ||||||
|         :image "../images/brightness.png")) |   :image "./images/brightness.png")) | ||||||
| 
 | 
 | ||||||
| (defwidget network [] | (defwidget network [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass "network" |     :widgetclass "network" | ||||||
|     :hover {network.name} |     :hover {network.name} | ||||||
|     :percentage "100" |     :percentage "100" | ||||||
|         :image "../images/${network.image}.png")) |   :image "./images/${network.image}.png")) | ||||||
| 
 | 
 | ||||||
| (defwidget bluetooth [] | (defwidget bluetooth [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass "bluetooth" |     :widgetclass "bluetooth" | ||||||
|     :hover {bluetooth.name} |     :hover {bluetooth.name} | ||||||
|     :percentage {bluetooth.battery} |     :percentage {bluetooth.battery} | ||||||
|         :image "../images/bluetooth.png")) |   :image "./images/bluetooth.png")) | ||||||
| 
 | 
 | ||||||
| (defwidget battery [] | (defwidget battery [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass {EWW_BATTERY.BAT1.status == "Charging" ? "battery" : EWW_BATTERY.total_avg > 25 ? "battery" : "batteryLow"} |     :widgetclass {EWW_BATTERY.BAT1.status == "Charging" ? "battery" : EWW_BATTERY.total_avg > 25 ? "battery" : "batteryLow"} | ||||||
|     :hover "${round(EWW_BATTERY.total_avg, 1)}%" |     :hover "${round(EWW_BATTERY.total_avg, 1)}%" | ||||||
|     :percentage {EWW_BATTERY.total_avg <= 90 ? round(EWW_BATTERY.total_avg, 1)/0.9 : 100} |     :percentage {EWW_BATTERY.total_avg <= 90 ? round(EWW_BATTERY.total_avg, 1)/0.9 : 100} | ||||||
|         :image {EWW_BATTERY.BAT1.status == "Charging" ? "../images/charging.png" : EWW_BATTERY.total_avg > 25 ? "../images/battery.png" : "../images/batteryLow.png"})) |   :image {EWW_BATTERY.BAT1.status == "Charging" ? "./images/charging.png" : EWW_BATTERY.total_avg > 25 ? "./images/battery.png" : "./images/batteryLow.png"})) | ||||||
| 
 | 
 | ||||||
| (defwidget power [] | (defwidget power [] | ||||||
|   (icon |   (icon | ||||||
|     :widgetclass "power" |     :widgetclass "power" | ||||||
|     :hover "placeholder" |     :hover "placeholder" | ||||||
|     :percentage "0" |     :percentage "0" | ||||||
|         :image "../images/power.png")) |   :image "./images/power.png")) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -271,11 +271,11 @@ | ||||||
|       (space) |       (space) | ||||||
|       (testtime |       (testtime | ||||||
|         :timezone "US/Eastern" |         :timezone "US/Eastern" | ||||||
|                 :image "../images/USTime.png") |       :image "./images/USTime.png") | ||||||
|       (seperator) |       (seperator) | ||||||
|       (testtime |       (testtime | ||||||
|         :timezone "Asia/Seoul" |         :timezone "Asia/Seoul" | ||||||
|                 :image "../images/SamGuk-by_Sang_Min.png") |       :image "./images/SamGuk-by_Sang_Min.png") | ||||||
|       (space)) |       (space)) | ||||||
|     (box |     (box | ||||||
|       :class "barbox" |       :class "barbox" | ||||||
|  | @ -287,13 +287,13 @@ | ||||||
|       :halign "end" |       :halign "end" | ||||||
|        |        | ||||||
|       (space) |       (space) | ||||||
| ;;            (systray |       ;;            (systray | ||||||
| ;;                :spacing 2 |         ;;                :spacing 2 | ||||||
| ;;                :orientation "h" |         ;;                :orientation "h" | ||||||
| ;;                :space-evenly true |         ;;                :space-evenly true | ||||||
| ;;                :icon-size 16) |       ;;                :icon-size 16) | ||||||
| ;;   |       ;; | ||||||
| ;;            (seperator) |       ;;            (seperator) | ||||||
|        |        | ||||||
|       (processing) |       (processing) | ||||||
|        |        | ||||||
|  |  | ||||||
| Before Width: | Height: | Size: 734 KiB After Width: | Height: | Size: 734 KiB | 
| Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB | 
| Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB | 
| Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB | 
| Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB | 
| Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB | 
| Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB | 
| Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB | 
| Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB | 
| Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB | 
| Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB | 
| Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB | 
| Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB | 
| Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB | 
| Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB | 
| Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB | 
| Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB | 
| Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB | 
| Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB | 
| Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB | 
| Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB | 
| Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB | 
| Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB | 
|  | @ -1,25 +1,25 @@ | ||||||
| (deflisten brightnessValue | (deflisten brightnessValue | ||||||
|   :initial "0" |   :initial "0" | ||||||
|     `../ewwScripts/brightness.sh`) | `./scripts/brightness.sh`) | ||||||
| 
 | 
 | ||||||
| (deflisten network | (deflisten network | ||||||
|   :initial '{"name":"No Connection","image":"n.A."}' |   :initial '{"name":"No Connection","image":"n.A."}' | ||||||
|     `../ewwScripts/network.sh`) | `./scripts/network.sh`) | ||||||
| 
 | 
 | ||||||
| (deflisten workspaces | (deflisten workspaces | ||||||
|   :initial '' |   :initial '' | ||||||
|     `../ewwScripts/client`) | `./scripts/client`) | ||||||
| 
 | 
 | ||||||
| (defpoll bluetooth | (defpoll bluetooth | ||||||
|   :initial '{"name":"","battery":"0"}' |   :initial '{"name":"","battery":"0"}' | ||||||
|   :interval "2s" |   :interval "2s" | ||||||
|     `../ewwScripts/bluetooth.sh`) | `./scripts/bluetooth.sh`) | ||||||
| 
 | 
 | ||||||
| (deflisten volume | (deflisten volume | ||||||
|   :initial '{"volume":"0","muted":"0"}' |   :initial '{"volume":"0","muted":"0"}' | ||||||
|     `../ewwScripts/volume.sh`) | `./scripts/volume.sh`) | ||||||
| 
 | 
 | ||||||
| (defpoll media | (defpoll media | ||||||
|   :initial '{"status":"","name":""}' |   :initial '{"status":"","name":""}' | ||||||
|   :interval "2s" |   :interval "2s" | ||||||
|     `../ewwScripts/media.sh`) | `./scripts/media.sh`) | ||||||
|  |  | ||||||
|  | @ -1,38 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     |  | ||||||
| unset id name horizontal vertical scale activeWorkspace |  | ||||||
| 
 |  | ||||||
| i=0 |  | ||||||
| 
 |  | ||||||
| while read -r k n h v s t; do |  | ||||||
| 	id[i]="$k" |  | ||||||
|     name[i]="$n" |  | ||||||
| 	horizontal[i]="$h" |  | ||||||
| 	vertical[i]="$v" |  | ||||||
| 	scale[i]="$s" |  | ||||||
|     if [[ $((t%2)) == 1 ]]; then |  | ||||||
|         temp=${vertical[$i]} |  | ||||||
|         vertical[i]=${horizontal[$i]} |  | ||||||
|         horizontal[i]=$temp |  | ||||||
|     fi |  | ||||||
|     ((i=i+1)) |  | ||||||
| done < <(hyprctl monitors -j | jq -r '.[]|"\(.id) \(.name) \(.width) \(.height) \(.scale) \(.transform)"') |  | ||||||
| 
 |  | ||||||
| eww close-all --config ../eww |  | ||||||
| 
 |  | ||||||
| sleep 2 |  | ||||||
| 
 |  | ||||||
| for ((i = 0; i < ${#id[@]}; i++)); do |  | ||||||
|   	scale_value=$(echo "${scale[$i]}" | bc -l) |  | ||||||
| 
 |  | ||||||
|     new_width_float=$(echo "(${horizontal[$i]} / ${scale_value}) -10" | bc) |  | ||||||
| 
 |  | ||||||
|     new_width=$(echo "$new_width_float / 1" | bc) |  | ||||||
| 
 |  | ||||||
|     monitorID=$(xrandr --listactivemonitors | grep +"${name[$i]}" | awk '{sub(/.$/,"",$1); print $1}') |  | ||||||
| 
 |  | ||||||
|     eww open bar --id bar"${monitorID}" --arg monitor="${monitorID}" --arg width="${new_width}" --arg height=30 --config ../eww |  | ||||||
|     sleep 2 |  | ||||||
| done |  | ||||||
|  | @ -1,33 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| getIcon() { |  | ||||||
|     local desktop="" |  | ||||||
|      |  | ||||||
|     # Search for desktop files by WM class |  | ||||||
|     if [ -n "$1" ]; then |  | ||||||
|         desktop=$(grep -l "StartupWMClass.*$1$" /run/current-system/sw/share/applications/*.desktop) |  | ||||||
|         [ -z "$desktop" ] && desktop=$(grep -Pl "Name\s*=\s*$1$" /run/current-system/sw/share/applications/*.desktop) |  | ||||||
|         [ -z "$desktop" ] && desktop=$(ls /run/current-system/sw/share/applications/"${1}".desktop 2>/dev/null) |  | ||||||
|     fi |  | ||||||
|      |  | ||||||
|     # If not found by WM class, search by process name |  | ||||||
|     if [ -z "$desktop" ] && [ -n "$2" ]; then |  | ||||||
|         process=$(ps -p "${2}" -o comm=) |  | ||||||
|         desktop=$(grep -Pl "$process" /run/current-system/sw/share/applications/*.desktop) |  | ||||||
|         [ -n "$desktop" ] |  | ||||||
|     fi |  | ||||||
|      |  | ||||||
|     # If not found by WM class or process name, search by name or description |  | ||||||
|     if [ -z "$desktop" ] && [ -n "$1" ]; then |  | ||||||
|         desktop=$(grep -Pl "$1" /run/current-system/sw/share/applications/*.desktop) |  | ||||||
|     fi |  | ||||||
|      |  | ||||||
|     echo "$desktop" |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| desktop=$(getIcon "$1" "$2") |  | ||||||
| if [ -n "$desktop" ]; then |  | ||||||
|     desktop=$(echo "$desktop" | awk 'NR==1') |  | ||||||
|     icon=$(awk -F'[[:space:]]*=[[:space:]]*' '/Icon[[:space:]]*=/ && !seen[$2]++ {print $2; exit}' "$desktop") |  | ||||||
|     echo -n "${icon}.svg" |  | ||||||
| fi |  | ||||||
							
								
								
									
										1
									
								
								result
									
										
									
									
									
								
							
							
						
						|  | @ -1 +0,0 @@ | ||||||
| /nix/store/mp0zkc5iaf73f3yiq606qvfpqvs48q5i-desktop-utils-1.0.0 |  | ||||||
|  | @ -1,7 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| if [[ $(acpi -a | awk '{print $3}') == "on-line" ]]; then |  | ||||||
| 	swaylock |  | ||||||
| else |  | ||||||
| 	systemctl suspend-then-hibernate |  | ||||||
| fi |  | ||||||
|  | @ -1,7 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| swaylock & |  | ||||||
| 
 |  | ||||||
| sleep 0.1 |  | ||||||
| 
 |  | ||||||
| hyprctl dispatch dpms off |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| #!/usr/bin/env bash |  | ||||||
| 
 |  | ||||||
| while read -r f s; do |  | ||||||
|     if [[ $f == true && $(awk -v s="$s" 'BEGIN{ if (s > 1.5) print 1; else print 0; }') == 1 ]]; then |  | ||||||
|         export GDK_SCALE=2 |  | ||||||
|         export QT_SCALE_FACTOR=2 |  | ||||||
|     fi |  | ||||||
| done < <(hyprctl monitors -j | jq -r '.[]|"\(.focused) \(.scale)"') |  | ||||||
| 
 |  | ||||||
| wofi --show drun |  | ||||||
|  | @ -7,6 +7,7 @@ pkgs.mkShell { | ||||||
|     pkgs.cargo |     pkgs.cargo | ||||||
|     pkgs.pkg-config |     pkgs.pkg-config | ||||||
|     pkgs.libxkbcommon |     pkgs.libxkbcommon | ||||||
|  |     pkgs.eww | ||||||
| 
 | 
 | ||||||
|     pkgs.rust-analyzer |     pkgs.rust-analyzer | ||||||
|     pkgs.clippy |     pkgs.clippy | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								src/main.rs
									
										
									
									
									
								
							
							
						
						|  | @ -12,13 +12,22 @@ use smithay_client_toolkit::{ | ||||||
| 
 | 
 | ||||||
| use wayland_client::{globals::registry_queue_init, protocol::wl_output, Connection, QueueHandle}; | use wayland_client::{globals::registry_queue_init, protocol::wl_output, Connection, QueueHandle}; | ||||||
| 
 | 
 | ||||||
| const CONFIG_DIR: &str = "/home/willifan/.config/desktop-utils/eww"; | const CONFIG_DIR: &str = "./eww"; | ||||||
| 
 | 
 | ||||||
| fn main() -> Result<(), Box<dyn Error>> { | fn main() -> Result<(), Box<dyn Error>> { | ||||||
|     // We initialize the logger for the purpose of debugging.
 |     // We initialize the logger for the purpose of debugging.
 | ||||||
|     // Set `RUST_LOG=debug` to see extra debug information.
 |     // Set `RUST_LOG=debug` to see extra debug information.
 | ||||||
|     env_logger::init(); |     env_logger::init(); | ||||||
| 
 | 
 | ||||||
|  |     let exe_path = std::env::current_exe()? | ||||||
|  |         .parent() | ||||||
|  |         .unwrap() | ||||||
|  |         .to_str() | ||||||
|  |         .unwrap() | ||||||
|  |         .to_owned(); | ||||||
|  |     let config_path = exe_path + "/eww"; | ||||||
|  |     println!("Path: {}", config_path); | ||||||
|  | 
 | ||||||
|     // Try to connect to the Wayland server.
 |     // Try to connect to the Wayland server.
 | ||||||
|     let conn = Connection::connect_to_env()?; |     let conn = Connection::connect_to_env()?; | ||||||
| 
 | 
 | ||||||
|  | @ -72,7 +81,7 @@ fn main() -> Result<(), Box<dyn Error>> { | ||||||
|                     "--arg", |                     "--arg", | ||||||
|                     "height=30", |                     "height=30", | ||||||
|                     "--config", |                     "--config", | ||||||
|                     CONFIG_DIR, //TODO make this path implicit
 |                     &config_path, | ||||||
|                 ]) |                 ]) | ||||||
|                 .spawn() |                 .spawn() | ||||||
|                 .expect("failed to execute process"); |                 .expect("failed to execute process"); | ||||||
|  |  | ||||||