Mac UI.messagebox - hud and timeout
-
For some reason i can't upload to YouTube, so I put a movie up here http://gallery.me.com/johnboundy#100086
the movies quite compact at 1.2MB, but a small, crap animated giff version comes in at 12MB... I don't follow that.
-
Bummer.. it a QT movie. Cannot install anything else right now. (Getting the old "System part of the Resgistry has reached it's limit..." messagesboxes.)
Perhaps someone else can convert it WMV or AVI or something that YouTube likes ?
-
Can you not view it online?
I can make and upload to youTube normally, just not at the moment... I'll try tomorrow. john
-
Dan, could you try to stick this on YouTube?
-
It would not run on my Windows Media Player (mesagebox saying wrong format or you don't have the correct codec.)
-
Runs OK for me on VLC or WMPlayer... but then I probably have every codec known to man...
-
I have most, but selecting what to use for windows eludes me.
Stream: macmsg_1.wmv
Path: /Applications/GoogleSketchUp_X/macmsg_1.wmvDuration: 0:00:04
Data Size: 2.27 MB
Bit Rate: 3.94 MbpsVideo Tracks:
Windows Media Video 9 Standard, 960 × 540, 25 fps, 3.94 Mbpswmv
john -
OK the second works fine for me. Had to adjust the play speed to slow.
What do you call this kind of "popup" ??
It's not really a splash window (that usually has a graphic background.)
Not a "messagebox", as that term is taken (although I would have called them "queryboxes", myself.)It is similar to the icon bubble notification boxes on XP, both system and app (though they popup in the lower right corner of the screen.) Calendar "reminder" apps and AV/Firewalls are the biggest consumers of these "bubble" notice windows. Anyway, these kind of windows, are timed and close or shrink away after an interval with no user interaction.
Anyone have an idea if there is a standard generic name for this type of window ?
-
The original is referred to as a DisplayMessage and uses com.apple.ScreenMessage to run, with a full screen base size, on targeted computers in a mac network.
I believe 'Growl' uses something similar for it's 'placable' Screen Notifications.
Which is a bit like Chrome has for webkit- Event Target: Notification
in Cocoa...
maybe - (void) somethingHappened:(NSNotification*):notification {...}I guess it's more of a bodged Target[ed:Application_DisplayMessage], but, as it has the ability to return a user response?
I can't find a Ruby equivalent, although MacRuby may have something along these lines, being app centric.
johnmaybe
-
I've seen it often called as "OSD" or on-screen-display (similar to HUD, head-up-display) or OSD notification.
-
This Message, which shows, in the reply section, it's appearing in time slot for when I posted it ????
Re: mac UI.messagebox - hud and timeout
by driven on Mon Feb 06, 2012 1:40 pmThe original is referred to as aDisplayMessage and uses com.apple.ScreenMessage to run, with a full screen base size, on targeted computers in a mac network.
I believe 'Growl' uses something similar for it's 'placable' Screen Notifications.
Which is a bit like Chrome has for webkit- Event Target: Notification
in Cocoa...
maybe - (void) somethingHappened:(NSNotification*):notification {...}I guess it's more of a bodgedTarget[ed:Application_DisplayMessage], but, as it has the ability to return a user response?
I can't find a Ruby equivalent, although MacRuby may have something along these lines, being app centric.
johnmaybe
-
@driven said:
I can't find a Ruby equivalent, ...
Likely any Ruby equiv. would be a class in the
GTK
orWx
(or similar toolkit modules.)Name: OK.. it looks like "Display" and "Notify/Notification" may be the buzz words, for this. "On-Screen" seems a bit 'obvious' (although, I suppose, one can have an Audio notification, as well.)
"Display" is too vague.
I'd prefer: GUI.notify_box( message, timeout, [opts_hash] )
with the (dismissal) return valuetrue
||false
If the
timeout
arg!= 0
and the box times out and closes,false
is returned.
If the user dismisses the box before it times out,true
is returned.If the
timeout
arg== 0
, then the user MUST manually dismiss the box, andtrue
is ALWAYS returned, in this case.Of course the
timeout
arg can have a default, say 5 secs ?The hash_opts (3rd arg,) can be specified without braces, in the method call, but Ruby should collect them (automatically,) into a internal hash argument.
-
@driven said:
This Message, which shows, in the reply section, it's appearing in time slot for when I posted it ????
Yep... deleting the poll, did not fix the phpBB bug (looks like.) It seemed to be OK for a few days, until someone else posted again. I was never aware that Aerilius posted. It did not show in the right column where the most recent post & poster goes. (It always showed the OP's name.)
-
@driven said:
I've been distracted by almost having a WebDialog do the same things as my macMessage video shows. [but it's an 'almost' standard webdialog].
Certainly this approach would be easier to implement (on both platforms.)
Jim, ThomThom and I, have all played around with changing a WebDialog's window styles, just after calling it's
show
method.
On Win32 we can change it's border style to a ToolWindow, or even turn off all the borders entirely. I suppose we could also make the background semi-transparent.We do these via Win32API system calls.
I'm not sure if the WebBrowser control can see the parent window object as implemented in the WebDialog class, via HTML,CSS or Js. Seems like I recall us trying, and getting a Js error. (We discussed this awhile back, on the subject of making WebDialog that acted just like floating toolbars, and switching window focus to the SU main app window, when a WebDialog control was clicked.)
Anyway ... I suspect we cannot change the WebDialog window's borders (and so forth,) FROM the Javascript running IN the WebDialog. (I'd love to be proven wrong on this.) -
Playing around with this idea a bit... I realized we cannot have the method return a value from the notifypanel because the method creating it would have to wait.. and that would cause SU blocking. (possibly ghost-window "whiteout".)
-
That's what was happening here, the block bit, until I put it in it's own thread.
@bht= Thread.new { Thread.current["name"] = "BHT"; system("bht_su"); Thread.exit}
john
Advertisement