POV-Ray : Newsgroups : povray.off-topic : A small project Server Time
10 Oct 2024 23:19:20 EDT (-0400)
  A small project (Message 11 to 20 of 23)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>
From: Sherry Shaw
Subject: Re: A small project
Date: 4 Mar 2008 09:24:53
Message: <47cd5bb5@news.povray.org>
Mike Raiford wrote:
  >
> This, too if you'd prefer to use VB or C#:
> 
> http://msdn2.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx 
> 


Dang, you beat me to it!

--Sherry Shaw


-- 
#macro T(E,N)sphere{x,.4rotate z*E*60translate y*N pigment{wrinkles scale
.3}finish{ambient 1}}#end#local I=0;#while(I<5)T(I,1)T(1-I,-1)#local I=I+
1;#end camera{location-5*z}plane{z,37 pigment{granite color_map{[.7rgb 0]
[1rgb 1]}}finish{ambient 2}}//                                   TenMoons


Post a reply to this message

From: Mike Raiford
Subject: Re: A small project
Date: 4 Mar 2008 09:27:30
Message: <47cd5c52$1@news.povray.org>
Sherry Shaw wrote:


> (I'm using Visual Studio 2005 Pro...don't know if there's any difference 
> in the Express version or not.)
> 

AFAIK, Pro and Express are identical in this regard.


Post a reply to this message

From: John VanSickle
Subject: Re: A small project
Date: 4 Mar 2008 16:34:21
Message: <47cdc05d@news.povray.org>
Invisible wrote:
> I want to write a small program that will display a status icon in the 
> system tray and pop up small messages in the corner of the screen. [It 
> is critical that these do *not* take the input focus. Can you imagine 
> how *annoying* that would be?]

Unfortunately, it is difficult to write a Windows program that is not 
annoying.

Regards,
John


Post a reply to this message

From: Darren New
Subject: Re: A small project
Date: 4 Mar 2008 22:55:37
Message: <47ce19b9@news.povray.org>
Invisible wrote:
> Any suggestions as to how to pull this off? Personally I don't know of a 
> programming language that makes it easy to do this kind of thing.

Tcl.

-- 
   Darren New / San Diego, CA, USA (PST)
     "That's pretty. Where's that?"
          "It's the Age of Channelwood."
     "We should go there on vacation some time."


Post a reply to this message

From: Darren New
Subject: Re: A small project
Date: 4 Mar 2008 23:47:16
Message: <47ce25d4$1@news.povray.org>
Invisible wrote:
> Any suggestions as to how to pull this off? Personally I don't know of a 
> programming language that makes it easy to do this kind of thing.

Tcl. More specifically....

http://tktable.sourceforge.net/winico/winico.html

-- 
   Darren New / San Diego, CA, USA (PST)
     "That's pretty. Where's that?"
          "It's the Age of Channelwood."
     "We should go there on vacation some time."


Post a reply to this message

From: Invisible
Subject: Re: A small project
Date: 19 Mar 2008 08:56:24
Message: <47e11b88$1@news.povray.org>
Darren New wrote:

> Tcl. More specifically....
> 
> http://tktable.sourceforge.net/winico/winico.html

I had a feeling you'd say that.

It looks like I can use this to put an icon with a tooltip in the 
taskbar. I was kind of hoping to be able to pop up small messages as 
well, but I guess that isn't critical.

Apparently the latest version of Freewrap includes this extension, and 
it does seem to work. I'm not very confortable with using an unreliable 
language like Tcl, but there doesn't appear to be a lot of option...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Darren New
Subject: Re: A small project
Date: 19 Mar 2008 10:41:25
Message: <47e13425$1@news.povray.org>
Invisible wrote:
> Darren New wrote:
> 
>> Tcl. More specifically....
>>
>> http://tktable.sourceforge.net/winico/winico.html
> 
> I had a feeling you'd say that.

Hey, Tcl does just about everything. That's why I like it.

> It looks like I can use this to put an icon with a tooltip in the 
> taskbar. I was kind of hoping to be able to pop up small messages as 
> well, but I guess that isn't critical.

You can do that. You don't need this extension for it. Use "wm 
OVERRIDE_REDIRECT" or some such on your window, and you won't get a 
border or close buttons, so you just position it in the corner and draw 
into it.

> Apparently the latest version of Freewrap includes this extension, and 
> it does seem to work. I'm not very confortable with using an unreliable 
> language like Tcl, but there doesn't appear to be a lot of option...

What's unreliable about it? I've very rarely had a problem with anything 
not working as specified. Indeed, I've been using it for 13 years and 
only found two rather obscure bugs.

If you mean "it doesn't work as I expect" (e.g., things complaining 
about malformed lists), post your code and I'm happy to show you how to 
do it reliably.

-- 
   Darren New / San Diego, CA, USA (PST)
     "That's pretty. Where's that?"
          "It's the Age of Channelwood."
     "We should go there on vacation some time."


Post a reply to this message

From: Invisible
Subject: Re: A small project
Date: 19 Mar 2008 11:56:45
Message: <47e145cd$1@news.povray.org>
>> I had a feeling you'd say that.
> 
> Hey, Tcl does just about everything. That's why I like it.

Well, it does a few things that are useful. (E.g., it's one of the few 
portable languages that lets you access Windoze-specific file attributes.)

>> It looks like I can use this to put an icon with a tooltip in the 
>> taskbar. I was kind of hoping to be able to pop up small messages as 
>> well, but I guess that isn't critical.
> 
> You can do that. You don't need this extension for it. Use "wm 
> OVERRIDE_REDIRECT" or some such on your window, and you won't get a 
> border or close buttons, so you just position it in the corner and draw 
> into it.

And how the heck do I figure out *where* the corner of the screen is? 
(And, for that matter, avoid stealing the input focus when the window 
opens?)

> What's unreliable about it? I've very rarely had a problem with anything 
> not working as specified. Indeed, I've been using it for 13 years and 
> only found two rather obscure bugs.
> 
> If you mean "it doesn't work as I expect" (e.g., things complaining 
> about malformed lists), post your code and I'm happy to show you how to 
> do it reliably.

It's a scripting language. It doesn't really "do" error-handling. If 
something goes wrong, the script tends to just choke in an unpredictable 
way.

Many of the Tcl scripts I run seem to leak memory pretty badly. I did 
have a Tcl script that did something every 5 minutes - but I discovered 
that the longer it runs, the more RAM it eats. I now rerun the script 
every 5 minutes using an external tool.

There are many, *many* things that work unexpectedly in Tcl. But then, 
the language isn't really set up for making production-grade 
applications, it's designed for quickly throwing things together that 
work on the day you test them.

The list goes on...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Darren New
Subject: Re: A small project
Date: 19 Mar 2008 21:03:45
Message: <47e1c601$1@news.povray.org>
Invisible wrote:
> And how the heck do I figure out *where* the corner of the screen is? 

I would ask for the coords of the window in the system tray and go from 
there? I haven't done it, but it can't be all that hard. I'm almost 
certain you can get the screen size in pixels from Tcl.

Now, that's assuming you only have one screen.

To answer your question precisely, "winfo screenheight" and "winfo 
screenwidth" are what you're looking for, I think. "winfo" and "wm" 
control all that sort of stuff. (WM referring to the window manager, so 
it controls borders and focus and such. The documentation doesn't 
clarify for me how to avoid taking focus when you create a window.)

> (And, for that matter, avoid stealing the input focus when the window 
> opens?)

I think Windows prevents this from happening in the first place in 
general, but that's a good question.

> It's a scripting language. It doesn't really "do" error-handling. If 
> something goes wrong, the script tends to just choke in an unpredictable 
> way.

No. You're thinking of C. Tcl chokes in very predictable ways. Indeed, 
at work, I use a Tcl monitoring process to restart all the craptastic 
C++ stuff that dumps core about once a week.  (Not that C++ is 
necessarily craptastic, but this stuff is.)

Between [catch] and [bgerror], Tcl should never do something 
unpredictable. Maybe you don't know how Tcl behaves, but it really is 
well-defined.

> Many of the Tcl scripts I run seem to leak memory pretty badly. I did 
> have a Tcl script that did something every 5 minutes - but I discovered 
> that the longer it runs, the more RAM it eats. I now rerun the script 
> every 5 minutes using an external tool.

I have Tcl programs that run literally months without being touched. If 
you're leaking memory, it's because you're storing stuff in globals and 
not cleaning up after yourself.

Granted, there is occasionally a leak in Tcl's memory handling described 
in the bug tracker. But it's rare, and they're all high priority to get 
fixed because people build real systems with Tcl.

Tcl doesn't always dispose of the maximum amount of memory it can, but 
if you free something up after allocating it, that memory does get reused.

> There are many, *many* things that work unexpectedly in Tcl. But then, 
> the language isn't really set up for making production-grade 
> applications, it's designed for quickly throwing things together that 
> work on the day you test them.

I disagree. I've written all kinds of server stuff in Tcl that runs for 
months without being touched, that automatically recovers from my 
mistakes, and so on. If you can't get it to work for you, it's because 
you don't know how, methinks.

-- 
   Darren New / San Diego, CA, USA (PST)
     "That's pretty. Where's that?"
          "It's the Age of Channelwood."
     "We should go there on vacation some time."


Post a reply to this message

From: Invisible
Subject: Re: A small project
Date: 20 Mar 2008 05:59:10
Message: <47e2437e$1@news.povray.org>
>> And how the heck do I figure out *where* the corner of the screen is? 
> 
> I would ask for the coords of the window in the system tray and go from 
> there? I haven't done it, but it can't be all that hard. I'm almost 
> certain you can get the screen size in pixels from Tcl.

Right. And now how do I figure out how big the system tray is? (You 
realise it's resizable, right?)

> Now, that's assuming you only have one screen.

That's a safe assumption for the purposes of this project. ;-)

> To answer your question precisely, "winfo screenheight" and "winfo 
> screenwidth" are what you're looking for, I think. "winfo" and "wm" 
> control all that sort of stuff. (WM referring to the window manager, so 
> it controls borders and focus and such. The documentation doesn't 
> clarify for me how to avoid taking focus when you create a window.)

I find the documentation for Tcl/Tk to be especially difficult to 
follow. For example, I *still* can't figure out the correct way to 
specify a font name. The page that's meant to tell you just rambles on 
about a bunch of C functions... WTF?

>> (And, for that matter, avoid stealing the input focus when the window 
>> opens?)
> 
> I think Windows prevents this from happening in the first place in 
> general, but that's a good question.

I'll check later...

>> It's a scripting language. It doesn't really "do" error-handling. If 
>> something goes wrong, the script tends to just choke in an 
>> unpredictable way.
> 
> No. You're thinking of C. Tcl chokes in very predictable ways. Indeed, 
> at work, I use a Tcl monitoring process to restart all the craptastic 
> C++ stuff that dumps core about once a week.  (Not that C++ is 
> necessarily craptastic, but this stuff is.)

Right. So when the server runs out of disk space, my Tcl script 
unceremoniously halts, and rather than the interpretter shutting down, 
it just *sits* there. And since it's a background task, I have *no way* 
of discovering what the hell went wrong, and no way of shutting it down 
other than forcably killing the interpretter. Cool. Is that what the 
spec says?

> Between [catch] and [bgerror], Tcl should never do something 
> unpredictable. Maybe you don't know how Tcl behaves, but it really is 
> well-defined.

Frobbing bgerror is just painful. catch looks more useful...

>> Many of the Tcl scripts I run seem to leak memory pretty badly. I did 
>> have a Tcl script that did something every 5 minutes - but I 
>> discovered that the longer it runs, the more RAM it eats. I now rerun 
>> the script every 5 minutes using an external tool.
> 
> I have Tcl programs that run literally months without being touched. If 
> you're leaking memory, it's because you're storing stuff in globals and 
> not cleaning up after yourself.

No, not really. Just recursing over some directories. Memory usage 
starts at about 2 MB, and grows linearly by about 50 KB every second. 
Usually the script finishes before it actually reaches more than 8 MB, 
but on occasion it doesn't.

> Granted, there is occasionally a leak in Tcl's memory handling described 
> in the bug tracker. But it's rare, and they're all high priority to get 
> fixed because people build real systems with Tcl.

How would I know about that? I downloaded Freewrap a few years back and 
have been using it ever since. Still on the same version number.

So... you're saying that my particular Tcl interpretter just has a 
memory bug in it?

>> There are many, *many* things that work unexpectedly in Tcl. But then, 
>> the language isn't really set up for making production-grade 
>> applications, it's designed for quickly throwing things together that 
>> work on the day you test them.
> 
> I disagree. I've written all kinds of server stuff in Tcl that runs for 
> months without being touched, that automatically recovers from my 
> mistakes, and so on. If you can't get it to work for you, it's because 
> you don't know how, methinks.

The whole "hey, let's not bother with datatypes and stuff, let's just 
store everything as flat strings and reparse them every time we need to 
touch something" concept simply *wreaks* of quick and dirty prototyping. 
No sane person would design production-grade software this way, with no 
safety checks or anything.

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 3 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.