Лучший способ и независимая версия ubuntu - запустить dconf-editor и найти (ctrl + F) эту строку «systray-whitelist» (если они не изменят ее ...)
Вы можете отредактируйте его значение просто ['all'], вы можете восстановить его, нажав кнопку «установить по умолчанию».
Или узнайте, какие значки вы хотите показывать, один за другим и добавьте их там.
В приведенном ниже сценарии измеряется размер области между двумя точками указателя мыши.
Он работает следующим образом:
Поместите указатель мыши в первую позицию (без нажатия). Нажмите комбинацию клавиш по вашему выбору (см. Ниже). Поместите мышь во вторую позицию (снова без нажатия). Повторно нажмите комбинацию клавиш. Уведомление сообщит вам точный размер (px) области.Вы можете выбрать (раскомментируя одну из строк), как вы хотите получать уведомления; либо путем уведомления:
Или информационное окно Zenity:
(Примеры из разных областей)
Поместите указатель мыши в первый (без нажатия)
command = ['notify-send', 'Area size', str(w)+' x '+str(h)]
(для уведомления с помощью опции notify-send)
command = ['zenity', '--info', '--title', 'Area Size', '--text', str(w) + ' x ' + str(h)]
для опции Zenity. Нажмите комбинацию клавиш по вашему выбору (см. ниже) Нажмите комбинацию клавиш по вашему выбору (см. ниже)
measure_area
#!/usr/bin/env python3
import subprocess
import os
import math
home = os.environ["HOME"]
area = home+"/"+".measure_area.txt"
def get_pos():
pos_data = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8")
return [m[2:] for m in pos_data.split()[:2]]
def confirm():
get = subprocess.check_output(["xrandr", "--verbose"]).decode("utf-8").split()
for s in [get[i-1] for i in range(len(get)) if get[i] == "connected"]:
br_data = float(get[get.index("Brightness:")+1])
brightness = lambda br: ["xrandr", "--output", s, "--brightness", br]
flash = ["sleep", "0.1"]
for cmd in [brightness(str(br_data-0.1)), flash, brightness(str(br_data))]:
subprocess.call(cmd)
if not os.path.exists(area):
with open(area, "wt") as measure:
measure.write(str(get_pos()))
confirm()
else:
second = get_pos()
with open(area) as first_m:
try:
first = eval(first_m.read())
w = int(math.fabs(int(second[0]) - int(first[0])))
h = int(math.fabs(int(second[1]) - int(first[1])))
#--- uncomment either one of the lines below:
# command = ['notify-send', 'Area size', str(w)+' x '+str(h)]
command = ['zenity', '--info', '--title', 'Area Size', '--text', str(w) + ' x ' + str(h)]
#---
confirm()
except SyntaxError:
text = "Please try again, there was an error in the data"
command = ['zenity', '--info', '--title', 'Please try again', '--text', text]
subprocess.Popen(command)
os.remove(area)
Скопируйте сценарий ниже в пустой файл, раскомментируйте одну из строк:
xdotool getmouselocation
или:
Добавить комбинацию клавиш для запуска скрипта: Выберите: «Системные настройки»> «Клавиатура»> «Ярлыки»> «Пользовательские ярлыки». Нажмите «+» и добавьте команду:
Вам нужно будет выйти / в первый раз . Добавлена процедура ремонта в случае, если что-то пошло не так с файлом первой информации (например, если пользователь сначала попытался запустить скрипт, не установив xdotool) Не имеет значения, что вы делаете в качестве первой / второй позиции; сценарий измеряет абсолютные значения.Использование slop
Еще один простой способ определения области выбора - использовать slop (Select Operation), утилиту командной строки, которая запрашивает выбор у пользователя и печатает region to stdout. "
slop - это сравнительно новый инструмент и еще не упакован для Debian / Ubuntu. В его нынешнем виде вам придется скомпилировать его из источника:
sudo apt-get install build-essential cmake libxext-dev
git clone https://github.com/naelstrof/slop.git
cd slop
cmake ./
make && sudo make install
Установка является самой сложной частью. slop на самом деле очень легко работать. Например, следующий однострочный запрос предложит вам выбрать область экрана и отобразит результат как уведомление и напишет его в буфер обмена:
eval $(slop -t 0 -b 1) && notify-send "Selection info" "Area: ${W} x ${Y}px \n Position: X = ${X}px, Y = ${Y}px" && echo ${W}x${H} | xsel -bi
Снимок экрана:
[d7 ]Быстрое разбиение используемых команд:
slop -t 0 -b 1 - предложит пользователю выбрать область экрана; не выбирайте полные окна (-t 0), установите границу выделения на 1px (-b 1) eval $(...) - прочитайте вывод slop в переменные notify-send ... - отправьте уведомление GUI с информацией о выбранной области echo ${W}x${H} | xsel -bi - скопируйте размеры в буфер обмена (требуется xsel → sudo apt-get install xsel)