Hallo!
Ich suche nach einer Möglichkeit mein Perl/Tk Programm unter Unix auf Vollbild laufen zu lassen ohne den Rahmen.
Außerdem soll es dem Benutzer nicht mehr möglich sein das Fenster zu schliessen, zu minimieren...
Dazu habe ich bisher leider nur die Funktion overrideredirect gefunden, die verhindert aber leider auch dass der Benutzer Tastatureingaben machen kann.
Wär toll wenn mir da jmd nen Tip geben koennte.
Danke schonmal!
User since
2003-08-04
5246
Artikel
ModeratorIn
das klingt Betriebssystemabhaengig...
User since
2003-08-07
2921
Artikel
BenutzerIn
Muss es unbedingt Tk sein? Mit SDL hast du in diesem Bereich (soweit ioch das bis jetzt beurteilen kann) die totale Kontrolle.
User since
2003-11-28
3645
Artikel
ModeratorIn
Probier mal grab, grabGlobal und/oder focus. Dann sollten auch Tastatureingaben funktionieren.
User since
2006-02-16
3
Artikel
BenutzerIn
Danke erstmal! :)
Hab das Programm in Tk ansonsten fertig, muss jetzt also Tk sein.
Soll dann unter Unix mit oder ohne dem X laufen.
Die Kombunation grabGlobal und focus werd ich nochmal versuchen!
Ansonsten könnte ich mich auch mit dem Rahmen abfinden, wenn ich den Benutzer daran hindern könnte das Fenster mit der Maus zu verschieben.
Die Schliessen-Buttons und so kann man ja abfangen.
User since
2006-02-16
3
Artikel
BenutzerIn
Grab(none, local, global) und focus funktioniert leider bei mir nicht :(
Der Text-Entry blinkt zwar, Texteingaben sind aber nicht möglich.
User since
2003-11-28
3645
Artikel
ModeratorIn
Zeig mal dein Skript, ich denke, das müsste funktionieren.
Und Tk kann ohne X gar nicht laufen. Du meinst wohl ohne Windowmanager?
User since
2003-08-04
14371
Artikel
ModeratorIn
Das hier funktioniert bei mir:
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $mw = tkinit();
$mw->Entry()->pack();
$mw->grabGlobal();
MainLoop;
Der User kann zwar das Fenster nicht mehr schließen, minimieren oder verschieben, aber Texteingaben sind noch möglich...
Perl: 5.8.6 (ActiveState)
Tk: 804.027
OS: WinXP
User since
2006-02-16
3
Artikel
BenutzerIn
Danke! :) :) :)
Jetzt klappts bei mir!
Muss zwar vor dem grabGlobal noch nen $mw->update setzen (sonst krieg ich ne Fehlermeldung "grab failed: window not viewable") aber sonst läufts super!
Glaub mein Fehler war das grabGlobal nicht unmittelbar vor den MainLoop zu setzen.