updated monocle bar and added wayshell framework with some modules.

This commit is contained in:
2026-06-27 17:35:39 +02:00
parent 79b45ab123
commit 66065960cf
43 changed files with 2163 additions and 97 deletions
+35
View File
@@ -0,0 +1,35 @@
{
"layer": "top",
"position": "bottom",
"fixed-center": "true",
"output": "DP-1",
"margin-top": 0,
"margin-bottom": 0,
"margin-left": 0,
"margin-right": 0,
"spacing": 3,
// Load Modules
"include": [
"~/.config/sdgos/monocle/modules-dp1.json"
],
"modules-left": [
"custom/daemon",
"custom/window1",
"custom/window2",
"custom/window3",
"custom/window4",
"custom/window5",
"custom/window6",
"custom/window7",
"custom/window8",
"custom/window9",
"custom/window10",
],
"modules-center": [
],
"modules-right": [
]
}
+35
View File
@@ -0,0 +1,35 @@
{
"layer": "top",
"position": "bottom",
"fixed-center": "true",
"output": "DP-3",
"margin-top": 0,
"margin-bottom": 0,
"margin-left": 0,
"margin-right": 0,
"spacing": 3,
// Load Modules
"include": [
"~/.config/sdgos/monocle/modules-dp3.json"
],
"modules-left": [
"custom/daemon",
"custom/window1",
"custom/window2",
"custom/window3",
"custom/window4",
"custom/window5",
"custom/window6",
"custom/window7",
"custom/window8",
"custom/window9",
"custom/window10",
],
"modules-center": [
],
"modules-right": [
]
}
@@ -11,7 +11,7 @@
// Load Modules
"include": [
"~/.config/sdgos/monocle/modules.json"
"~/.config/sdgos/monocle/modules-hdmi.json"
],
"modules-left": [
"custom/daemon",
+3 -2
View File
@@ -2,12 +2,13 @@
INDEX="$1"
MONITOR=$2
while [ -e ~/.config/monocle.lock ]; do
while [ -e ~/.config/monocle-$MONITOR.lock ]; do
sleep 0.01
done
WINDOWTITLE=$(cat ~/.config/monocle.state | grep -e "index:$INDEX" | cut -d'\' -f2)
WINDOWTITLE=$(cat ~/.config/monocle-$MONITOR.state | grep -e "index:$INDEX" | cut -d'\' -f2)
+6 -5
View File
@@ -1,21 +1,22 @@
#!/bin/bash
ACTIVEMON=$2
INDEX="$1"
while [ -e ~/.config/monocle.lock ]; do
while [ -e ~/.config/monocle-$ACTIVEMON.lock ]; do
sleep 0.01
echo "sleeping"
done
ACTIVEMON=$(mmsg get all-monitors | jq '.monitors[] | select(.active == true) | .name' -r)
echo "activemon is $ACTIVEMON"
ACTIVETAG=$(mmsg get tags $ACTIVEMON | jq '.tags[] | select(.is_active == true) | .index' -r)
echo "activetag is $ACTIVETAG"
WINDOWID=$(cat ~/.config/monocle.state | grep -e "index:$INDEX" | cut -d'\' -f3)
WINDOWtitle=$(cat ~/.config/monocle.state | grep -e "index:$INDEX" | cut -d'\' -f2)
WINDOWID=$(cat ~/.config/monocle-$ACTIVEMON.state | grep -e "index:$INDEX" | cut -d'\' -f3)
WINDOWtitle=$(cat ~/.config/monocle-$ACTIVEMON.state | grep -e "index:$INDEX" | cut -d'\' -f2)
echo "moving window $WINDOWID"
mmsg dispatch zoom client,$WINDOWID
mmsg dispatch focusid client,$WINDOWID
+6 -6
View File
@@ -1,6 +1,6 @@
#!/bin/bash
MONITOR=HDMI-A-1
MONITOR=$1
# get all clients on that monitor: mmsg get all-clients | jq '.clients[] | select( .monitor == "HDMI-A-1") | .id' -r
@@ -10,26 +10,26 @@ ACTIVEMON=$(mmsg get all-monitors | jq '.monitors[] | select(.active == true) |
#echo "activemon is $ACTIVEMON"
ACTIVETAG=$(mmsg get tags $MONITOR | jq '.tags[] | select(.is_active == true) | .index' -r)
#echo "activetag is $ACTIVETAG"
ACTIVEWINDOWS=$(mmsg get all-clients | jq -r --arg ACTIVETAG "$ACTIVETAG" --arg ACTIVEMON "$MONOCLEMON" '.clients[] | select(.tags[] == ($ACTIVETAG | tonumber) and .monitor == $ACTIVEMON) | .id' | sort)
ACTIVEWINDOWS=$(mmsg get all-clients | jq -r --arg ACTIVETAG "$ACTIVETAG" --arg ACTIVEMON "$MONITOR" '.clients[] | select(.tags[] == ($ACTIVETAG | tonumber) and .monitor == $ACTIVEMON) | .id' | sort)
#echo "active windows are:"
#echo "----------------------------------------"
#echo "$ACTIVEWINDOWS"
#echo "----------------------------------------"
echo "lock" > ~/.config/monocle.lock
echo "lock" > ~/.config/monocle-$MONITOR.lock
sleep 0.05
INDEX=0
echo "" > ~/.config/monocle.state
echo "" > ~/.config/monocle-$MONITOR.state
while read LINE; do
ID=$LINE
TITLE=$(mmsg get all-clients | jq -r --arg ID "$LINE" '.clients[] | select(.id == ($ID | tonumber)) | .title' )
INDEX=$((INDEX+1))
echo "index:$INDEX \ $TITLE \ $ID" >> ~/.config/monocle.state
echo "index:$INDEX \ $TITLE \ $ID" >> ~/.config/monocle-$MONITOR.state
done <<< "$ACTIVEWINDOWS"
sleep 0.05
rm ~/.config/monocle.lock
rm ~/.config/monocle-$MONITOR.lock
echo "(running)"
@@ -7,8 +7,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "daemon is running, click to refresh",
"on-click": "~/.config/sdgos/monocle/indexer.sh",
"exec": "~/.config/sdgos/monocle/indexer.sh",
"on-click": "~/.config/sdgos/monocle/indexer.sh DP-1",
"exec": "~/.config/sdgos/monocle/indexer.sh DP-1",
"max-length": 20,
"interval": 1
@@ -18,8 +18,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 1: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 1",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 1 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 1 DP-1",
"max-length": 20,
"interval": 1.5
@@ -28,8 +28,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 2: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 2",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 2",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 2 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 2 DP-1",
"max-length": 20,
"interval": 1.5
@@ -39,8 +39,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 3: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 3",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 3 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 3 DP-1",
"max-length": 20,
"interval": 1.5
@@ -50,8 +50,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 4: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 4",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 4",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 4 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 4 DP-1",
"max-length": 20,
"interval": 1.5
@@ -61,8 +61,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 5: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 5",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 5",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 5 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 5 DP-1",
"max-length": 20,
"interval": 1.5
@@ -72,8 +72,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 6: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 6",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 6",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 6 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 6 DP-1",
"max-length": 20,
"interval": 1.5
@@ -83,8 +83,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 7: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 7",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 7",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 7 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 7 DP-1",
"max-length": 20,
"interval": 1.5
@@ -94,8 +94,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 8: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 8",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 8",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 8 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 8 DP-1",
"max-length": 20,
"interval": 1.5
@@ -105,8 +105,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 9: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 9",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 9",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 9 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 9 DP-1",
"max-length": 20,
"interval": 1.5
@@ -116,8 +116,8 @@
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 10: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 10",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 10",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 10 DP-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 10 DP-1",
"max-length": 20,
"interval": 1.5
+351
View File
@@ -0,0 +1,351 @@
{
// Test Button
"custom/daemon": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "daemon is running, click to refresh",
"on-click": "~/.config/sdgos/monocle/indexer.sh DP-3",
"exec": "~/.config/sdgos/monocle/indexer.sh DP-3",
"max-length": 20,
"interval": 1
},
"custom/window1": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 1: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 1 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 1 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window2": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 2: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 2 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 2 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window3": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 3: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 3 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 3 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window4": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 4: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 4 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 4 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window5": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 5: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 5 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 5 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window6": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 6: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 6 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 6 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window7": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 7: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 7 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 7 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window8": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 8: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 8 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 8 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window9": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 9: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 9 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 9 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/window10": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 10: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 10 DP-3",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 10 DP-3",
"max-length": 20,
"interval": 1.5
},
"custom/test-button2": {
"tooltip": true,
"format":"oooh",
"tooltip-format": "this is a button",
"on-click": "ydotool key 125:1 16:1 125:0 16:0"
},
"custom/button-fuzzel": {
"tooltip": true,
"format":"run",
"tooltip-format": "application start menu",
"on-click": "fuzzel"
},
"custom/button-term": {
"tooltip": true,
"format":"shell",
"tooltip-format": "launch terminal",
"on-click": "alacritty"
},
"custom/button-files": {
"tooltip": true,
"format":"files",
"tooltip-format": "launch files",
"on-click": "nautilus"
},
"custom/button-next": {
"tooltip": true,
"format":"next",
"tooltip-format": "next window",
"on-click": "ydotool key 56:1 15:1 56:0 15:0"
},
"custom/button-prev": {
"tooltip": true,
"format": "prev",
"tooltip-format": "previous window",
"on-click": "ydotool key 56:1 42:1 15:1 56:0 42:0 15:0"
},
"custom/button-fit": {
"tooltip": true,
"format":"fit",
"tooltip-format": "fit cluster to viewport",
"on-click": "ydotool key 125:1 42:1 50:1 125:0 42:0 50:0"
},
"custom/button-zoomin": {
"tooltip": true,
"format":"+",
"tooltip-format": "zoom in",
"on-click": "ydotool key 125:1 13:1 125:0 13:0"
},
"custom/button-zoomout": {
"tooltip": true,
"format":"-",
"tooltip-format": "zoom out",
"on-click": "ydotool key 125:1 12:1 125:0 12:0"
},
// Keyboard State
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
// System tray
"tray": {
// "icon-size": 21,
"spacing": 10
},
// Clock
"clock": {
// "timezone": "Europe/Amsterdam",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
// System
"custom/system": {
"format": "",
"tooltip": false
},
// CPU
"cpu": {
"format": "/ C {usage}% ",
"on-click": "alacritty -e btop"
},
// Memory
"memory": {
"format": "/ M {}% ",
"on-click": "alacritty -e btop"
},
// Harddisc space used
"disk": {
"interval": 30,
"format": "D {percentage_used}% ",
"path": "/",
"on-click": "alacritty -e btop"
},
"hyprland/language": {
"format": "/ K {short}"
},
// Group Hardware
"group/hardware": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"children-class": "not-memory",
"transition-left-to-right": false
},
"modules": [
"custom/system",
"disk",
"cpu",
"memory",
"hyprland/language"
]
},
// Network
"network": {
"format": "{ifname}",
"format-wifi": " {essid}({signalStrength}%)",
"format-ethernet": " {ifname}",
"format-disconnected": "Disconnected ⚠",
"tooltip-format": " {ifname} via {gwaddri}",
"tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
"tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
"tooltip-format-disconnected": "Disconnected",
"max-length": 50,
"on-click": "nm-connection-editor"
},
// Battery
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} {time}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": [" ", " ", " ", " ", " "]
},
// Pulseaudio
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}%",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", " ", " "]
},
"on-click": "pavucontrol"
},
// Bluetooth
"bluetooth": {
"format-disabled": "",
"format-off": "",
"interval": 30,
"on-click": "blueman-manager",
"format-no-controller": ""
},
// Other
"user": {
"format": "{user}",
"interval": 60,
"icon": false
},
// Idle Inhibator
"idle_inhibitor": {
"format": "{icon}",
"tooltip": true,
"format-icons":{
"activated": "",
"deactivated": ""
},
"on-click-right": "hyprlock"
}
}
+351
View File
@@ -0,0 +1,351 @@
{
// Test Button
"custom/daemon": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "daemon is running, click to refresh",
"on-click": "~/.config/sdgos/monocle/indexer.sh HDMI-A-1",
"exec": "~/.config/sdgos/monocle/indexer.sh HDMI-A-1",
"max-length": 20,
"interval": 1
},
"custom/window1": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 1: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 1 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 1 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window2": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 2: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 2 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 2 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window3": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 3: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 3 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 3 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window4": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 4: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 4 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 4 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window5": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 5: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 5 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 5 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window6": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 6: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 6 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 6 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window7": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 7: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 7 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 7 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window8": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 8: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 8 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 8 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window9": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 9: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 9 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 9 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/window10": {
"tooltip": true,
"format":"{text}",
"tooltip-format": "window 10: {text}",
"on-click": "~/.config/sdgos/monocle/focuswindow.sh 10 HDMI-A-1",
"exec": "~/.config/sdgos/monocle/fetchwindow.sh 10 HDMI-A-1",
"max-length": 20,
"interval": 1.5
},
"custom/test-button2": {
"tooltip": true,
"format":"oooh",
"tooltip-format": "this is a button",
"on-click": "ydotool key 125:1 16:1 125:0 16:0"
},
"custom/button-fuzzel": {
"tooltip": true,
"format":"run",
"tooltip-format": "application start menu",
"on-click": "fuzzel"
},
"custom/button-term": {
"tooltip": true,
"format":"shell",
"tooltip-format": "launch terminal",
"on-click": "alacritty"
},
"custom/button-files": {
"tooltip": true,
"format":"files",
"tooltip-format": "launch files",
"on-click": "nautilus"
},
"custom/button-next": {
"tooltip": true,
"format":"next",
"tooltip-format": "next window",
"on-click": "ydotool key 56:1 15:1 56:0 15:0"
},
"custom/button-prev": {
"tooltip": true,
"format": "prev",
"tooltip-format": "previous window",
"on-click": "ydotool key 56:1 42:1 15:1 56:0 42:0 15:0"
},
"custom/button-fit": {
"tooltip": true,
"format":"fit",
"tooltip-format": "fit cluster to viewport",
"on-click": "ydotool key 125:1 42:1 50:1 125:0 42:0 50:0"
},
"custom/button-zoomin": {
"tooltip": true,
"format":"+",
"tooltip-format": "zoom in",
"on-click": "ydotool key 125:1 13:1 125:0 13:0"
},
"custom/button-zoomout": {
"tooltip": true,
"format":"-",
"tooltip-format": "zoom out",
"on-click": "ydotool key 125:1 12:1 125:0 12:0"
},
// Keyboard State
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
// System tray
"tray": {
// "icon-size": 21,
"spacing": 10
},
// Clock
"clock": {
// "timezone": "Europe/Amsterdam",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
// System
"custom/system": {
"format": "",
"tooltip": false
},
// CPU
"cpu": {
"format": "/ C {usage}% ",
"on-click": "alacritty -e btop"
},
// Memory
"memory": {
"format": "/ M {}% ",
"on-click": "alacritty -e btop"
},
// Harddisc space used
"disk": {
"interval": 30,
"format": "D {percentage_used}% ",
"path": "/",
"on-click": "alacritty -e btop"
},
"hyprland/language": {
"format": "/ K {short}"
},
// Group Hardware
"group/hardware": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"children-class": "not-memory",
"transition-left-to-right": false
},
"modules": [
"custom/system",
"disk",
"cpu",
"memory",
"hyprland/language"
]
},
// Network
"network": {
"format": "{ifname}",
"format-wifi": " {essid}({signalStrength}%)",
"format-ethernet": " {ifname}",
"format-disconnected": "Disconnected ⚠",
"tooltip-format": " {ifname} via {gwaddri}",
"tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
"tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
"tooltip-format-disconnected": "Disconnected",
"max-length": 50,
"on-click": "nm-connection-editor"
},
// Battery
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} {time}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": [" ", " ", " ", " ", " "]
},
// Pulseaudio
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{icon} {volume}%",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", " ", " "]
},
"on-click": "pavucontrol"
},
// Bluetooth
"bluetooth": {
"format-disabled": "",
"format-off": "",
"interval": 30,
"on-click": "blueman-manager",
"format-no-controller": ""
},
// Other
"user": {
"format": "{user}",
"interval": 60,
"icon": false
},
// Idle Inhibator
"idle_inhibitor": {
"format": "{icon}",
"tooltip": true,
"format-icons":{
"activated": "",
"deactivated": ""
},
"on-click-right": "hyprlock"
}
}
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
MON=$1
waybar -c ~/.config/sdgos/monocle/config-$MON -s ~/.config/sdgos/monocle/style.css
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
echo "off" > ~/.config/monocledaemon.state
# constant command: mmsg watch all-monitors | jq -r '.monitors[] | select(.tags[] | select(.is_active == true) | .layout | test("M|K|VK")) | .name'