web-dev-qa-db-fra.com

Autoriser les fenêtres à chevaucher le panneau en haut ou en bas

Je veux souvent avoir juste le haut ou le bas d'une fenêtre à l'écran. Je ne veux pas qu'un programme engloutisse tout l'écran. Par exemple, je dois faire référence à un calcul affiché au bas d'une grande fenêtre. Pour faire référence à ce calcul, puis écrire à ce sujet dans une autre fenêtre, je souhaite repositionner le calcul de sorte que seule la partie inférieure de la fenêtre de calcul soit affichée. (Je n'ai pas besoin de voir sa barre de titre ni ses menus déroulants, ni même les deux premiers tiers du panneau de calcul).

À l'heure actuelle, pour autant que je sache, tous les "bureaux" de Linux appliquent une restriction rendant impossible le repositionnement d'une fenêtre de sorte qu'elle soit à moitié séparée de l'écran en haut ou en bas.

À l'époque dorée des gestionnaires de fenêtres (WindowMaker était génial!), Ce n'était pas un problème. Autant que je me souvienne, il n'y avait aucune "frontière" imposée protégeant les panneaux. Le problème a commencé avec Gnome et KDE, si je me souviens bien. Lorsque Compiz est arrivé, il a imposé une stratégie selon laquelle une fenêtre ne pouvait pas être repositionnée de manière à ce que sa barre de titre ne soit plus affichée, mais ccsm disposait d'une option permettant à un utilisateur impatient de la modifier (appelée "contrainte-Y", si je me souviens bien). Lorsque j'ai commencé à utiliser des systèmes basés sur OpenBox et XFWM4, j'ai raté cette possibilité.

Il me semblait que les auteurs des panels protégeaient la primauté de leur produit de manière trop agressive. Je n'ai simplement pas besoin de voir les panneaux Gnome ou XFCE4 quand je suis en train d'écrire quelque chose.

Edit: J'ai fait une capture d'écran en tapant la réponse au commentaire ci-dessous. Vois ici: Screenshot with bottom part of Firefox showing

1
pauljohn32

Il y a quelque temps, j'ai trouvé une solution que je souhaite partager. Ceci utilise wmctrl, un programme disponible pour Debian/Ubuntu qui peut interagir avec n’importe quel gestionnaire de fenêtre X compatible EWMH/NetWM. Je réussis avec cela dans OpenBox, XFWM4 et tout autre gestionnaire de fenêtres conforme aux normes NetWM.

Voici un script bash de 2 lignes que j'appelle `` togglePanelBelow.sh

#!/bin/bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b remove,above"}' | bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b add,below"}' | bash

Cela permet aux fenêtres ordinaires d'être repositionnées de manière à ce qu'elles chevauchent le panneau.

Ceci utilise wmctl pour répertorier les fenêtres existantes, les filtres pour celles avec "panneau" dans le nom, puis utilise à nouveau wmctrl pour indiquer à ces panneaux de se placer sous la pile de fenêtres. Il y a deux étapes car, en 2015, le script a cessé de fonctionner car les propriétés ne pouvaient pas être modifiées. Ils doivent être supprimés puis réinitialisés.

Si vous décidez que vous souhaitez voir le panneau au-dessus des fenêtres ordinaires, comme auparavant, exécutez togglePanelAbove.sh.

#!/bin/bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b remove,below"}' | bash
wmctrl -l | grep panel |  awk '{print "wmctrl -v -i -r " $1 " -b add,above"}' | bash

Si vous positionnez une fenêtre à moitié sur l'écran, puis exécutez togglePanelAbove, le panneau recouvre la fenêtre.

J'ai configuré les touches de raccourci pour cela et cela n'a jamais causé de problèmes.

Ce n’est pas vraiment une question, mais juste un "regard sur cette belle chose que j’ai trouvée". Peut-être une question serait: cela fonctionne-t-il dans le gestionnaire de fenêtres que vous avez choisi? Pouvez-vous confirmer que tout va bien dans OpenBox et XFWM4, qu'en est-il des autres? Je n'ai pas eu d'enthousiasme pour le tester dans Enlightenment, par exemple.

2
pauljohn32