
Я использую Xfce с Kde Plamsa5 в качестве оконного менеджера. Я больше не могу открыть настройки окна Xfce, а только системные настройки KDE. Я не могу найти опцию автоматического фокусирования на вновь созданных окнах.
Когда я открываю новое окно, фокус остается на предыдущем окне, но я хочу, чтобы новое окно автоматически открывалось и фокусировалось.
решение1
Это "предотвращение кражи фокуса" в настройках окна Kwin. Если установлено значение "средний", то вновь открываемые окна автоматически получают фокус.
решение2
Чистое решение
Я не использую плазму, поэтому не могу разобраться, что является причиной проблемы. Нет нужды объяснять, что устранение причины было бы «самым чистым» решением.
Если это кажется невозможным, и вы хотите использовать эту комбинацию, вы можете использовать повязку ниже, чтобы заставить ее работать. Решение — чрезвычайно «легкий» фоновый скрипт, следящий за вновь созданными окнами, поднимающий их, если они появляются.
Как использовать
Скрипт использует
wmctrl
sudo apt-get install wmctrl
Скопируйте скрипт ниже в пустой файл, сохраните его как
raise_window.py
Проверьте запуск из терминала командой:
python3 /path/to/raise_window.py
Откройте несколько приложений и посмотрите, открываются ли их окна автоматически.
- Если все работает нормально, добавьте его в автозагрузку приложений: Dash > Автозагрузка приложений > Добавить команду.
Сценарий
#!/usr/bin/env python3
import subprocess
import time
import os
get = lambda cmd: subprocess.check_output(cmd).decode("utf-8").strip()
curr_1 = get(["wmctrl", "-l"]).splitlines()
while True:
try:
curr_2 = get(["wmctrl", "-l"]).splitlines()
new = [w for w in curr_2 if not w in curr_1]
for w in new:
w = w.split()[0]
command = "wmctrl -ia "+w
subprocess.Popen(["/bin/bash", "-c", command])
except:
pass
curr_1 = curr_2
time.sleep(1)