Advanced Buttons

Hi, I’m doing a lcars config and I found a cool menu to “map”:

The problem is, correct me if I’m wrong, Fvwmbuttons are rectangular.
I’can shape all buttons via the awesome shapemasking method, but as they are all square they won’t fit like on the picture above :cry:

I think there are 2 ways to handle this :

  • to be able to have buttons partly above or under others
  • to have some kind of map where we can define buttons individualy (like on html area maps)

Any Ideas ? thx !

Awesome idea! Do pursuit completing this idea, it should be doable just as you said; shapemasking and (root?)transparency and piling them on top of each other. The buttons will be rectangular, so you might need to stretch your imagination a little to make it work. :wink:
Example where the iconmans and pagers are piled on top of each other (config)

If you really want to get deep with it, I think you could achieve different forms with making a module or something (don’t quote me on that), like in here: viewtopic.php?p=2261&highlight=#2261
viewtopic.php?p=2221&highlight=#2221
viewtopic.php?p=2198&highlight=#2198
there was also a C-one but I can’t find it ATM.

Thx for reply :smiley:
It’s sligtly complicated but I’ll try (almost 50 fvwmbuttons :laughing: the config will be heavier than fvwm :mrgreen: ) And maybe I’ll get trouble positioning titles … All this should be swallowed in an Fvwmbutton to be shaded or raised when clicked.

It “will work” (as much as I can do :stuck_out_tongue:) like here :
http://www.lcarsdeveloper.com/
(section LCARS DATABASE / COMPONENTS / NEXT )

Whoa! Wickedly cool! :smiley:

Yes if I manage to do it, it’ll be cool :stuck_out_tongue:

Well, it’s impossible without ultra coding or hacking fvwmbuttons because even on gimp I can’t cut each buttons to have them pile they will overlap (partially or completely) due to excessive round shape. I would definitively need some kind of area. Or a way to set geometry of a button relatively to another or to a container. :cry:

I also tested it using gdesklet / adesklet / superkaramba (crashes a lot !) all these apps allow only rectangular surfaces so no way to do this. More over if I could create overlapping buttons it would be impossible to bind actions for some of them. :cry: :cry: :cry: :cry:
I’ve searched sourceforge but no apps do like the flash/html code on the site :cry: :cry:

Last idea : to swallow each button inside others … but I can’t manage to do that with 2 poor shaped fvwmbuttons so 50 would be fun … :laughing:

[code]DestroyModuleConfig ZTest
*ZTest: Geometry 420x300+10-10
*ZTest: Colorset 24
*ZTest: BoxSize smart
*ZTest: Frame 0

Colorset 24 RootTransparent, fg rgb:00/00/00, bg average,
Tint white 40, bgTint white 40, RootTransparent,
Shape $[fvwm_back]/Fond1.xpm

#I’ve tried :
*ZTest: ( Swallow (NoOld) “Test2” Nop)
#*ZTest: (Swallow “Module FvwmButtons Test2”)
#*ZTest: (Swallow “FvwmButtons Test2”)
#And combinations of the above

DestroyModuleConfig Test2
*Test2: Geometry 210x150
*Test2: Colorset 25
*Test2: BoxSize smart
*Test2: Frame 0

Colorset 25 RootTransparent, fg rgb:ff/00/00, bg average,
Tint white 80, bgTint white 80, RootTransparent,
Shape $[fvwm_back]/Fond2.xpm

*Test2: (10x15, Colorset 10)[/code]

Fond1.xpm & Fond2.xpm are shape mask only round edge rectangle, Fond1 is 2 times bigger than Fond2.
Test2 didn’t appear in ZTest

Yeah, after some tests I must agree that rectangle shape is simply out of the question for that. Hmm… I still think it’s doable, though. Let me get back to you.

Well the code above was a test to do something like :
First button : really big with only one button created via the shape masking method
Second : less big with another one

50th button :stuck_out_tongue: : the smallest one with one shaped button too

Like a pyramid the first button should be the base an 50th the top (I can reduce the number of buttons ^^ )
First button swallows the second that swallows the third etc …

I only hope, that after it will be possible to click on one button and not have the actions from the buttons above.

(the code given doesn’t work at all, I wish I could have a sample code for 2-3 buttons swallowing each others)