Ich habe gpick, gcolor2, gcolor3 ausprobiert,wählen,pychromund keines davon scheint mit Wayland zu funktionieren. Ich verwende Arch Linux 64-Bit mit GNOME 3.22.1 über XWayland (Standard seit 3.22.x). Ich möchte nicht in eine X-Sitzung wechseln, nur um eine Farbe auszuwählen.
Hatte jemand damit Erfolg?
Antwort1
grimmigist ein Screenshot-Tool für Wayland, das genau das kann:
grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:-
Nachdem Sie mit der Maus einen Punkt auf dem Bildschirm ausgewählt haben, wird eine Ausgabe wie diese erzeugt:
# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (40,85,119) #285577 srgb(40,85,119)
Antwort2
Für Gnome/Wayalnd können Sie die Dbus-API verwenden:
gdbus call --session --dest org.gnome.Shell.Screenshot --object-path /org/gnome/Shell/Screenshot --method org.gnome.Shell.Screenshot.PickColor
Antwort3
Erweiterung auf@sigmasd's Antwort, ich habe dieses BASH-Skript namens colorpicker
, das einen GUI-Picker hat und für Wayland / Ubuntu 22.04 funktioniert:
#!/bin/bash
# Get the gdbus output
output=$(gdbus call --session --dest org.gnome.Shell.Screenshot --object-path /org/gnome/Shell/Screenshot --method org.gnome.Shell.Screenshot.PickColor)
colors=($(echo $output | command grep -o "[0-9\.]*"))
# Convert to 255-based RGB format
for ((i = 0; i < ${#colors[@]}; i++)); do
colors[$i]=$(printf '%.0f' $(echo "${colors[$i]} * 255" | bc))
done
echo "RGB: ${colors[0]} ${colors[1]} ${colors[2]}"
printf "HEX: #%02x%02x%02x\n" "${colors[0]}" "${colors[1]}" "${colors[2]}"
Anwendungsbeispiel:
./colorpicker
RGB: 255 255 255
HEX: #ffffff
Antwort4
Es gibt einen Azote-Wallpaper-Manager für Wayland und dieser verfügt über einen integrierten Farbwähler https://github.com/nwg-piotr/azote
Sie können auch Folgendes verwenden:
grim -g "$(slurp -p)" -t ppm - | konvertieren - -format '%[pixel:p{0,0}]' txt:-
oder wenn Sie Sway WM verwenden:
swaynag -t Warnung -m "$(grim -g "$(slurp -p)" -t ppm - | konvertieren - -format '%[pixel:p{0,0}]' txt:-)"