• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Fullscreen-Programm in Fenster zwingen?

A

Anonymous

Gast
Unter wm2 startet Blender automatisch in einem Fenster, obwohl sonst immer Fullscreen. Was mich zu dieser Frage führt:
Gibt es unter einer der grafischen Oberflächen für Linux eine generelle Möglichkeit, ein Programm, das normalerweise immer im Fullscreen-Modus arbeitet, in ein Fenster zu zwingen? (Welche Oberfläche ist mir ziemlich gleich, habe einige installiert.)
Verteilung von Programmen auf verschiedene Desktops ist eine Ersatzlösung, aber leider nicht ideal.

Danke im Voraus.

Falls die Frage schonmal gestellt und beantwortet wurde, entschuldige ich mich, habe ich mit der Suchfunktion nicht gefunden.
 
OP
A

Anonymous

Gast
Hallo,

du kannst es unter KDE steuern:

rechts-klick auf die Titelleiste des Fensters (oder Alt+F3 bei dem aktiven Fenster) -> Erweitert -> Einstellung für
spezielle Fenster. Unter Geometrie u. Persönliche Einstellungen kannst du es einstellen. Habe so z. B. SIM dazu gezwungen ohne Rahmen zu starten. Aber du siehst dort so einige Einstellungen ...
Hoffe das hilft dir ein wenig weiter.

Gruss

Borusse-KLE
 
OP
A

Anonymous

Gast
Habe es an der FH (SuSE 9.2) einmal hinbekommen. Leider habe ich nicht verstanden wie, also war es eine Eintagsfliege, :? aber das kann ich ja noch lernen.
Mein eigenes KDE (3.1.4, SuSE 9.0) ist vermutlich zu alt, jedenfalls bietet es diese Funktionalität nicht in diesem Menu. Ich finde einige "Features" von KDE ab Version einfach zum Reihern, deswegen möchte ich das lieber nicht updaten.
Gibt es eine Möglichkeit, da irgendwas rumzukonfigurieren, oder irgendeinen Trick, so daß mein altes das auch tut? Einen Konsolenbefehl nehme ich auch gerne. :)
 
OP
A

Anonymous

Gast
Einige Programme haben spezielle configdateien in denen dann meist die letzte Position und Größe gespeichert wird.
Aber ich erkläre dir das mal am Beispiel von xterm.
xterm --help zeigt dir alle Parameter die xterm versteht. darunter auch [-geometry geom] mit xterm -help erhalte ich dann schon genauere infos
Code:
 %geom                        Tek window geometry
 #geom                        icon window geometry
 -geometry geom               size (in characters) and position
so und jetzt machen wir mal ein xterm auf und Ziehen es auf eine ganz bestimmte Größe und an einen ganz bestimmten Ort.
jetzt starten wir mal am besten gleich aus dem Terminal heraus xwininfo und erhalten
Code:
xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.
also klicken wir jetzt in unser speziel zusammengezogene Xterminalfester und erhalten zB
Code:
 Absolute upper-left X:  905
  Absolute upper-left Y:  277
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 266
  Height: 485
  Depth: 24
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +905+277  -109+277  -109-262  +905-262
  -geometry 41x37+903+253
und das sind genau die Eingenschaften unseres Fensters. Jetzt schauen wir mal in die letzte Zeile -geometry 41x37+903+253
-geometry ??? da war doch was ----- genau
xterm -geometry 41x37+903+253 auf der Konsole oder in einem script abgegeben würde uns das Fenster immer genau an diese Stelle und in dieser Große anzeigen.

Auf diese Art und Weise lassen die meisten Programme in vorbestimmten Größen oder Positionen und anderen Eigenschaften starten.

Einfach mal spielen und ausprobieren.
robi
 
OP
A

Anonymous

Gast
An das mit dem Aufruf mit Parametern hatte ich garnicht gedacht. :)oops:) Mit Blender klappt das dann schonmal gut, danke. :)
Eigentlich wollte ich wissen, was ich machen kann, wenn der Programmierer das Programm für Fullscreen-Modus geschrieben hat und keine Parameter anbietet, um die Fenstergröße einzustellen bzw. den überhaupt in den Fenstermodus umzuschalten. So in der Art wie bei der Antwort von Borusse-KLE, halt das Programm in ein Fenster quetschen, ob es will, oder nicht. :wink:
 
OP
A

Anonymous

Gast
Garry schrieb:
Eigentlich wollte ich wissen, was ich machen kann, wenn der Programmierer das Programm für Fullscreen-Modus geschrieben hat und keine Parameter anbietet, um die Fenstergröße einzustellen bzw. den überhaupt in den Fenstermodus umzuschalten.

Dann müsste sich dieser Programmierer aber sehr viel Arbeit gemacht habe, er müsste dann für sein Programm ganz neue Librarys geschrieben haben :lol:
Alle Programme die ihre Ausgabe auf einem X-Server ausgeben sind Clientprogramme, die ihrerseits vorher gar nicht wissen wie der X-Server auf dem sie dargestellt werden sollen, konfiguriert ist. Sie können maximal Mindestvoraussetzungen wie zB Farbtiefe und mindest Auflösung abfragen und bei unterschreiten rummeckern, ansonsten kann ich ihnen vorgaugeln was ich will, das Clienprogramm muss das glauben und sich darauf einstellen was ihm das X-Protokoll vom X-Server übermittelt wird, und das ist in den Librarys so definiert, das das an jedes Programm zB mit Befehlsparametern zu ändern oder vorgeben werden kann.
Also mit ein paar Tricks sollte fast alles möglich sein, zB die gesammte KDE beim Start in ein Fenster zwingen, usw

robi
 
OP
A

Anonymous

Gast
Genau diese theoretische Überlegung :idea: war der Grund für diesen Thread.
:arrow: Also: Wie geht das jetzt?
 
OP
A

Anonymous

Gast
Ich möchte dir die Antwort nicht schuldig bleiben.
Also angenommen bei einem scheinbar unlösbaren Problem zB. KDE größer Version 3.0 in einem eigenem Fenster starten, muss man sich schon was einfallen lassen.
Lösung nennt sich Xnest ich habe noch Suse 9.1 mit XFree86-4.3.99.902-43.28 da muss man das Paket XFree86-Xnest-4.3.99.902-40 nachinstallieren. bei Xorg wird es sicherlich was analoges geben.
Xnest startet einen virtuellen X-Server in einem Fenster auf dem aktuellem X-Server mit dem Befehl Xnest :1 & , mit export DISPLAY=localhost:1 lenke man dann die Ausgabe auf diesen virtuellen Xserver um und startet mit startkde eine komplette KDE-Umgebung auf dem virtuellen X-server und hat damit eine KDE innerhalb einer KDE. Statt einer KDE kannst du auch jedes andere Programm auf diesem X-Server starten. Du kannst den virtuellen X-Server dann samt den darin gestartete Fenster minimieren und auf dem echtem X-Server verschieben.

ich hoffe das reicht dir als Antwort.
siehe auch hier. http://www.knebler.de/TIPS-Linux/Tip71-Xserver_in_einem_Fenster_starten.php3
 
OP
A

Anonymous

Gast
Suppi! Genau so eine Antwort wollte ich. Danke. Frage beantwortet.

Falls noch jemand mit neuerem Linux als der 9.1 dieses seltene Problem hat: Xnest gibt es auch für SuSE 9.2 und 9.3 (auch als 64-Bit-Version).
 
Oben