Schrift
[thread]10747[/thread]

Fensten im Hintergrund anzeigen (Perl/Tk,Linux)

Leser: 3


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Gast Gast
 2007-11-08 14:01
#102032 #102032
Hallo zusammen,

ich habe eine Frage: wie kann ich ein Fenster im Hintergrund anzeigen lassen?

Viele Grüße
Vladimir
ptk
 2007-11-08 21:45
#102071 #102071
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
$toplevel->lower
Gast Gast
 2007-11-12 09:46
#102231 #102231
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!
#Kein Kommentar
 2007-11-12 16:15
#102272 #102272
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
du kannst es ja aufmachen und einem anderem fenster den fokus mit
Code: (dl )
->focus ()
oder
Code: (dl )
->focusForce ()
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
Gast Gast
 2007-11-12 17:39
#102276 #102276
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?
#Kein Kommentar
 2007-11-12 19:05
#102283 #102283
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
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
ptk
 2007-11-12 19:50
#102287 #102287
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Vielleicht würde ->focusmodel("passive") etwas bringen?
Spieler
 2007-11-13 00:17
#102316 #102316
User since
2007-09-24
70 Artikel
BenutzerIn
[default_avatar]
Hallo,

Shell-Konsole klingt ja nicht nach Windows - falls doch:
Code: (dl )
1
2
3
4
5
6
use Tk;
my $mw = tkinit;
$mw ->update;
$mw->attributes(-toolwindow => 1,
-topmost => 1);
MainLoop();


Grüße, Christoph
Gast Gast
 2007-11-13 09:29
#102322 #102322
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!!!
ptk
 2007-11-13 22:18
#102381 #102381
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wie wäre es mit overrideredirect?
Code: (dl )
1
2
3
4
5
6
7
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;
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2007-11-08 14:01.