OSD /C issue

May 31, 2008
382
2
#1
I want to use OSD to show updates from a detached batch script.
Each OSD message should stay on until the next OSD message takes over.
How do I do that, OSD /C doesn't seem to work as I expected. Consider this fragment:
PHP:
osd /top /right /n 1111
delay 2
osd /c /top /right /n 2222
I think it should show 1111 for 2 seconds then 2222 forever. Instead here it shows 1111 for 2 seconds then nothing (cleared).
I tried several variations but I can't get 2222 to show. It almost seems like option /c is broken, or I don't get it.
 
#2
On Mon, 08 Sep 2008 04:12:39 -0500, Stefano Piccardi <>
wrote:


>PHP:
>---------
>osd /top /right /n 1111
>delay 2
>osd /c /top /right /n 2222
>---------
>I think it should show 1111 for 2 seconds then 2222 forever. Instead here it shows 1111 for 2 seconds then nothing (cleared).
>I tried several variations but I can't get 2222 to show. It almost seems like option /c is broken, or I don't get it.
If I put those three lines in a batch file and run it, after the two-second
delay I see the "cancel batch" prompt. And when that happens, WinDbg shows

C++ EH exception - code e06d7363 (first chance)
C++ EH exception - code e06d7363 (first chance)

I don't know what's happening. What you want to do seems reasonable.
 
#4
|I want to use OSD to show updates from a detached batch script.
| Each OSD message should stay on until the next OSD message takes over.
| How do I do that, OSD /C doesn't seem to work as I expected. Consider this
fragment:
|
| PHP:
| ---------
| osd /top /right /n 1111
| delay 2
| osd /c /top /right /n 2222
| ---------
| I think it should show 1111 for 2 seconds then 2222 forever. Instead here
it shows 1111 for 2 seconds then nothing (cleared).
| I tried several variations but I can't get 2222 to show. It almost seems
like option /c is broken, or I don't get it.
osd /top /right /time=seconds /n display text
 

rconn

Administrator
Staff member
May 14, 2008
10,550
97
#7
Stefano Piccardi wrote:

> I want to use OSD to show updates from a detached batch script.
> Each OSD message should stay on until the next OSD message takes over.
> How do I do that, OSD /C doesn't seem to work as I expected. Consider
> this fragment:
> PHP Code:
> | | osd /top /right /n 1111
> delay 2
> osd /c /top /right /n 2222
> | |
> I think it should show 1111 for 2 seconds then 2222 forever. Instead
> here it shows 1111 for 2 seconds then nothing (cleared).
> I tried several variations but I can't get 2222 to show. It almost seems
> like option /c is broken, or I don't get it.
OSD /C is intended to kill an existing OSD, not to restart another one.
It will not work in combination with any other OSD options.

Rex Conn
JP Software
 
May 31, 2008
382
2
#9
OSD /C is intended to kill an existing OSD, not to restart another one.
It will not work in combination with any other OSD options.
I think OSD /C attempts to kill the batch file, that's why I don't see any other OSDs following an OSD /C
Code:
osd /top /right /n 1111
delay 2
osd /c
osd /time=2 /top /right /n 2222
Results in
Code:
C:\boot>alias osd
TCC: Not an alias "osd"

C:\boot>qbat.bat
osd /top /right /n 1111
delay 2
osd /c

Cancel batch job C:\boot\qbat.bat ? (Y/N/A) :
 
#10
On Wed, 10 Sep 2008 04:27:26 -0500, Stefano Piccardi <>
wrote:


>I think OSD /C attempts to kill the batch file, that's why I don't see any other OSDs following an OSD /C
>
>Code:
>---------
>osd /top /right /n 1111
>delay 2
>osd /c
>osd /time=2 /top /right /n 2222
>---------
>Results in
>Code:
>---------
>C:\boot>alias osd
>TCC: Not an alias "osd"
>
>C:\boot>qbat.bat
>osd /top /right /n 1111
>delay 2
>osd /c
>
>Cancel batch job C:\boot\qbat.bat ? (Y/N/A) :
You can get around it with the likes of "ON BREAK DELAY /M 0". If you really
want to use ON BREAK for other purposes you'll have to get fancy, maybe a local
alias to wrap "OSD /C" in its own break handler and restore the old one, or a
"newosd" subroutine that will do the same.