Пытаюсь написать простенькую программку на Java, которая бы
1) Получала бы название актиного окна приложения (то есть того, в котором сейчас работают)
2) Получала бы путь к обрабатываемому файлу.
Например, если я редактирую текст sometext.txt в Gedit, то я бы хотел получить 1. имя окна 2. путь к редактируемому файлу.
Как это можно сделать в Java под Linux?
Заранее благодарен.
Примечание:
Спасибо за вопросы.
1. Файл просто открыт в активном окне, вне зависимости от режима.
2. Интересует только тот файл, который находится в активном окне / табе, то которое "пред ликом юзера"...
3. Это я уже не знаю...
И как же можно получить хотя бы заголовок окна? Говоря об окнах, я имел в виду, что Linux "прикрыт" окнами.
Примечание:
Я кое-что нарыл по теме. В частности я уже сейчас могу получить интересующую меня информацию через сторонние утилиты. Например, три способа найти активное окно:
1.
xprop -root _NET_ACTIVE_WINDOW
wmctrl -l
2. read D1 D2 D3 D4 ID <<<$(xprop -root _NET_ACTIVE_WINDOW); xprop -id $ID WM_NAME
3. the libwnck gnome library. It has wnck_screen_get_active_window() function
Найти активное окно и активное приложение, которому окно принадлежит:
wmctrl -l -p (получаете PID)
ps -e | grep -v grep | grep PID (получаете путь к файлу)
Но всё это не очень "красиво". Я, например, так и не понял, как я из Java могу использовать libwnck. Может, кто-то объяснит?
Уточню также, что под "открытым файлом" подразумеваю тот файл, имя которого бывает в заголовке окна. Например, если в Gedit редактируется файл text.txt, то в заголовке будет что-то вроде "Gedit : test.txt". Вот именно путь к этому файлу (а не к системным библиотекам) мне и нужен.
Если нет унивесального способа, то мне прежде всего, нужен способ для Linux/Gnome.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.