Ich hab es selbst damit noch nicht fertig umgesetzt, ich weiß aber das irgendwo im Netz noch ein besseres Beispiel rumgeistert, ich weiß nur nicht mehr wo.
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Fullscreen ist ein sehr leidiges Thema, mit dem wir uns auch in Pythonic Universe auseinander setzen müssen. Gerade, sobald man über mehrere Bildschirme spannen will, wird es echt widerlich.
Normalen Fullscreen bekommt man sauber über den _NET_WM_STATE-Hint. Wenn man über mehrere Monitore will, braucht man _NET_WM_FULLSCREEN_MONITORS, was bei den meisten verbreiteten Fenstermanagern nicht richtig funktioniert (Problem ist aber auch, erstmal korrekten Code dafür zu schreiben, wenn man nicht wirklich in X11 drin steckt).
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
Lord Horazont hat geschrieben:
Normalen Fullscreen bekommt man sauber über den _NET_WM_STATE-Hint.
Ah, stimmt. Die Beschäftigung damit liegt bei mir etwas zurück, da hab ich etwas durcheinandergeworfen. XRandr brauchte man, wenn das Vollbildfenster eine andere Auflösung haben sollte als der Bildschirm ursprünglich hatte.
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
darkinsanity hat geschrieben:
XRandr brauchte man, wenn das Vollbildfenster eine andere Auflösung haben sollte als der Bildschirm ursprünglich hatte.
Nicht nur dafür. xrandr bietet (mit xinerama) überhaupt erstmal die Informationen über die verfügbaren Displays (Größe, Anordnung, …).
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Falls dieser Thread noch jemanden interessiert, wir haben es inzwischen hinbekommen, unter EWMH-konformen Fenstermanagern Fullscreen zu erzeugen. Der Code dazu ist hier bzw der Header mit den Docs hier.
grüße Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Also, wenn ich mir das hier so anschau... Ich habe bei mir X11-Code drin, den brauche ich eigentlich jetzt tagtäglich, weil ich mich nur mehr in Linux aufhalte. Ist haupsächlich dazu da, um Opengl zum Laufen zu bringen, aber in paar andere Dinge auch - z.B. habe ich damals das Copy/Paste von Text implementiert (z.B. GEdit=>MeinProgramm und umgekehrt), was ganz schön haarig war und ich habe ziemlich viel im Internet stochern müssen, um das hinzukriegen. Ich weiß nicht, ob es eine neuere Variante davon gibt, aber die, die ich benutzen musste, war schrecklich umständlich. Wenn Ihr Interesse habt, kann ich meinen Sourcecode für X11 zur Verfügung stellen - ist aber natürlich Free Pascal, Delphimode.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hey Traude,
Das wäre vielleicht garnicht so schlecht. Vorallem die Clipboards wollten wir eigentlich auch noch haben, da ist eine Codereferenz sicherlich hilfreich. Vielleicht haben wir aber auch eine neuere Variante, ich weiß nicht so genau (ich mache das X11 interface nicht, das macht jemand anders ).
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
OK, ich häng es hier einfach rein. Es sind drei Dateien: ein OsSupport.pas, das ist die Hauptdatei, die das Interface definiert und zwei Includes dazu. Der Hauptteil des X11-Code befindet sich in OSSupportX11.inc. Ich hoffe, es hilft. Viele Grüße Traude
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
So, um auch mal etwas beizutragen: Ich habe es heute Nacht geschafft fullscreen-support für X11 in meine Fenster-Klasse einzubauen. Ich benutze dazu "_NET_WM_STATE" und XRandR, mit dem die aktuelle Auflösung gesichert und im Destruktor wiederhergestellt wird. Hab es auch gleich mal mit KDE unter Linux Mint 12 getestet und es hat funktioniert Da ich mir denken kann dass es auch andere hier interessiert, gibt es hier den Code und hier den Header. Abhängigkeiten sind eben die Libraries X11, Xrandr und ich verwende in der Klasse auch glew.
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hat sich schon irgendwer Gedanken über das Problem gemacht, dass der X-Server bei unterschiedlichen Auflösungen eine unterschiedliche Anzahl von Bildschirmen aktiv haben kann? Bei mir zum Beispiel sind bei 2560x1024 beide Bildschirme aktiv, darunter aber nur einer. Zu allem überfluss weiß davon bei mir nur Xinerama, xrandr hat keine idee davon (es kennt zwar die Auflösungen, hält es aber für einen großen Bildschirm; nvidia twinview halt).
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.