Skinbox in the new LiteStep Thread last updated on 2004-04-30 11:22:18

Posted by member 12025 on 2003-10-16 01:20:13

OK, I got my current theme pretty much working with the new litestep installer (though why it includes jkey and uses *hotkey in the hotkey.rc is beyond me).
...except skinbox just doesn't work. No error, except each recycle LS asks if I want to switch to the default theme (why?).
Is there any way to get Skinbox working...OR is there a suitable replacement? While shortcut and label would both technically work, neither stay on top after gaming, which is why I've stuck to Skinbox.

Posted by member 7223 on 2003-10-16 05:45:37 link

Ahhh, skinbox... I'm so sad it doesn't work under .24.7, too :(
...and I never found anything to replace it!

Wellcome to the "skinbox's nostalgics club" :)

Do you think a RabidCow's module could be easily replaced by a non-RabidCow one ?

Posted by member 12025 on 2003-10-16 18:09:55 link

:(
Well, off to see about putting labels and shortcuts inside boxes and see if THAT works...

Posted by member 7223 on 2003-10-16 22:05:37 link

Exclusive news :)

Rabidow has told me he was working on a skinbox build that works with .24.7 :D

Wait and see...

Posted by member 12025 on 2003-10-17 00:02:32 link

Nice!
Now once I get all my stuff working and get all modules netloaded, when that comes out I'll move to OTS2 and the new installer version (I think getting syntax right when using textedit through mzscript will be the most interesting).

Posted by member 12798 on 2003-11-08 16:26:57 link

i hope Rabidcow will get this working and released soon, as last week once more made clear to me that there is NO shortcut module that has all features i request or isn't buggy. has become pretty annoying :/

Posted by member 12798 on 2003-11-14 08:46:37 link

yoo hoo, there's a beta build of new skinbox.dll over at shellfront.org :)

Rabidcow, you're the god of useful modules

Posted by member 12025 on 2003-11-14 12:48:01 link

Yes!

Posted by member 12798 on 2003-11-14 16:20:46 link

doh, why do my OnMouse events not work?
QLSkinBoxOnMouseOut !SkinBoxShow "QLSkinBox"

tried it with and without quotes, but somehow skinbox does not hide itself

edit: !! oh well, figured it out: no quotes, and the !bang has to be
!SkinBoxShow name false (or true)

Posted by member 7223 on 2003-11-14 16:53:02 link

Elkmonster, Cerbie: Yes, yes, yes !!!

Thanks a lot RabidCow !!!

Posted by member 12798 on 2003-11-15 14:08:05 link

doh, i can't get label to work with skinbox the right way. the label is hooked into the skinbox, but when the mouse cursor is over the label, skinbox runs the MouseOut bang, although the mouse is in fact still over the skinbox :(

Posted by member 7223 on 2003-11-15 23:03:14 link

This is a normal reaction, because the hooked label and the hooking skinbox are not the same object. You will have the same "bug" with every module you could hook, even skinbox itself... and you will have the same "bug" if you used lsbox instead (if it had the mousein/out feature)
but this is not a bug

Posted by member 12798 on 2003-11-16 11:30:05 link

i know it's not a bug :) would be a nice feature though.anyways, mzscript combined with skinbox makes it easy to realise these kind of boxes, so no problem here anymore :)

Posted by member 99 on 2003-11-16 20:03:47 link

I could make it not send the MouseOut event if the mouse moves over a child window, but then you wouldn't always get MouseOut when it really is out.

Posted by member 81301 on 2003-11-16 21:25:12 link

Maybe you could have a toggle that the themer can turn on or off about whether it sends the MouseOut event if the mouse moves over a child window...

Posted by member 80008 on 2003-11-17 18:25:31 link

Hmmm...can't get any command-line arguments passed by skinbox (1.4.1). Also $evars$ substitution seems not to work yet. Need something like "...2xexplorer.exe $drives$ /S:DRV" as command. Synthax? A model skinbox in the documentation would be nice. Anyway a great module :)

Posted by member 12798 on 2003-11-17 18:59:40 link

don't know if i understood you right, but you might have to replace $ by the skinbox aquivalent \d

Posted by member 80008 on 2003-11-17 20:21:54 link

Yes thanks, I tried that, but any space in the command-line seems to disable it. I tried to simplify the commands and only lines without spaces work, with no help of putting "",{},[] around. Also tried !SkinBoxExec without success. Are you able to start a programm with some arguments?

Posted by member 99 on 2003-11-17 22:42:29 link

$evars$ are expanded by litestep before skinbox has a chance to do anything with them. It's not possible for it to be messed up, most likely it's expanding to something including backslashes, which skinbox tries to evaluate. Either use \d or surround it with the block escape: {["$path$"]}

For example:
*skinbox test 50c -24 24 24 #t
testOnLButtonClick {["$FileManager$" "$drives$"]}
; or:
testOnLButtonClick "\dFileManager\d" "\ddrives\d"


If all else fails, put in !alert 'original setting' and you can see what it's expanding to.

Posted by member 99 on 2003-11-17 22:45:15 link

Hm, for clarity:
!SkinBoxExec . !alert "$FileManager$"
=> C:INNTxplorer.exe
!SkinBoxExec . !alert {["$FileManager$"]}
=> C:\WINNT\explorer.exe
!SkinBoxExec . !alert "\dFileManager\d"
=> C:\WINNT\explorer.exe

Posted by member 80008 on 2003-11-17 23:24:21 link

The problem, I guess, is the space, necessary for argument separation. Following settings do not work:

mycomOnMButtonClick "C:\2xExplorer.exe" "\ddrives\d"
mycomOnMButtonClick "C:\\2xExplorer C:\\"
mycomOnMButtonClick "C:\2xExplorer C:\"
mycomOnMButtonClick "C:\2xExplorer" "C:\"
mycomOnMButtonClick "C:\\2xExplorer" "C:\\"

while this works:

mycomOnMButtonClick "C:\\2xExplorer.exe"

Posted by member 36955 on 2003-11-17 23:40:27 link

try using single quotes:
mycomOnMButtonClick "C:\\2xExplorer.exe '\ddrives\d'"

or

mycomOnMButtonClick "C:\\2xExplorer.exe 'C:'"

Posted by member 80008 on 2003-11-18 00:21:47 link

Tried that, no luck with both of them.
mycomOnMButtonClick "\dFileManager\d"

works, just cant pass any argument.

Thanks for suggestions anyway.

PS: I didnt forget the final backslash/es in my rc.

Posted by member 80008 on 2003-11-18 01:09:01 link

Phew...I think I found it.
mycomOnButtonClick "C:\\2xExplorer.exe " "C:\"

The space at the end of the program part seems to be essential and double bslash in argument has to be ommited.
And now the fun part starts......

Thanks,

R.

Posted by member 99 on 2003-11-18 10:45:57 link

The ones with the argument inside quotes with the file name are not going to work because SkinBox expects everything before the first space to be the filename. (It uses the entire line as the command.) So if you use "2xExplorer.exe C:", it expects that to be the name of the file, which is actually impossible.

Seriously, use !alert to debug stuff:
!SkinBoxExec . !alert '"C:\2xExplorer.exe" "\ddrives\d"'
=> "C:\1xExplorer.exe" "::{clsid from $drives$}"
!SkinBoxExec . !alert '"C:\2xExplorer" "C:"'
=> "C:\1xExplorer" "C:"
!SkinBoxExec . !alert '"C:\\2xExplorer" "C:"'
=> "C:\2xExplorer" "C:"
!SkinBoxExec . !alert '"C:\\2xExplorer.exe"'
=> "C:\2xExplorer.exe"
(actually, you could use C:\3xExplorer.exe instead of \\, but that would be silly.)

The space you say it requires doesn't make a lot of sense... Did you try without the space but with the .exe? Otherwise that's just weird.

Posted by member 80008 on 2003-11-19 18:08:54 link

Ahhrrghh....
Tried it again, and this time it works perfectly without the space. I tried for hours the day before yesterday without success. Maybe something happened when saving/recycling. Maybe I am just to old and rusty.
Sorry, I hope I didnt confuse anybody.
The module is a slammer.

Posted by member 12798 on 2004-03-25 16:35:32 link

er... once again, a silent call for rabid cows around here ;)
how do you hook modules to a skinbox?
this is the second time i ask this question, but i can't find the posts/thread of the first time due to the still unavailable search function... (i even suggest that the thread has been lost or something... because i also searched for the word "revolutionary" which was in one of my posts, and i couldn't find it anywhere). :)

Posted by member 37809 on 2004-03-25 21:52:21 link

You can do something like:
<BoxName>OnCreate !execute [!VWMLoadBoxHook : {@ih}][!LabelLsBoxHook SomeLabel : {@ih}]


And to hook a skinbox named "Inside" to another,
TheParentBoxOnCreate !SkinBoxLoadBoxHook name=Inside : {@ih}
        (this "Inside" box is created implicitly)

The only module I don't think you can hook is layercuts, since.. it appears you have to define your hooked 'cuts inside a .box file.

Posted by member 99 on 2004-03-26 14:33:33 link

The : is a placeholder for the path to the box file. (since most modules just ignore it anyway) If the module needs a box file, put its path there instead. (there may be a problem with paths that need quotes...)

Posted by member 12798 on 2004-03-27 07:45:47 link

ah, thanks a lot

Posted by member 12798 on 2004-03-30 09:26:02 link

it's me again :D

--------------------
not even 5 minutes after submitting the original post, he got it done by himself, accidently finding the photoshop transparency export option. although he still would appreciate some pieces of information on how to do this with the gimp, he slapped himself for being stupid.
--------------------

(ignore or make fun of the following original post :D )

ok, i can't get my skinbox transparent. it doesn't support magic pink, right?, so you've to use the png alpha channel, right? what should i do then? i tried all the afternoon with the gimp and photoshop, and never got anything to work at all :(
i just need some advice on what to do at all, like "do this or that with the alpha channel"...

Posted by member 37809 on 2004-03-30 16:41:09 link

Interesting. So the PNG alpha channel does work in SkinBox. Only if you do it that way though. Is the PNG version or header different or something? Creating a PNG any other way doesn't appear to work as translucent regions appear opaque and black.

Posted by member 99 on 2004-03-30 21:24:18 link

The alpha channels seems to just work if you use #L, and if you don't use #L then it works if you set the box' alpha to 254 (or less). PNG images saved from The Gimp (only tried 2.0) seem to work just fine, no special method needed.

Magic pink won't work. Somehow I think it might if you say the right magic words, but I'm not gonna promise anything.

Posted by member 7223 on 2004-03-30 23:44:31 link

...but using PNG with alpha channel doesn't work if you hook something into the skinbox :(
...but it's very stimulating to search for a way around (tricks forever) :)

Posted by member 12798 on 2004-03-31 01:22:29 link

hm, i have the gimp 2.0 (windows beta), and it didn't work... but it may have to do with the fact that i worked a lot with layers which i took at least partially from bmp images, so maybe this messed some things up.

Smurth: it doesn't work when hooking modules?? oh no... that was what i just wanted to do next, just didn't try so far... :'(
maybe can you tell me your tricks...? :) i need to use skinbox, everything else would be a real big mess :(

[edited something here, then removed because it was crap :/]

you know, i absolutely want to use skinbox because of its !Bitmap bang. as far as i can tell, there's no other module like this that allows to change its bitmap on runtime, is there?

Posted by member 7223 on 2004-04-01 07:10:31 link

No, there's really no module like this :)

hmm.... Tricks are just thhat: tricks!
Then, everything depends on "what do you want to do and what can be sacrificed ?"

Then...

Posted by member 99 on 2004-04-01 09:22:28 link

You can use fake transparency, but that doesn't seem to be working right. :/

I'm not sure what's going on here, the hooks work, and the resulting windows are there. You can even click on them sometimes... afaik this might even be a bug in Windows with UpdateLayeredWindow. :(

Posted by member 12798 on 2004-04-01 09:43:27 link

seems there's no way to avoid heavy scripting and a lot of hidden labels (going along with higher memory usage)... :(
it's a pity, everything would have been so comfortable and easy... :(

RabidCow: i noticed SkinBoxTile seems not to work. whether i set it false or true, the image was always tiled.

ah, and btw: i suppose you cannot hook modules from one box to another at runtime?

Posted by member 7223 on 2004-04-02 05:55:46 link

i suppose you cannot hook modules from one box to another at runtime?


Yes you can; simply hook the module(s) to the new box :)
(you can hook modules to regular windows, too. But you have to know the handle and it's a bad idea to close that window before hooking the modules to antoher)

hmm, get no problem with tile

Posted by member 12798 on 2004-04-02 09:14:06 link

ah, at least something to work with... :D

Posted by member 99 on 2004-04-02 11:42:51 link

Don't expect modules to be too happy about being rehooked into a new box. They're probably not designed with that in mind, so it's likely to cause problems.

Posted by member 12798 on 2004-04-02 15:56:31 link

i thought it sounded too nice to be true ;)

Posted by member 7223 on 2004-04-03 01:10:14 link

One time, I've tried to hook modules (systray and tasks, if I remember right) to the active window (in fact, re-hooking them every 250ms)
It works fine; very fine. No problem until I close one window...
Then, I guess re-hooking modules to other modules shouldn't be a problem... But I can be wrong; You are the PRO, Rabidcow :)

Hey, I have a new request about skinbox:
; doesn't react on mouse anymore and passes all actions through the lower windows
&lt boxname &gt Ghosted boolean

Posted by member 37809 on 2004-04-05 21:05:14 link

I'm sorry RabidCow, nevermind my last post. Photoshop was matting transparent regions against white :X

ElkMonster: The Export Transparent Image wizard is especially dumb about matting (defaults to white), at least in the version I'm using.

I found it easier to Save For Web and set matting to none, instead of Save As (doing so would result in regions of alpha appearing black, obvious from the greyed Alpha Channels checkbox).

Posted by member 12798 on 2004-04-21 15:06:03 link

i like this thread :)

i have to say that xlabel is more and more becoming the ultimate "über-module"... taking over lots of features skinbox used to have exclusively. if maybe both modules were merged into one, that would make it perfect :)

Posted by member 12798 on 2004-04-30 11:22:18 link

forget this post (once again, i should think it over before posting), a can't differ skinbox from xlabel :/