Xfce с Kde Plasma 5: Как автоматически сфокусироваться на вновь созданных окнах?
Я использую Xfce с Kde Plamsa5 в качестве оконного менеджера. Я больше не могу открыть Настройки окна Xfce, кроме Системных настроек KDE. Я не могу найти опцию, чтобы автоматически сосредоточиться на вновь созданные окна.
Когда я открываю новое окно, фокус остается на том окне, в котором он был раньше, но я хочу, чтобы новое окно поднималось и фокусировалось автоматически.
2 ответа
Это "предотвращение кражи фокуса" в настройках Kwin Window. Если установлено "среднее", вновь открытые окна получают фокус автоматически.
Чистый раствор
Я не пользуюсь плазмой, поэтому не могу понять, в чем причина проблемы. Не нужно объяснять, что устранение причины будет "самым чистым" решением.
Если это кажется невозможным, и вы хотите использовать эту комбинацию, вы можете использовать повязку ниже, чтобы она заработала. Решением является чрезвычайно "легкий" фоновый скрипт, следящий за вновь созданными окнами, поднимающий их, если они появляются.
Как пользоваться
Скрипт использует
wmctrl
sudo apt-get install wmctrl
Скопируйте приведенный ниже скрипт в пустой файл и сохраните его как
raise_window.py
Протестируйте его из терминала командой:
python3 /path/to/raise_window.py
Откройте некоторые приложения и посмотрите, автоматически ли открываются их окна.
- Если все работает нормально, добавьте его в свои автозагрузки: Dash > Startup Applications > Add the command.
Сценарий
#!/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)