Как выйти из gpick палитры цветов после выбора от сочетания клавиш?

Я присвоил ярлык в Ubuntu 14.04 к gpick -p, который поднимает палитру цветов немедленно. GPick настроен для сохранения выбранного цвета к буферу обмена.

Однако, после того как цвет выбран, интерфейс gpick уходит и gpick -p продолжает работать в фоновом режиме, с помощью ЦП.

От ps ax | grep gpick:

5255 ?        Sl     0:00 gpick -p

От top -p 5255:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 5255 oleg      20   0  702448  18096  12744 S   1.7  0.2   0:01.67 gpick

Точная Цель: сочетание клавиш, что:

  1. Превращает мою мышь в палитру цветов (с окном усилителя)
  2. После того как я нажимаю, копирует выбранный цвет в буфер обмена, и
  3. уходит

Уходит, это могло быть одно из следующего:

  • идеально, программа вышла бы
  • выполнение в фоновом режиме без значительного использования ресурсов было бы в порядке
  • представление кнопки для закрытия было бы раздражающим, но терпимым

Вещи я попробовал:

  • Конфигурирование "Единственного Экземпляра" на и прочь - казалось, не помогло
  • Конфигурирование "Минимизирует/Близко к Системный лоток" на, и прочь - казалось, не помог, и программа не появляется в лотке
  • Установка gcolor2 и kcolorchooser - они не имеют автоматических команд colorpicking
  • Используя grabc | xclip -selection clipboard - это работает, но не обеспечивает усилитель
4
задан 3 March 2018 в 13:22

1 ответ

gpick имеет следующие проблемы:

  • Это не завершает себя после выбора цвета, сделан (Вы уже знаете, что)
  • , Если Вы копируете что-то в буфер обмена и затем уничтожаете его, у Вас будет пустой буфер обмена.
<час>

Решение 1 (рекомендовало)

(gpick -p &); pid=$(pidof gpick); sleep 5; xclip -se c -o | xclip -i -se c -l 1; kill $pid

К обходному решению проблема пустого буфера обмена, идея состоит в том, чтобы запустить gpick в подпроцессе и скопировать содержание буфера обмена прежде, чем уничтожить подпроцесс.

Создают следующий сценарий удара и использование если как программа ярлыка:

#!/bin/bash

(gpick -p &);
pid=$(pidof gpick)
sleep 5
xclip -se c -o | xclip -i -se c -l 1
kill $pid

Это позволит персистентность данных буфера обмена.

<час>

Решение 2 (с менеджером по буферу обмена)

первое, что нужно сделать состоит в том, чтобы установить менеджера по буферу обмена, который предложит персистентность Буфера обмена , откроет терминал и введет следующую команду:

sudo apt-get install clipit xsel

Теперь перезапускают Вашу сессию для имения clipit, запустился по умолчанию.

команда, которую можно использовать в ярлыке, чтобы сохранить к цветовому коду к буферу обмена и выйти gpick:

timeout -k 5 5 gpick -p ; clipit -c | xsel -b

Это даст Вам 5 с для выбора цвета прежде, чем уничтожить gpick.

Примечание : Для этого решения кажется, что xsel процесс остается после команды, но это не использует ЦП.

4
ответ дан 1 December 2019 в 09:49

Другие вопросы по тегам:

Похожие вопросы: