non|step bar autohide? Thread last updated on 2006-01-25 22:13:16

Posted by member 46156 on 2006-01-17 16:14:58

i was just wondering if anyone had any idea of a way to implement autohiding for the non|step bar? i tried doign something with bottom edge hotspot that was set to show bar upon entry and do nothing upon exit, and then another hotspot over the taskbar area that was set to do nothing upon entry and hide the bar on exit.. but the hiding/showing was very unresponsive and the bar would get stuck hidden or shown very often

Posted by member 212670 on 2006-01-17 21:46:44 link

Don't know offhand how that theme is constructed, but I like to move things off screen until they are 1px showing, and have them show on enter, hide on leave (back to 1px). Works great with labels.

Posted by member 46156 on 2006-01-18 15:04:15 link

hmm that would work with most of it except there's also a vtray and an xtaskbar in the bar as well. here's a screenshot.. (every bar element except the task bar and the tray are a label i'm pretty sure)

edit: forgot the link
http://img58.imageshack.us/img58/8461/screen3ca.jpg

Posted by member 248213 on 2006-01-18 22:25:31 link

The way I do it is make one label cover the entire bar (but behind everything)
so when the bar is hidden, the label is 1px from the edge,
and when the bar is shown the label extends about 10-20px or so above the bar (presuming the bar is at the bottom), which leaves a nice big space to exit.

that way its no single bar component that does the hiding or whatever ;)

Posted by member 37809 on 2006-01-19 10:35:09 link

I also like the 1px offscreen trick, assuming you have a horizontal bar. For a vertical bar (autohiding, at that), you might want to think about multimonitor users--you might not want to place it so it just slides between two screens =)

Posted by member 1316 on 2006-01-19 15:18:00 link

The easiest way to do this is to hook everything into a label, then just hide the single label. Or else, you can just do a bang that hides every theme element at once, which is still pretty easy, just a bit ugly.

Posted by member 46156 on 2006-01-19 17:36:54 link

yeah i see hooking all the time and i never really understood what it did exactly (something to do with an lsbox or something i dont know).. is there anywhere i can read up on that?

Posted by member 248213 on 2006-01-20 00:29:00 link

Read Teh F*** xLabel Manual, it replaces LSbOx.

Posted by member 46156 on 2006-01-20 11:32:34 link

yeah i already read that (sorry for being so dense about all this) and i understand the commands and all but what exactly does it do? does it just make it so you can control the hooked module with label settings/bangs?

Posted by member 46156 on 2006-01-20 15:04:28 link

ok well i have everything hooked onto one label, but it doesn't seem to pick up the OnEnter/OnExit mouse cursor events.. if i have a blank label (with no modules hooked) it reads the OnEnter ok but never reads the OnExit. once the modules/labels are hooked it doesnt read any of them

Posted by member 248213 on 2006-01-20 22:42:03 link

OnLeave?

and hooking makes the hooked modules child windows of the hooker (right?) so that if you move the hooker, the hooked things move with etc

Posted by member 212670 on 2006-01-20 23:22:45 link

You'll need to have a pixel or two border. Meaning, make the parent label slightly bigger, and center the elements in it.

Posted by member 46156 on 2006-01-25 20:23:47 link

is there a way to make the label BG entirely transparent then? i tried setting the bg to a magic pink image but then the label didnt render anything at all. (right now the label is a whitebox that's behind all of the modules)

Posted by member 212670 on 2006-01-25 21:07:46 link

You can't hook in to a transparent label. =\

It's sounding to me like fractal's original idea would work the best for you. Just set the "hotspot" label to have a transparency of 1, and make it always on top, 1px tall, against the edge of your screen.

Posted by member 46156 on 2006-01-25 22:13:16 link

Ok well I got a working system now. I made that 1px bottomborder label and then I made another one that starts ghosted and covers the whole screen area above the bar. onenter for the bottom one turns off the ghosting for the top one, moves the bar, and then ghosts the bottomlabel. the onenter for the top one does the opposite. (i tried just moving the bottom 1px label but sometimes its not fast enough to catch the mouse as it leaves the bar and the bar gets stuck in the up position).

thanks for the help everyone