Regenerated
This commit is contained in:
+329
-338
File diff suppressed because it is too large
Load Diff
+9
-18
@@ -3575,48 +3575,39 @@ These are config files for waybar
|
|||||||
#+BEGIN_SRC sh :tangle generated/.config/waybar/scripts/hypr-workspaces.sh :noweb yes :mkdirp yes :eval never
|
#+BEGIN_SRC sh :tangle generated/.config/waybar/scripts/hypr-workspaces.sh :noweb yes :mkdirp yes :eval never
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Debug: log what waybar passes
|
# Get focused monitor name
|
||||||
echo "WAYBAR_OUTPUT=$WAYBAR_OUTPUT" >> /tmp/waybar-debug.log
|
|
||||||
|
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
|
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
|
||||||
echo "focused_monitor=$focused_monitor" >> /tmp/waybar-debug.log
|
monitor="${WAYBAR_OUTPUT_NAME:-$focused_monitor}"
|
||||||
|
|
||||||
# Get the focused monitor name
|
# Hide if not focused monitor
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
|
if [ "$monitor" != "$focused_monitor" ]; then
|
||||||
|
|
||||||
# Hide if this bar's monitor is not the focused one
|
|
||||||
if [ "$WAYBAR_OUTPUT" != "$focused_monitor" ]; then
|
|
||||||
jq -c -n '{text:"", class:"hidden"}'
|
jq -c -n '{text:"", class:"hidden"}'
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get active workspace ID on this monitor
|
# Get active workspace on this monitor
|
||||||
active_ws=$(hyprctl monitors -j | jq -r \
|
active_ws=$(hyprctl monitors -j | jq -r \
|
||||||
".[] | select(.name==\"$WAYBAR_OUTPUT\") | .activeWorkspace.id")
|
".[] | select(.name==\"$monitor\") | .activeWorkspace.id")
|
||||||
|
|
||||||
# Get clients in active workspace
|
# Get clients
|
||||||
clients=$(hyprctl clients -j | jq -r \
|
clients=$(hyprctl clients -j | jq -r \
|
||||||
".[] | select(.workspace.id==$active_ws) | \"\(.title)\"")
|
".[] | select(.workspace.id==$active_ws) | \"\(.title)\"")
|
||||||
|
|
||||||
# Count clients (only non-empty lines)
|
|
||||||
count=$(echo "$clients" | grep -c '\S')
|
count=$(echo "$clients" | grep -c '\S')
|
||||||
|
|
||||||
# If no clients → hide module
|
# Hide if 0 or 1 clients — no point showing window switcher
|
||||||
if [ "$count" -eq 0 ]; then
|
if [ "$count" -le 1 ]; then
|
||||||
jq -c -n '{text:"", class:"hidden"}'
|
jq -c -n '{text:"", class:"hidden"}'
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build tooltip
|
|
||||||
tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -)
|
tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -)
|
||||||
|
|
||||||
# Output JSON
|
|
||||||
jq -c -n \
|
jq -c -n \
|
||||||
--arg text "$count" \
|
--arg text "$count" \
|
||||||
--arg tooltip "$tooltip" \
|
--arg tooltip "$tooltip" \
|
||||||
--arg class "active" \
|
--arg class "active" \
|
||||||
'{text:$text, tooltip:$tooltip, class:$class}'
|
'{text:$text, tooltip:$tooltip, class:$class}'
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** =generated/.config/waybar/scripts/hypr-workspacesmenu.sh=
|
** =generated/.config/waybar/scripts/hypr-workspacesmenu.sh=
|
||||||
|
|||||||
@@ -1,41 +1,33 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Debug: log what waybar passes
|
# Get focused monitor name
|
||||||
echo "WAYBAR_OUTPUT=$WAYBAR_OUTPUT" >> /tmp/waybar-debug.log
|
|
||||||
|
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
|
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
|
||||||
echo "focused_monitor=$focused_monitor" >> /tmp/waybar-debug.log
|
monitor="${WAYBAR_OUTPUT_NAME:-$focused_monitor}"
|
||||||
|
|
||||||
# Get the focused monitor name
|
# Hide if not focused monitor
|
||||||
focused_monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused==true) | .name')
|
if [ "$monitor" != "$focused_monitor" ]; then
|
||||||
|
|
||||||
# Hide if this bar's monitor is not the focused one
|
|
||||||
if [ "$WAYBAR_OUTPUT" != "$focused_monitor" ]; then
|
|
||||||
jq -c -n '{text:"", class:"hidden"}'
|
jq -c -n '{text:"", class:"hidden"}'
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get active workspace ID on this monitor
|
# Get active workspace on this monitor
|
||||||
active_ws=$(hyprctl monitors -j | jq -r \
|
active_ws=$(hyprctl monitors -j | jq -r \
|
||||||
".[] | select(.name==\"$WAYBAR_OUTPUT\") | .activeWorkspace.id")
|
".[] | select(.name==\"$monitor\") | .activeWorkspace.id")
|
||||||
|
|
||||||
# Get clients in active workspace
|
# Get clients
|
||||||
clients=$(hyprctl clients -j | jq -r \
|
clients=$(hyprctl clients -j | jq -r \
|
||||||
".[] | select(.workspace.id==$active_ws) | \"\(.title)\"")
|
".[] | select(.workspace.id==$active_ws) | \"\(.title)\"")
|
||||||
|
|
||||||
# Count clients (only non-empty lines)
|
|
||||||
count=$(echo "$clients" | grep -c '\S')
|
count=$(echo "$clients" | grep -c '\S')
|
||||||
|
|
||||||
# If no clients → hide module
|
# Hide if 0 or 1 clients — no point showing window switcher
|
||||||
if [ "$count" -eq 0 ]; then
|
if [ "$count" -le 1 ]; then
|
||||||
jq -c -n '{text:"", class:"hidden"}'
|
jq -c -n '{text:"", class:"hidden"}'
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build tooltip
|
|
||||||
tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -)
|
tooltip=$(echo "$clients" | sed 's/^/• /' | paste -sd '\n' -)
|
||||||
|
|
||||||
# Output JSON
|
|
||||||
jq -c -n \
|
jq -c -n \
|
||||||
--arg text "$count" \
|
--arg text "$count" \
|
||||||
--arg tooltip "$tooltip" \
|
--arg tooltip "$tooltip" \
|
||||||
|
|||||||
Reference in New Issue
Block a user