zur Übersicht

nächste Seite


Programmfenster Fensterposition

Die Ausführungen der vorherigen Seiten über Programmfenster werden hier weitergeführt.
Generell gilt bei den weißen Textstellen auf dieser Seite: Man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals ein - dann drückt man die Eingabetaste. 
Oder man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Editors ein.  
Dann drückt man zum Abspeichern gleichzeitig Strg und O 
dann drückt man die Eingabetaste um den Dateinamen zu bestätigen 
dann drückt man zum Verlassen des Editors gleichzeitig Strg und X.


SuperLinks ist die Windows-Taste links unten zwischen Strg und Alt

Hat man ein aktives Fenster so kann man mit den Tasten
SuperLinks+PfeilRechts
das Fenster auf die rechte Hälfte des Bildschirmes verschieben. Entsprechend kann man mit 
SuperLinks+PfeilLinks
ein anderes Fenster auf die linke Hälfte des Bildschirmes verschieben. Man erreicht dadurch eine vertikale Zweiteilung des Bildschirmes. Man kann sich fragen wie es mit anderen Fensterpositionen aussieht.
Dazu wird ein zenity-Fenster erzeugt auf dem man Positionen auswählen kann

Bevor man dieses zenity-Fenster aufruft muß man ein zu verschiebendes Fenster in den Vordergrund holen, egal ob es bildschirmfüllend ist oder nicht, siehe dazu: 
Mein Weg zu Debian 8 Jessie Gnome (Teil1)
ganz unten. Der Cursor blinkt dann in dem ausgewählten Fenster. Dann drückt man die für das zenity-Fenster eingerichtete Tastenkombination Alt+W (W für Window). Es öffnet sich obiges zenity-Fenster indem man die Position auswählen kann. Nach Doppelklick auf die gewünschte Position wird das aktive Fenster an diese Position verschoben. Beispiele dazu





Für das script braucht man das Programm wmctrl das eine genaue Positionierung der Fenster ermöglicht. Man startet Synaptic und sucht das Paket wmctrl und installiert dieses. Dann beendet man Synaptic. Es wurden im script Zeitpausen eingebaut damit das zenity-Fenster geschlossen werden kann (und nicht als aktives Fenster ausgewählt wird) und damit die erste Fenster-Operation ausgeführt werden kann bevor die zweite Fenster-Operation beginnt. Es kann sein daß Sie diese Zeitpausen vergrößern müssen (wenn die Fensterverschiebung nicht erfolgt). Das script wird hier in ~/Bla abgelegt aber Sie können Ihren Ordner für scripte benutzen.

nano ~/Bla/FensterPOSITION.sh

Eingabe in den Editor

#!/bin/bash

BBreit=$(xdpyinfo | grep 'dimensions' |tr -s ' ' | sed 's/ /#/g' | sed 's/x/#/g' | cut -f 3 -d '#')

BHoch=$(xdpyinfo | grep 'dimensions' |tr -s ' ' | sed 's/ /#/g' | sed 's/x/#/g' | cut -f 4 -d '#')

BBhalbe=$(echo $BBreit/2 | bc)

BHhalbe=$(echo $BHoch/2 | bc)

szZW=$(zenity --list --ok-label "Fenster ändern" --cancel-label "BEENDEN" --title "Fenster verschieben" --text "Auswahl" --hide-header --column "" "__OBEN__" "__UNTEN__" "OBEN LINKS____________" "____________OBEN RECHTS" "UNTEN LINKS____________" "____________UNTEN RECHTS" --width=180 --height=340 2> /dev/null)

if [ $? -eq 1 ]; then

exit

fi

if [ "$szZW" = "__OBEN__" ]; then

sleep 0.5s ; wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
sleep 0.5s ; wmctrl -r :ACTIVE: -e 0,0,0,$BBreit,$BHhalbe

elif [ "$szZW" = "__UNTEN__" ]; then

sleep 0.5s ; wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
sleep 0.5s ; wmctrl -r :ACTIVE: -e 0,0,$BHhalbe,$BBreit,$BHhalbe

elif [ "$szZW" = "OBEN LINKS____________" ]; then

sleep 0.5s ; wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
sleep 0.5s ; wmctrl -r :ACTIVE: -e 0,0,0,$BBhalbe,$BHhalbe

elif [ "$szZW" = "____________OBEN RECHTS" ]; then

sleep 0.5s ; wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
sleep 0.5s ; wmctrl -r :ACTIVE: -e 0,$BBhalbe,0,$BBhalbe,$BHhalbe

elif [ "$szZW" = "UNTEN LINKS____________" ]; then

sleep 0.5s ; wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
sleep 0.5s ; wmctrl -r :ACTIVE: -e 0,0,$BHhalbe,$BBhalbe,$BHhalbe

elif [ "$szZW" = "____________UNTEN RECHTS" ]; then

sleep 0.5s ; wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
sleep 0.5s ; wmctrl -r :ACTIVE: -e 0,$BBhalbe,$BHhalbe,$BBhalbe,$BHhalbe

fi

Nun muß man die Datei ausführbar machen

chmod +x ~/Bla/FensterPOSITION.sh

Um damit gut arbeiten zu können verwendet man zum Starten dieses scriptes am besten eine Tastenkombination, vielleicht
Alt+W
Das Vorgehen der Zuordnung einer Tastenkombination ist beschrieben auf

Debian Gnome (Teil2) Terminal

Erläuterung zum script: Zunächst wird die Breite und Höhe des Bildschirmes in pixel bestimmt. Dazu kann man aufrufen

xdpyinfo

Nun werden damit sehr viele Informationen ausgegeben und es stellt sich die Frage wie man an das Gesuchte herankommt. Als erstes kann man die Ausgabe-Info auf eine Zeile reduzieren. Man braucht einen Suchbegriff der sonst in den vielen Informationen nicht vorkommt und verwendet grep um nach diesem Suchbegriff zu filtern

xdpyinfo | grep 'dimensions'

In der Ausgabe sind mehrfache Leerzeichen enthalten, die jetzt auf eines reduziert werden

xdpyinfo | grep 'dimensions' | tr -s ' '

Nun werden mit sed die Leerzeichen und das Zeichen x durch ein sonst nicht vorkommendes Trennzeichen ersetzt

xdpyinfo | grep 'dimensions' |tr -s ' ' | sed 's/ /#/g' | sed 's/x/#/g'

Das Trennzeichen # zerlegt diese Zeile in Felder die jetzt mit cut einzeln aufgerufen werden können. Nachdem Breite und Höhe des Bildschirmes bestimmt wurden werden jeweils die Hälfte davon berechnet. 
Wenn das aktive Fenster bildschirmfüllend ist, kann es nicht verschoben werden. Deshalb wird wmctrl zunächst aufgerufen um "bildschirmfüllend" zu entfernen. In einem zweiten Schritt wird das Fenster dann an die gewünschte Position verschoben.


Braucht man eine übersichtliche Positionierung von vielen Fenstern so kann man das Programm
x-tile
installieren, z.B. über synaptic. Es bietet eine graphische Oberfläche die einfach zu bedienen ist. Beim Starten des Programmes wird eine Liste der bereits geöffneten Fenster angezeigt. Man kann auswählen welche Fenster angeordnet werden sollen, einige bestimmte oder gleich alle. Es gibt vorbereitete Anordnungsmöglichkeiten und man kann auch eigene Aufteilungsmöglichkeiten in einem Schema hinterlegen - dazu zieht man mit der Maus die Fester in eine passende Anordnung. 

Nach der Anodnung durch x-tile:
Doppelklick auf die obere Leiste eines kleinen Fenster macht dieses bildschirmfüllend und ein erneuter Doppelklick schiebt das Fenster zurück auf die vorherige Anordnungs-Position. 
Interessant ist auch die Möglichkeit alle Fenster (oder einen Teil der Fenster) mit einem Klick zu schließen.  

 

zur Übersicht

nächste Seite