Fix color sync

This commit is contained in:
David Heinemeier Hansson
2026-05-11 15:29:31 -04:00
committed by Ryan Hughes
parent ef129b9dab
commit f6bd69bc0f
2 changed files with 15 additions and 5 deletions
+9 -1
View File
@@ -137,6 +137,14 @@ fi
rows_payload=${rows//$'\t'/$'\f'} rows_payload=${rows//$'\t'/$'\f'}
rows_payload=${rows_payload//$'\n'/$'\v'} rows_payload=${rows_payload//$'\n'/$'\v'}
colors_file=${colors_file:-$HOME/.config/omarchy/current/theme/background-switcher-colors.json}
colors_payload=""
if [[ -f $colors_file ]]; then
colors_payload=$(<"$colors_file")
colors_payload=${colors_payload//$'\t'/$'\f'}
colors_payload=${colors_payload//$'\n'/$'\v'}
fi
if [[ $cache_only == true ]]; then if [[ $cache_only == true ]]; then
exit 0 exit 0
@@ -165,7 +173,7 @@ if [[ ! -S $socket_path ]]; then
exit 1 exit 1
fi fi
printf '%s\t%s\t%s\t%s\t%s\n' "$rows_payload" "$selected_list_image" "$selection_file" "$done_file" "$colors_file" | printf '%s\t%s\t%s\t%s\t%s\n' "$rows_payload" "$selected_list_image" "$selection_file" "$done_file" "$colors_payload" |
socat -u - "UNIX-CONNECT:$socket_path" socat -u - "UNIX-CONNECT:$socket_path"
while [[ ! -e $done_file ]]; do while [[ ! -e $done_file ]]; do
+6 -4
View File
@@ -83,13 +83,15 @@ ShellRoot {
list.forceActiveFocus() list.forceActiveFocus()
} }
function openSelector(nextImageDirs, nextImageRows, nextSelectedImage, nextSelectionFile, nextDoneFile, nextColorsFile) { function openSelector(nextImageDirs, nextImageRows, nextSelectedImage, nextSelectionFile, nextDoneFile, nextColorsFile, nextColorsRaw) {
imageDirs = nextImageDirs imageDirs = nextImageDirs
imageRows = nextImageRows imageRows = nextImageRows
selectedImage = nextSelectedImage selectedImage = nextSelectedImage
selectionFile = nextSelectionFile selectionFile = nextSelectionFile
doneFile = nextDoneFile doneFile = nextDoneFile
colorsFile = nextColorsFile || (Quickshell.env("HOME") + "/.config/omarchy/current/theme/background-switcher-colors.json") colorsFile = nextColorsFile || (Quickshell.env("HOME") + "/.config/omarchy/current/theme/background-switcher-colors.json")
if (nextColorsRaw)
loadColors(nextColorsRaw)
imageModel.clear() imageModel.clear()
selectedIndex = 0 selectedIndex = 0
list.currentIndex = 0 list.currentIndex = 0
@@ -148,14 +150,14 @@ ShellRoot {
Component.onCompleted: { Component.onCompleted: {
if (selectionFile) if (selectionFile)
openSelector(imageDirs, "", selectedImage, selectionFile, Quickshell.env("OMARCHY_IMAGE_SELECTOR_DONE_FILE"), colorsFile) openSelector(imageDirs, "", selectedImage, selectionFile, Quickshell.env("OMARCHY_IMAGE_SELECTOR_DONE_FILE"), colorsFile, "")
} }
IpcHandler { IpcHandler {
target: "image-selector" target: "image-selector"
function open(imageDirs: string, imageRows: string, selectedImage: string, selectionFile: string, doneFile: string, colorsFile: string): void { function open(imageDirs: string, imageRows: string, selectedImage: string, selectionFile: string, doneFile: string, colorsFile: string): void {
root.openSelector(imageDirs, imageRows, selectedImage, selectionFile, doneFile, colorsFile) root.openSelector(imageDirs, imageRows, selectedImage, selectionFile, doneFile, colorsFile, "")
} }
} }
@@ -168,7 +170,7 @@ ShellRoot {
parser: SplitParser { parser: SplitParser {
onRead: function(message) { onRead: function(message) {
var fields = message.split("\t") var fields = message.split("\t")
root.openSelector("", root.decodeField(fields[0]), fields[1] || "", fields[2] || "", fields[3] || "", fields[4] || "") root.openSelector("", root.decodeField(fields[0]), fields[1] || "", fields[2] || "", fields[3] || "", "", root.decodeField(fields[4]))
clientSocket.connected = false clientSocket.connected = false
} }
} }