Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines | New: Database administration forum
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

Detecting screen resolution
I'm looking to get the max size of the screen for the computer on
which some TCL is being executed.  I want to find out if the user has
a screen resolution of 1024 X 768, 1600 X 1200, etc.  I'm guessing
it's in an evironment variable, but I don't exactly know how to access
this.  Any help you can provide would be greatly appreciated.

Report this thread to moderator Post Follow-up to this message
Old Post
arenatr
08-21-04 09:03 PM


Re: Detecting screen resolution
arenatr wrote:
> I'm looking to get the max size of the screen for the computer on
> which some TCL is being executed.  I want to find out if the user has
> a screen resolution of 1024 X 768, 1600 X 1200, etc.  I'm guessing
> it's in an evironment variable, but I don't exactly know how to access
> this.  Any help you can provide would be greatly appreciated.

Please read the man/help page on the winfo command, pay particular
attention to the subcommands beginning with the string "screen".

--
+--------------------------------+---------------------------------------+
| Gerald W. Lester               | "The man who fights for his ideals is |
| Gerald.Lester@cox.net          |  the man who is alive." -- Cervantes  |
+--------------------------------+---------------------------------------+

Report this thread to moderator Post Follow-up to this message
Old Post
Gerald W. Lester
08-21-04 09:03 PM


Re: Detecting screen resolution
arenatr <arenatr@comcast.net> wrote:
> I'm looking to get the max size of the screen for the computer on
> which some TCL is being executed.  I want to find out if the user has
> a screen resolution of 1024 X 768, 1600 X 1200, etc.  I'm guessing
> it's in an evironment variable, but I don't exactly know how to access
> this.  Any help you can provide would be greatly appreciated.

No, it is not environment variable. There is options in winfo command,
which are, quite surprisingly, called screenwidth and screenheight.

Window argument is required, because under X window Tk application can
simulteneously open windows on several physical displays. So
winfo screenwidth .some.window
would return width of screen where window .some.window is displayed.

I typically do [winfo screenwidth .], because window '.' guaranteed to
exist.


--
BREAKFAST.COM Halted... Cereal Port Not Responding.

Report this thread to moderator Post Follow-up to this message
Old Post
Victor Wagner
08-21-04 09:03 PM


Re: Detecting screen resolution
vitus@45.free.net (Victor Wagner) wrote in message news:<cg889q$l1r$1@wagner.wagner.home>..
.
> arenatr <arenatr@comcast.net> wrote: 
>
> No, it is not environment variable. There is options in winfo command,
> which are, quite surprisingly, called screenwidth and screenheight.
>
> Window argument is required, because under X window Tk application can
> simulteneously open windows on several physical displays. So
> winfo screenwidth .some.window
> would return width of screen where window .some.window is displayed.
>
> I typically do [winfo screenwidth .], because window '.' guaranteed to
> exist.

Thank you in advance for your help.

I did actually consult with the manual pages for winfo before I put
this post up.  Unfortunately, the:

[winfo screenwidth .] command seems to still respond with the width of
whatever window is currently loaded, which is not what I'm looking
for.

I'm looking for the actual dimenions of the display monitor - the
maximum settings (or current settings, if the screen is not set to
maximum) of the size of the screen.  So, for example, a standard CRT
monitor these days would have 1024 X 768 resolution,.  An older would
have 800 X 600.  An XGA laptop would have 1600 X 1200, etc.  This is
actually what I'm looking for.

As far as I can tell, this winfo command gives instead the the screen
of the most recently loaded window.

Thank you in advance for your help!

Report this thread to moderator Post Follow-up to this message
Old Post
arenatr
08-25-04 04:06 AM


Re: Detecting screen resolution
arenatr@comcast.net (arenatr) writes:

> [winfo screenwidth .] command seems to still respond with the width of
> whatever window is currently loaded, which is not what I'm looking
> for.

What window manager on what system?  It sounds broken ... Or you
tried [winfo width .] previously and forgot which you tested.


Donald Arseneau                          asnd@triumf.ca

Report this thread to moderator Post Follow-up to this message
Old Post
Donald Arseneau
08-25-04 10:05 AM


Re: Detecting screen resolution
arenatr <arenatr@comcast.net> wrote:
> I'm looking for the actual dimenions of the display monitor - the
> maximum settings (or current settings, if the screen is not set to
> maximum) of the size of the screen.  So, for example, a standard CRT
> monitor these days would have 1024 X 768 resolution,.  An older would
> have 800 X 600.  An XGA laptop would have 1600 X 1200, etc.  This is
> actually what I'm looking for.

You surely won't get *this* piece of information out if winfo!

Afterall, what you ask for is (imho) rubbish, because standard
CRTs may just well give you 1600x1200 resolution, but then with
a refresh-rate of say 30Hz ;-)

You should really assume that the current resolution is what
the user is most comfortable with, and don't even think about
trying to persuade him into choosing anything higher...

If your application *really* cannot run at 800x600, you just
popup a notice that says so, and if the user's hardware permits
it, he will switch the resolution to something higher, (if he
finds your prog worth it). And if he prefers a 800x600 @ 72Hz
to 1024x768 @ 60Hz  (quite an old monitor that would be) then
he wouldn't want to ruin his eyes, anyway.

That said, perhaps there are external tools, that you could make
use of. on unix-platforms, "xrandr" springs to mind, for windoze
I don't know (perhaps abusing registry...)


Report this thread to moderator Post Follow-up to this message
Old Post
Andreas Leitgeb
08-25-04 10:06 AM


Re: Detecting screen resolution
Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> wrote:
> arenatr <arenatr@comcast.net> wrote: 
>
> You surely won't get *this* piece of information out if winfo!
>
Damn, reading it again, now it doesn't look to me at all anymore,
as if you had wanted the hardware's maximum capabilities.

So, for dimensions of screen,  [winfo screenwidth .]
and [winfo screenheght .] is all you get.

If you started  wish  at say 800x600 and then switched to 1024x768,
then (according to some other thread)  wish doesn't reflect it,
so you'd get the the 800x600 throughout all the running wish.
You might accellerate resolving this issue by submitting a
working patch... otherwise hope that someone else comes up with
one.


Report this thread to moderator Post Follow-up to this message
Old Post
Andreas Leitgeb
08-25-04 10:06 AM


Re: Detecting screen resolution
Donald Arseneau <asnd@triumf.ca> wrote:
 

> What window manager on what system?  It sounds broken ... Or you
> tried [winfo width .] previously and forgot which you tested.

Or he mixes notions of window and video mode.

--
Linux poses a real challenge for those with a taste for late-night
hacking (and/or conversations with God).
-- Matt Welsh

Report this thread to moderator Post Follow-up to this message
Old Post
Victor Wagner
08-25-04 02:01 PM


Re: Detecting screen resolution
arenatr wrote:
> I'm looking for the actual dimenions of the display monitor - the
> maximum settings (or current settings, if the screen is not set to
> maximum) of the size of the screen.  So, for example, a standard CRT
> monitor these days would have 1024 X 768 resolution,.  An older would
> have 800 X 600.  An XGA laptop would have 1600 X 1200, etc.  This is
> actually what I'm looking for.

Ah.  This is not information that Tk provides at all.  On Windows, I
think it is possible to pull this sort of information out of the
Registry (using the registry package distributed with Tcl) but this is
non-trivial.

Donal.

Report this thread to moderator Post Follow-up to this message
Old Post
Donal K. Fellows
08-25-04 02:01 PM


Re: Detecting screen resolution
According to arenatr <arenatr@comcast.net>:
:[winfo screenwidth .] command seems to still respond with the width of
:whatever window is currently loaded, which is not what I'm looking
:for.
:
:I'm looking for the actual dimenions of the display monitor - the
:maximum settings (or current settings, if the screen is not set to
:maximum) of the size of the screen.  So, for example, a standard CRT
:monitor these days would have 1024 X 768 resolution,.  An older would
:have 800 X 600.  An XGA laptop would have 1600 X 1200, etc.  This is
:actually what I'm looking for.
:
:As far as I can tell, this winfo command gives instead the the screen
:of the most recently loaded window.


Could you show us some code demonstrating your problem?

For instance, on my machine:

$ xdpyinfo
name of display:    :0.0
version number:    11.0
vendor string:    Sun Microsystems, Inc.
vendor release number:    6410
maximum request size:  262140 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, MSBFirst, 32
image byte order:    MSBFirst
number of supported pixmap formats:    4
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 254
focus:  window 0x5c0000e, revert to PointerRoot
number of extensions:    30
AccessX
Adobe-DPS-Extension
DOUBLE-BUFFER
DPMS
DPSExtension
Extended-Visual-Information
FBPM
GLX
LBX
MIT-SCREEN-SAVER
MIT-SHM
MIT-SUNDRY-NONSTANDARD
Multi-Buffering
RECORD
SECURITY
SHAPE
SUN_ALLPLANES
SUN_DGA
SUN_OVL
SUN_SME
SYNC
SolarisIA
TOG-CUP
XC-APPGROUP
XC-MISC
XIE
XINERAMA
XInputDeviceEvents
XInputExtension
XTEST
default screen number:    0
number of screens:    1

screen #0:
dimensions:    2560x1024 pixels (722x289 millimeters)
resolution:    90x90 dots per inch
depths (2):    1, 24
root window id:    0x27
depth of root window:    24 planes
number of colormaps:    minimum 1, maximum 1
default colormap:    0x21
default number of colormap cells:    256
preallocated pixels:    black 0, white 16777215
options:    backing-store YES, save-unders YES
largest cursor:    unlimited
current input event mask:    0xfa203f
KeyPressMask             KeyReleaseMask           ButtonPressMask
ButtonReleaseMask        EnterWindowMask          LeaveWindowMask
ButtonMotionMask         StructureNotifyMask      SubstructureNotifyMask
SubstructureRedirectMask FocusChangeMask          PropertyChangeMask
ColormapChangeMask
number of visuals:    1
default visual id:  0x22
visual:
visual id:    0x22
class:    TrueColor
depth:    24 planes
available colormap entries:    256 per subfield
red, green, blue masks:    0xff0000, 0xff00, 0xff
significant bits in color specification:    8 bits

which is seems to me would have you wanting to see a value of 2560 x 1024
back from Tk.

And so I type this:

$ wish
% winfo screenwidth .
2560
winfo screenheight .
1024



--
<URL: http://wiki.tcl.tk/ > In God we trust.
Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.
<URL: mailto:lvirden@gmail.com > <URL: http://www.purl.org/NET/lvirden/ >

Report this thread to moderator Post Follow-up to this message
Old Post
lvirden@gmail.com
08-27-04 01:58 PM


Sponsored Links




Last Thread Next Thread Next
Search this forum -> 
Post New Thread

Tcl archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 04:44 PM.

 
Free MCSE Braindumps | Real Estate Topics

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.