Como posso parar o reposicionamento de janelas depois de acordar os monitores?

2

Eu tenho um laptop com configuração de vários monitores, um é HDMI e o outro é VGA. Eu tenho a configuração de economia de energia definida para escurecer a tela após 5 min e desligar a tela após 10 min, com suspensões definidas para nunca. Eu bloqueio meu PC e depois que 10 passaram, quando eu re-login todas as janelas abertas se moveram para a tela do laptop! Eu gostaria de manter todas as janelas no lugar sem ter que reordená-las cada vez. Existe uma solução para isso?

Informações do sistema:

  • Item da lista

  • SO: Kubuntu 18,04 64 bits

  • Versão do Plasma do KDE: 5.12.6
  • Placa Gráfica: Intel Corporation Skylake GT2 [Gráficos HD 520] (rev 07)
por Waqleh 03.09.2018 / 13:22

1 resposta

2

Use este shellscript simples antes e depois da suspensão:

#!/bin/bash
# Get the coordinates of the active window's
#    top-left corner, and the window's size.
# This can be saved & loaded

getpos(){
    wmctrl -l -G > /dev/shm/winposs
}
setpos(){
    while read -r id g x y w h host app;do
        IFS=" ," read ta tb a b c d <<<$(xprop -id "$id" _NET_FRAME_EXTENTS 2>/dev/null)
        [ -z $d ] && continue
        wmctrl -i -r $id -e "$g,$((x-$d)),$((y-$c)),$((w+$d+$b)),$((h+$c+$a))" 2>/dev/null
    done < /dev/shm/winposs
}

case $1 in
    get) echo getting window positions
         getpos
    ;;
    set) echo setting window positions
         setpos
    ;;
    run) getpos
         shift
         ${@}
         setpos
    ;;
    *) echo "Usage: ${0##*/}"' [get|set|run <command>]'
    ;;
esac
    
por 03.09.2018 / 14:30