Большая проблема с wmctrl и xdotool заключается в том, что эти инструменты необходимо установить - они по умолчанию не установлены на Ubuntu. Однако Ubuntu отправляется с xwininfo. Это простой инструмент, который предоставляет информацию о выбранном пользователем окне.
Простым использованием было бы ввести xwininfo | awk '/Width/||/Height/' (обратите внимание, что awk используется для фильтрации вывода) в терминале, и когда ваш курсор изменится на x, выберите любое окно графического интерфейса, которое вам нравится, и оно покажет свою информацию. Например:
$ xwininfo | awk '/Width/||/Height/'
Width: 602
Height: 398
Таким образом, преимущества:
, он просто установлен по умолчанию, это просто текст - ничего необычного, и вы можете фильтровать и настраивать его по мере необходимостиКонечно, если вы открываете терминал 24/7, как и я, xwininfo - это все, что вам нужно. Некоторым пользователям может потребоваться сочетание клавиш. Сценарий ниже (который предназначен для привязки к сочетанию клавиш) позволяет отображать графическое всплывающее окно с информацией о текущем активном окне. Как видно на снимке экрана, он отображает информацию о заголовке окна, ширине и высоте.
Под капотом это не делает ничего особо впечатляющего. Он использует информацию из службы dbus и xwininfo и помещает ее в простое всплывающее окно. Исходный код приведен ниже. Помните, что применяются стандартные правила написания сценариев: убедитесь, что у него есть исполняемые разрешения с chmod +x, а при привязке к сокращению клавиатуры вы даете полный путь к файлу сценария как команду.
#!/bin/bash
get_active_window()
{
qdbus org.ayatana.bamf \
/org/ayatana/bamf/matcher \
org.ayatana.bamf.matcher.ActiveWindow
}
get_active_name()
{
qdbus org.ayatana.bamf $1 \
org.ayatana.bamf.view.Name
}
main()
{
active_window=$(get_active_window)
active_xid=$( awk -F '/' '{print $NF}' <<< "$active_window" )
echo $active_xid
active_title=$(get_active_name $active_window)
dimensions=$(xwininfo -id "$active_xid" | awk '/Width/||/Height/')
text="$active_title\n""$dimensions"
zenity --info --text "$text" --width=200 --height=200
}
main $@
При написании своего ответа я понял, что это будет очень полезная функция для включения в один из моих существующих проектов - индикатор Ayatana. Этот индикатор позволяет отображать весь спектр информации о окнах графического интерфейса пользователя. В настоящее время все еще активно развивается. Информация о геометрии была добавлена в и находится на пути к моему персональному PPA. И, конечно, он использует xwininfo, хотя несколько иначе.
На самом деле это случается со многими пользователями, использующими последние процессоры AMD и Ubuntu. Современные процессоры пытаются потреблять меньше энергии, если полная производительность не требуется. Ubuntu отправляет некоторые драйверы, которые могут справиться с этой способностью и при необходимости повышать производительность.
Посмотрите этот форум, если вы хотите узнать некоторые подробности: http://ubuntuforums.org/showthread .php? т = 1505495
На самом деле это случается со многими пользователями, использующими последние процессоры AMD и Ubuntu. Современные процессоры пытаются потреблять меньше энергии, если полная производительность не требуется. Ubuntu отправляет некоторые драйверы, которые могут справиться с этой способностью и при необходимости повышать производительность.
Посмотрите этот форум, если вы хотите узнать некоторые подробности: http://ubuntuforums.org/showthread .php? т = 1505495
На самом деле это случается со многими пользователями, использующими последние процессоры AMD и Ubuntu. Современные процессоры пытаются потреблять меньше энергии, если полная производительность не требуется. Ubuntu отправляет некоторые драйверы, которые могут справиться с этой способностью и при необходимости повышать производительность.
Посмотрите этот форум, если вы хотите узнать некоторые подробности: http://ubuntuforums.org/showthread .php? т = 1505495
На самом деле это случается со многими пользователями, использующими последние процессоры AMD и Ubuntu. Современные процессоры пытаются потреблять меньше энергии, если полная производительность не требуется. Ubuntu отправляет некоторые драйверы, которые могут справиться с этой способностью и при необходимости повышать производительность.
Посмотрите этот форум, если вы хотите узнать некоторые подробности: http://ubuntuforums.org/showthread .php? т = 1505495
На самом деле это случается со многими пользователями, использующими последние процессоры AMD и Ubuntu. Современные процессоры пытаются потреблять меньше энергии, если полная производительность не требуется. Ubuntu отправляет некоторые драйверы, которые могут справиться с этой способностью и при необходимости повышать производительность.
Посмотрите этот форум, если вы хотите узнать некоторые подробности: http://ubuntuforums.org/showthread .php? т = 1505495
На самом деле это случается со многими пользователями, использующими последние процессоры AMD и Ubuntu. Современные процессоры пытаются потреблять меньше энергии, если полная производительность не требуется. Ubuntu отправляет некоторые драйверы, которые могут справиться с этой способностью и при необходимости повышать производительность.
Посмотрите этот форум, если вы хотите узнать некоторые подробности: http://ubuntuforums.org/showthread .php? т = 1505495