Hallo zusammen,
ich habe eine Frage: wie kann ich ein Fenster im Hintergrund anzeigen lassen?
Viele Grüße
Vladimir
Hallo ptk,
danke für deine Antwort!
Es klappt soweit ganz gut, nur habe ich folgendes Problem: eigentlich ging es mir darum das Fenster so aufzumachen, dass es nicht automatisch den Tastaturfokus bezieht, so dachte ich mir, wenn ich das Fenster im Hintergrund aufmachen würde, es nicht den Tastaturfokus bekommt. Dem ist es aber nicht so.
Meine weitere Frage lautet also: kann ich ein Fenster so aufmachen, dass es nicht den Tastaturfokus bekommt?
Danke im Voraus!
User since
2007-06-09
575
Artikel
HausmeisterIn
du kannst es ja aufmachen und einem anderem fenster den fokus mit
oder
zurückgeben.
außerdem kannst du bei dem erstellen von widgets den parameter von -takefocus auf 0 stellen. müsste dannn eigentlich klappen..
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
Ich habe das mit "-takefocus=>0" schon versucht, hatte irgendwie keine Auswirkung. "->focus", "->focusForce" kann ich leider nicht benutzen, denn ich nur ein Tk-Fenster habe.
Vielleich soll ich lieber das Szenario schildern:
ich habe einen Perl-Skript was z.B. aus einer Shell-Konsole gestartet wird, das Skript macht zuerst irgendwas dann popt er ein Tk-Fenster hoch. Wenn dieses Fenster hoch kommt entzieht es allen evt. laufenden Programmen (editor etc.) den Tastaturfokus. Das heißt ich will eigentlich so was erreichen, dass dieses Tk-Fenster irgendwo aufgeht und kein Tastaturfokus hat, also keine weitere Anwendungen stört.
Vielleicht hast du ja noch irgendwelche Ideen?
User since
2007-06-09
575
Artikel
HausmeisterIn
hmm, keine ahnung versuch mal ->iconify(), damit kannst du ein tk-fenster minimieren oder verstecken.
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
User since
2003-11-28
3645
Artikel
ModeratorIn
Vielleicht würde ->focusmodel("passive") etwas bringen?
User since
2007-09-24
70
Artikel
BenutzerIn
Hallo,
Shell-Konsole klingt ja nicht nach Windows - falls doch:
use Tk;
my $mw = tkinit;
$mw ->update;
$mw->attributes(-toolwindow => 1,
-topmost => 1);
MainLoop();
Grüße, Christoph
ptk,
die Iconify-Methode macht das schon ganz gut, nur habe ich an dieser Stelle das Problem, dass ein Benutzer dieses Fenster ggf. zu spät sieht, weil sein Arbeitsplatz vielleicht voll mit anderen Applikationen bzw. Shell-Fenstern ist.
Spieler,
das ganze soll unter Linux laufen.
Also langsamm gehen mir auch alle Ideen aus...
Aber vielen Dank an alle, die versucht haben mir zu helfen!!!
User since
2003-11-28
3645
Artikel
ModeratorIn
Wie wäre es mit overrideredirect?
use Tk;
$top = new MainWindow;
$top->overrideredirect(1);
$top->geometry("100x50+20+20");
$top->Message(-text => "Hello, world!")->place(-x => 0, -y => 0, -relwidth => 1, -relheight => 1);
$top->Button(-text => "x", -padx => 0, -pady => 0, -borderwidth => 0, -command => sub { $top->destroy })->place(-relx => 1, -y => 0, -anchor => "ne");
MainLoop;