Hatred's Log Place

DON'T PANIC!

Mar 8, 2020 - 2 minute read - Linux

KDE: WA для возврата окон на главный экран при подключении внешнего монитора

Суть проблемы, если коротко, в том, что подключая внешний монитор к ноутбуку в том случае, если он логически расширяет экран влево (находится левее основного экрана), то все открытые окна с экрана ноутбука перемещается на вновь подключенный экран.

Вообще, проблема актуальна не только для ноутбука, но частое подключение и отключение мониторов более присуще именно ноутбукам.

Решения проблемы не существует на данный момент. Ну… или я его не нашёл. Но буквально сегодня разыскал занимательный хак, как вернуть окна, если они прыгнули на левый (в прямом и переносном смысле) монитор:

Под катом сохраню копию, на всякий случай. Вообще, как грубое решение в лоб работает. Повесил на горячую клавишу Super+P.

#!/bin/bash

RULEFILE="$HOME/.config/kwinrulesrc"

cp $RULEFILE $RULEFILE.bak

KGROUPNUM=$(kreadconfig5 --file $RULEFILE --group "General" --key count)

let KGROUPNUM++

kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key Description 'Moves Windows to Screen'
kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key screen 0
kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key screenrule 2
kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key types 505
kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key wmclass '^((?!lattedock).)*$'
kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key wmclasscomplete 'false'
kwriteconfig5 --file $RULEFILE --group "${KGROUPNUM}" --key wmclassmatch 3
kwriteconfig5 --file $RULEFILE --group "General" --key count ${KGROUPNUM}

sleep 3

qdbus org.kde.KWin /KWin reconfigure

sleep 6

mv $RULEFILE.bak $RULEFILE

sleep 1

qdbus org.kde.KWin /KWin reconfigure

Tags: Linux KDE

Длинные выходные на Камчатке platform_device subdevice

comments powered by Disqus