[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: C Fensterverwaltung



On 29.10.2013 10:31, Peter Funk wrote:
Hallo Volker,

Volker Weißmann schrieb am Dienstag, den 29.10.2013 um 10:10:
On 28.10.2013 20:14, Volker Weißmann wrote:
Hallo,
ich bin momentan daran ein Programm in C zu Programmieren.
Das Programm soll an einer Stelle ein bestimmtes Programm im
Vordergrund rücken ( also wie bei alt+tab), Programme minimieren,
und Programme auf eine andere Arbeitsfläche verschieben.
Leider konnte ich auch durch Google nicht herausfinden wie dies
funktioniert.
Könnte mir jemand die Befehle/Codezeilen sagen, mit dem man das
machen kann?

Weißmann


Ich glaub meine Frage wurde nicht ganz verstanden.
Mein Programm hat weder eine Grafische Oberfläche, noch interagiere
ich mit ihm über die Konsole.
Ich starte es, und dann bleibt es offen bis zum nächsten
herunterfahren (wenn ich es zwischendurch beenden will, kann ich es
im Zweifel auch abschießen).
2 ANDERE Programme(nicht von mir geschrieben) sind auch offen.  Mein
Programm soll erst herausfinden welches im Vordergrund ist, dann
dieses auf eine andere Arbeitsfläche verschieben.
Aber die beiden anderen Programme laufen in einer grafischen
Oberfläche mit mehreren Arbeitsflächen, weil sonst würdest Du
die Frage nicht so stellen.  Richtig?  Welche grafische Oberfläche?
Welcher Fenster-Manager wird benutzt?

Debian Linux bietet dafür eine Vielzahl von verschiedenen
Möglichkeiten an.  Der Standard schreibt nicht vor, wie die
Window-Manager die Stapel-Anordnung und virtuelle Arbeitsflächen
realisieren:

   Layered stacking order

   Some window managers keep the toplevel windows not in a single
   linear stack, but subdivide the stack into several layers. There
   is a lot of variation among the features of layered stacking order
   implementations. The number of layers may or may not be fixed. The layer
   of a toplevel window may be explicit and directly modifiable or derived
   from other properties of the window, e.g. the type of the window. The
   stacking order may or may not be strict, i.e. not allow the user to
   raise or lower windows beyond their layer.

Quelle: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idp3324160

Vielleicht hilft es dir, wenn Du Dir das Programm „wmctrl“ anschaust,
um zu sehen, ob Du damit Dein Ziel erreichst?

Mit wmctrl -l bekommst Du eine Liste aller Fenster mit ihrer id.
Mit wmctrl -r <WIN> -t <DESK> kannst Du ein Fenster auf eine andere
Arbeitsfläche verschieben.  (Dazu musst Du natürlich die Nummern
von Fenster und Arbeitsfläche kennen, um sie in dieses Kommando
einsetzen zu können)
Hat nicht funktioniert.
nachtschatten@box:~$ wmctrl -l
bash: wmctrl: Kommando nicht gefunden.
nachtschatten@box:~$


Viele Grüße, Peter.
Fenstermager:
Ich hab auf meinem Laptop Debian mit Gnome ausweichmodus. Ich habe nie meinen Fenstermanager oder Desktop geändert. Der Fenstermanager ist meines Wissens metacity, denn er wenn ich den Prozess metacity abschieße, verschwindet die Leiste von Programmen mit minimieren, maximieren und schließen, und ich kann nicht mehr alt + tab verwenden.

Weißmann


Reply to: