programa wrapper para a janela do aplicativo reparável sem janelas

1

Estou usando o ambiente de área de trabalho Cinnamon (no Debian Sid), cujo gerenciador de janelas não tem opção para, digamos assim, undecorar uma janela de aplicativo.

Como eu vejo que vários programas conseguem dizer ao gerenciador de janelas acima que eles fornecerão frames e whatsnot sozinhos (por exemplo, google chrome), gostaria de saber se existe, ou pode ser escrito, um wrapper para ser chamado assim

$ noframes mupdf my16:9slides.pdf

que começa, diz ao gerenciador de janelas para não se preocupar com quadros etc, inicia minha aplicação e repara isso.

O benefício (talvez marginal) é que a proporção da janela, no meu exemplo, será mais aproximadamente igual a 16: 9 e a janela caberá quase exatamente no espaço disponível ao usar o zoom para o recurso de tela de 1/4.

PS: do meu .twmrc

NoTitle {"mupdf" ...}
    
por gboffi 06.04.2016 / 14:06

2 respostas

1

Pode ser que você possa desativar / ativar sua barra de título com este código:

#!/usr/bin/python2
from gtk.gdk import *

w=window_foreign_new((get_default_root_window().property_get("_NET_ACTIVE_WINDOW")[2][0])

if w.get_decorations() == 0 :
    w.set_decorations(DECOR_ALL)
else:
    w.set_decorations(0)

window_process_all_updates()

Ele vem de esta essência . Isso é baseado neste post sobre remoção de decoração em WMs específicos .
Como mencionado no artigo, você pode criar um atalho para remover a decoração das janelas nas quais está interessado.

Nos Cinnamon Keyboard Shorcuts, ligue uma sequência (eu uso Super+U ) a esse script, desde que seja executável e no seu PATH . Em uma janela ativa, clique na sequência e ela removerá a decoração. Bata de novo e ele voltará.

    
por 26.11.2017 / 23:58
1

Não tenho instalação para testar isso, mas parece que pode haver uma extensão "Cinnamon Maximus" que remove decorações de janelas de tela inteira, se o aplicativo puder ir para tela cheia, embora com bordas.

Como alternativa, você pode tentar algo radical, como configurar o sinalizador de overrideredirect da janela. Isso pede ao gerenciador de janelas para não gerenciar a janela. Em seguida, re-parenting a janela para a janela raiz. Cuidado, você pode não conseguir sair desse modo de tela cheia, então certifique-se de sair do aplicativo de alguma forma.

Por exemplo, execute xlogo, obtenha o id da janela raiz e use xdotool para alterar a configuração do xlogo:

$ xlogo &
$ xwininfo -root | grep id:
xwininfo: Window id: 0xc1 (the root window) (has no name)
$ xdotool search xlogo  set_window --overrideredirect 1  windowreparent 0xc1
    
por 06.04.2016 / 17:45