Wayland 또는 XWayland용 색상 선택기가 있습니까?

Wayland 또는 XWayland용 색상 선택기가 있습니까?

나는 gpick, gcolor2, gcolor3을 시도했습니다.선택하다,뜨거운 크롬산그들 중 누구도 Wayland와 협력하지 않는 것 같습니다. 저는 XWayland(3.22.x 이후 기본값)를 통해 GNOME 3.22.1과 함께 Arch Linux 64비트를 실행하고 있습니다. 색상을 선택하기 위해 X 세션으로 전환하고 싶지 않습니다.

누구든지 이것으로 성공했습니까?

답변1

극심한Wayland의 캡처 도구는 다음과 같은 작업을 수행할 수 있습니다.

grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:-

마우스로 화면의 한 지점을 선택하면 다음과 같은 출력이 생성됩니다.

# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (40,85,119)  #285577  srgb(40,85,119)

답변2

gnome/wayalnd의 경우 dbus API를 사용할 수 있습니다.

gdbus call --session --dest org.gnome.Shell.Screenshot --object-path /org/gnome/Shell/Screenshot --method org.gnome.Shell.Screenshot.PickColor

답변3

확장됨@sigmasdcolorpicker답변, GUI 선택기가 있는 BASH 스크립트가 있습니다 . 이는 Wayland/Ubuntu 22.04에서 작동합니다.

#!/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]}"

사용 예:

./colorpicker
RGB: 255 255 255
HEX: #ffffff

답변4

Wayland에는 색상 선택기가 내장된 azote 벽지 관리자가 있습니다. https://github.com/nwg-piotr/azote

다음을 사용할 수도 있습니다.

grim -g "$(slurp -p)" -tppm - |convert- -format '%[pixel:p{0,0}]' txt:-

또는 sway wm을 사용하는 경우:

swaynag -t 경고 -m "$(grim -g "$(slurp -p)" -tppm - | 변환 - -format '%[pixel:p{0,0}]' txt:-)"

관련 정보