Приветствую.
Никто не озадачивался вопросом, как пропатчить KDE под Far как сделать так, чтобы запускалась только одна копия FAR под KDE? Я просто привык пинать любимую программу шорткатом на десктопе, а под линуксом бесит, что глобальный шорткат каждый раз запускает новую копию.
В принципе достаточно просто сделать скрипт, который будет анализировать результат ps ax | grep far2l, но тогда не происходит чуда переключения на уже запущенную копию, что бесит не меньше. Any ideas, коллеги?
WMBR, George Hazan
Far2Linux - запуск одной копии
-
- Posts: 131
- Joined: Sat 28 Jun, 2014 23:07
- Has thanked: 2 times
- Been thanked: 9 times
Far2Linux - запуск одной копии
Наверно, надо воспользоваться wmctl.
Возможно надо ее еще и установить. Проверьте. Возможно это и не то, что Вам нужно. Гуглил фразы типа "move gui to foreground", "how to focus on gui".https://linux.die.net/man/1/wmctrl wrote:Code: Select all
-a <WIN> Switch to the desktop containing the window <WIN>, raise the window, and give it focus.
- Michael Lukashov
- Posts: 517
- Joined: Mon 23 Jan, 2006 09:38
- Has thanked: 6 times
- Been thanked: 21 times
- Contact:
Far2Linux - запуск одной копии
Я пользуюсь для такой задачи autokey. Для этого надо создать скрипт ~/.config/autokey/data/Autohotkey/Activate Far2l.pygeorge.hazan wrote: ↑Fri 22 Oct, 2021 11:49 Никто не озадачивался вопросом, как пропатчить KDE под Far как сделать так, чтобы запускалась только одна копия FAR под KDE? Я просто привык пинать любимую программу шорткатом на десктопе, а под линуксом бесит, что глобальный шорткат каждый раз запускает новую копию.
Code: Select all
winClass = window.get_active_class()
window.activate('far2l.Far2l', switchDesktop=True, matchClass=True)
Code: Select all
{
"type": "script",
"description": "Activate Far2l",
"store": {},
"modes": [
3
],
"usageCount": 16,
"prompt": false,
"omitTrigger": false,
"showInTrayMenu": false,
"abbreviation": {
"abbreviations": [],
"backspace": true,
"ignoreCase": false,
"immediate": false,
"triggerInside": false,
"wordChars": "[\\w]"
},
"hotkey": {
"modifiers": [
"<shift>",
"<alt>"
],
"hotKey": "c"
},
"filter": {
"regex": null,
"isRecursive": false
}
}
-
- Posts: 14
- Joined: Fri 22 Oct, 2021 11:38
Far2Linux - запуск одной копии
Спасибо, это, наверное, то что надо. Единственное что, т.к. с питоном у меня очень плохо, можно ли попросить модернизировать скрипт так, чтобы при отсутствии окна оно запускало FAR? А если он уже запущен, то отрабатывал бы приведенный выше фрагмент кода. Спасибо.Michael Lukashov wrote: ↑Sat 23 Oct, 2021 02:36 Я пользуюсь для такой задачи autokey. Для этого надо создать скрипт
-
- Posts: 14
- Joined: Fri 22 Oct, 2021 11:38
Far2Linux - запуск одной копии
в итоге самым вкусным от autokey оказались исходники класса window
всё работает, спасибо.
всё работает, спасибо.
Code: Select all
#/bin/sh
if wmctrl -l -x | grep far2l.Far2l
then wmctrl -R far2l.Far2l -x
else
far2l &
fi
Far2Linux - запуск одной копии
с xdotool ещё можно как-то так:
Code: Select all
if xdotool search --onlyvisible --class far2l; then xdotool search --class far2l windowactivate --sync; else $(far2l &); fi