Schrift
[thread]4638[/thread]

MainWindow maximiert??: Perl/Tk (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
eisbeer
 2003-09-03 18:12
#42480 #42480
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich hab mal was von

$mw->Fullscreen;

gehört,was zum Modul Wm gehören soll.
Habs ausgeführt, passiert nix, nichmal
n Fehler...

¤dit: Siehe perl/site/lib/auto/Tk/Wm/Fullscreen.al\n\n

<!--EDIT|eisbeer|1062598549-->
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Strat
 2003-09-03 18:45
#42481 #42481
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
$mw->geometry("${width}x${height}+0+0");

Wenn man Hoehe $height und die Breite $width des Fensters kennt, kann man es auf Bildschirmgroesse bringen und durch das +0+0 in der linken oberen Ecke beginnen lassen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2003-09-03 19:08
#42482 #42482
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
perfekt ist es leider noch nicht, aber testet mal:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#! /usr/bin/perl
use warnings;
use strict;
use Tk;

my $mw = MainWindow->new();

# groesse auf bildschirmlaufloesung setzen
my $height = $mw->vrootheight; # $height = $mw->screenheight;
my $width  = $mw->vrootwidth;  # $width = $mw->screenwidth;
$mw->geometry("${width}x${height}+0+0");  

$mw->overrideredirect(1); # rahmen usw entfernen

# button, damit man noch herauskommt
$mw->Button( -text => 'quit', -command => sub { exit })->pack;

#$mw->bind("<FocusOut>", \&RestoreWindow);
$mw->bind("<Leave>", \&RestoreWindow);

MainLoop();

sub RestoreWindow {
    $mw->withdraw();
    print "Raising\n";
    $mw->deiconify();
    $mw->raise();

}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2003-09-03 19:12
#42483 #42483
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
da faellt mir gerade das Modul CPAN:Tk::LockDisplay ein, also muss es ja doch gehen...\n\n

<!--EDIT|Strat|1062601996-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
eisbeer
 2003-09-03 20:17
#42484 #42484
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Gibt es für Linux nix was Win32::API gleichkommt?
Weil das Beispiel funktioniert perfekt.

Oder man zieht von der geometry() Höhe X Pixel ab,
je nachdem wie Hoch die Taskbar is.
Unter windows sind das 28 Pixel.

Also:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /usr/bin/perl
use warnings;
use strict;
use Tk;

my ($mw,$h,$w);
$mw = MainWindow->new();
$mw->overrideredirect(1);
$h = $mw->screenheight;
$w = $mw->screenwidth;
$h-=28;
$mw->geometry("${w}x${h}+0+0");
$mw->Button( -text => 'EXIT', -command => sub {exit 0;})->pack;
MainLoop();
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Crian
 2003-09-08 18:25
#42485 #42485
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=eisbeer,03.09.2003, 18:17]Oder man zieht von der geometry() Höhe X Pixel ab,
je nachdem wie Hoch die Taskbar is.
Unter windows sind das 28 Pixel.[/quote]
So mache ich es im Moment auch, aber das ist unsauber, da die Taskleiste mehrere Zeilen hoch sein kann, außerdem kann der Benutzer sie auch an einen der anderen drei Bildschirmränder verankern. Da schaut mein Programm bisher in die Röhre. Deshalb wäre echtes Maximieren besser.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Crian
 2003-11-14 13:22
#42486 #42486
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Im anderen Perl-Forum (hier) hat jemand

Code: (dl )
$mw->FullWindow 


erwähnt und für Windows 32 (unter Berücksichtigung der Taskbar etc.) auf http://user.cs.tu-berlin.de/~eserte/src/perl/Win32Util verwiesen.

Bringt uns das irgendwie weiter?\n\n

<!--EDIT|Crian|1068808989-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2003-12-02 19:52
#42487 #42487
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Fuer KDE koennte man die Methode maximize in diesem Modul ausprobieren. Evtl. funktioniert es auch mit GNOME.
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2003-09-03 14:16.