set focus Thread last updated on 2004-06-11 21:03:07

Posted by member 168857 on 2004-06-10 09:53:24

I have a small script with hot spots. when over the hotspot, the lsxcommand is shown. then you do whatever. you can hide the lsxcommand by returning to the hotspot. however, I have a small usability bug. If you accidentally show the lsx, then hide it again, the focus is still on the lsx (I use [!commandshow !focuscommand] to show, and [!commandhide]) thus you can do !bang commands when the lsx is hidden which is bit disconcerting

Is there a way to take the focus off the lsxcommand whenhidden, but only when it has the focus?

Thanks,

T

Posted by member 159957 on 2004-06-10 23:56:01 link

Instead of hidding it try:
!reloadModule Lsxcommand
!unloadModule Lsxcommand
No need to have it loaded while is hidden

Posted by member 99 on 2004-06-11 00:40:36 link

That shouldn't be possible! MSDN: "A hidden window can process messages from the system or from other windows, but it cannot process input from the user or display output." This wouldn't be the first time it was wrong or misleading though... :(

Posted by member 12025 on 2004-06-11 04:56:21 link

1. !focuscommand displays LSXCommand. No need for !CommandShow.
2. I know of no way to unfocus it. You could see about using One or some !bang on hiding it to give focus elsewhere, though.

Posted by member 168857 on 2004-06-11 05:35:59 link

oilamn -
Error: could not locate module.
Please check your configuration.

I started with

*netloadmodule lsxcommand-1.9.2


then tried

LoadModule "$SFDir$Modules\lsxcommand-1.9.2.dll"

(with a copy of the dll in the correct place)

neither seem to work :(

Posted by member 159957 on 2004-06-11 13:37:09 link

Look I do it with Lsslider but it should work with Lsxcommand also.
No need to *NetLoadModule lsxcommand-19.2 any more. (Its allready on your mods directory (unless you want it to be visible at start up).
Look in your mods directory an see what you got for lsxcommand there(version), and use that, once you got it working you can change version if you want.

just call this bangs with the complete path(for your pc)on your hotspots actions :for example:
!ReloadModule c:\litestep\modules\lsxcommand-1.9.2.dll (to show)
!unloadModule c:\litestep\modules\lsxcommand-1.9.2.dll (to hide)
should work.

Posted by member 99 on 2004-06-11 15:03:21 link

"Its allready on your mods directory"
Maybe, but not in everyone else's.

Avoid mixing *Net... and !ReloadModule/!UnloadModule unless you have no other solution. And if you use a module, but don't load it with *NetLoadModule, use *NetInstallModule. (assuming you're making a theme for distribution, otherwise who cares.)

!NetUnloadModule lsxcommand-1.9.2
!NetReloadModule lsxcommand-1.9.2

This could take longer than a simple hide/show and temporarily increase memory usage by more (may be more things dragged up from the page file), but probably not noticeable.

But I don't know why you'd be having trouble loading it if it worked before...

Posted by member 12025 on 2004-06-11 16:51:14 link

add this to your theme.rc:
*NetLoadModuleSite "http://www.ls-universe.info/download/modules/"
...for the future :)

Posted by member 1316 on 2004-06-11 18:54:01 link

rabid: I wouldn't say it's not possible. different apps occasionally take control, even when they're on different desktops, which basically hides them. you wouldn't believe how many times I've been typing an e-mail, look up, and everything I typed is actually showing up in opera, though it's on a different desktop. the strange this is, I don't think it happens while using ckvwm, only rabidvwm...

Posted by member 99 on 2004-06-11 21:03:06 link

Oh, I didn't say it wasn't possible, clearly it is. Just that, afaik, it shouldn't be. :( Windows on a different desktop are only hidden if you use HideTaskOnSwitch. Otherwise they're fair game, and win2k/xp don't always give litestep permission to force focus to go somewhere else. Dunno why ckvwm would manage better...