Xfce с Kde Plasma 5: Как автоматически сфокусироваться на вновь созданных окнах?

Я использую Xfce с Kde Plamsa5 в качестве оконного менеджера. Я больше не могу открыть Настройки окна Xfce, кроме Системных настроек KDE. Я не могу найти опцию, чтобы автоматически сосредоточиться на вновь созданные окна.

Когда я открываю новое окно, фокус остается на том окне, в котором он был раньше, но я хочу, чтобы новое окно поднималось и фокусировалось автоматически.

2 ответа

Это "предотвращение кражи фокуса" в настройках Kwin Window. Если установлено "среднее", вновь открытые окна получают фокус автоматически.

Чистый раствор

Я не пользуюсь плазмой, поэтому не могу понять, в чем причина проблемы. Не нужно объяснять, что устранение причины будет "самым чистым" решением.

Если это кажется невозможным, и вы хотите использовать эту комбинацию, вы можете использовать повязку ниже, чтобы она заработала. Решением является чрезвычайно "легкий" фоновый скрипт, следящий за вновь созданными окнами, поднимающий их, если они появляются.

Как пользоваться

  1. Скрипт использует wmctrl

    sudo apt-get install wmctrl
    
  2. Скопируйте приведенный ниже скрипт в пустой файл и сохраните его как raise_window.py

  3. Протестируйте его из терминала командой:

    python3 /path/to/raise_window.py
    

    Откройте некоторые приложения и посмотрите, автоматически ли открываются их окна.

  4. Если все работает нормально, добавьте его в свои автозагрузки: 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)
Другие вопросы по тегам