Patch is too brittle

This commit is contained in:
David Heinemeier Hansson
2026-01-06 13:20:34 +01:00
parent ebc8a9ef62
commit 41c6048758

View File

@@ -1,77 +1,28 @@
echo "Add voxtype to waybar"
echo "Add Voxtype to Waybar"
failed=0
STYLE_FILE=~/.config/waybar/style.css
CONFIG_FILE=~/.config/waybar/config.jsonc
if ! patch -N ~/.config/waybar/style.css << 'EOF'
--- a/waybar/style.css
+++ b/waybar/style.css
@@ -74,10 +74,16 @@ tooltip {
# Add voxtype CSS if not present
if ! grep -q "#custom-voxtype" "$STYLE_FILE" 2>/dev/null; then
sed -i 's/margin-left: 8\.75px;/margin-left: 5px;/' "$STYLE_FILE"
sed -i '/#custom-screenrecording-indicator {/,/}/ s/font-size: 10px;/font-size: 10px;\n padding-bottom: 1px;/' "$STYLE_FILE"
cat >> "$STYLE_FILE" << 'EOF'
#custom-screenrecording-indicator {
min-width: 12px;
- margin-left: 8.75px;
+ margin-left: 5px;
font-size: 10px;
+ padding-bottom: 1px;
}
#custom-screenrecording-indicator.active {
color: #a55555;
}
+
+#custom-voxtype {
+ min-width: 12px;
+ margin: 0 0 0 7.5px;
+}
#custom-voxtype {
min-width: 12px;
margin: 0 0 0 7.5px;
}
EOF
then
failed=1
fi
if ! patch -N ~/.config/waybar/config.jsonc << 'EOF'
--- a/waybar/config.jsonc
+++ b/waybar/config.jsonc
@@ -5,7 +5,7 @@
"spacing": 0,
"height": 26,
"modules-left": ["custom/omarchy", "hyprland/workspaces"],
- "modules-center": ["clock", "custom/update", "custom/screenrecording-indicator"],
+ "modules-center": ["clock", "custom/update", "custom/voxtype", "custom/screenrecording-indicator"],
"modules-right": [
"group/tray-expander",
"bluetooth",
@@ -140,6 +140,19 @@
"signal": 8,
"return-type": "json"
},
+ "custom/voxtype": {
+ "exec": "omarchy-voxtype-status",
+ "return-type": "json",
+ "format": "{icon}",
+ "format-icons": {
+ "idle": "",
+ "recording": "󰍬",
+ "transcribing": "󰔟"
+ },
+ "tooltip": true,
+ "on-click-right": "omarchy-voxtype-config",
+ "on-click": "omarchy-voxtype-model"
+ },
"tray": {
"icon-size": 12,
"spacing": 17
EOF
then
failed=1
# Add voxtype to modules-center if not present
if ! grep -q "custom/voxtype" "$CONFIG_FILE" 2>/dev/null; then
# Add to modules-center array
sed -i 's/"custom\/screenrecording-indicator"/"custom\/voxtype", "custom\/screenrecording-indicator"/' "$CONFIG_FILE"
# Add voxtype config block before tray config
sed -i '/"tray": {/i\ "custom/voxtype": {\n "exec": "omarchy-voxtype-status",\n "return-type": "json",\n "format": "{icon}",\n "format-icons": {\n "idle": "",\n "recording": "󰍬",\n "transcribing": "󰔟"\n },\n "tooltip": true,\n "on-click-right": "omarchy-voxtype-config",\n "on-click": "omarchy-voxtype-model"\n },' "$CONFIG_FILE"
fi
if [ $failed -eq 1 ]; then
echo -e "\033[31mUnable to update Waybar config automatically.\033[0m"
echo
if gum confirm "Reset waybar config to default to get Voxtype dictation integration?"; then
omarchy-refresh-waybar
fi
else
omarchy-restart-waybar
fi
omarchy-restart-waybar