I'm looking for a one click icon based application launcher

Using applications, configuring, problems
Post Reply
Message
Author
User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

I'm looking for a one click icon based application launcher

#1 Post by HairyWill »

What I would like is a toolbar down the left hand of the screen with just a load of 16x16 icons that auto hides.

I can get this across the top of the screen in JWM but haven't worked out how to do it in icewm.

Here is the hard bit.
If I click on an icon it should start the default app. If I click and drag right it should pull out a horizontal list of icons, for example a choice of multimedia applications, when I click on one it should start the application and also set that to be the default app for that sub menu.

JWM lets me have multiple toolbars, as far as I can see icewm only lets you have one. I've tried looking at rox panels as well but they don't seem to quite get there.

Any suggestions gratefully received. Am I being greedy?
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#2 Post by Pizzasgood »

I don't know about how to set up a click-n-drag submenu like you want, but MU posted a dotpup with auto-hiding icons a while back (I think called tablaunch). I've only used them on the top and bottom, but they could probably work on the sides.

If the XFCE panel can be turned sideways, that would probably be your best bet. It can auto-hide, and each button you add can have a submenu button alongside (kinda like the extra arrow on Firefox's back button).
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#3 Post by MU »

yes, tablaunch.
http://murga-linux.com/puppy/viewtopic. ... 594&t=3892

Myself I programed 2 other menu-utilities:
iconmenu
http://murga-linux.com/puppy/viewtopic. ... 893&t=4407
http://murga-linux.com/puppy/viewtopic. ... 893&t=4411

dragndrop icons:
http://murga-linux.com/puppy/viewtopic. ... 483&t=4632
http://murga-linux.com/puppy/viewtopic. ... 483&t=4751

I made those in Puppy 1, so no idea if they still work in Puppy2.
But I think they should.
Mark

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#4 Post by HairyWill »

MU thank you, I thought you might have some suggestions.

iconmenu looks pretty close to what I'm looking for. I like the description of it as "a wharf"
Helpfully each horizontal bar is a separate process which reads the config line each time it is asked to open. This means I can shuffle the menu on the fly to ensure that the most clicked elements are always on the left.

I think I might need to poke the c a bit to get it to do exactly what I want. I've never done any X programming, looks like fun.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#5 Post by Dougal »

Pizzasgood wrote:If the XFCE panel can be turned sideways, that would probably be your best bet.
It does.
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#6 Post by HairyWill »

awwww
now I'm torn
I'm up to my elbows in c and learning
Should I continue or should I install XFCE?

Life is a path of learning, thanks Pizzasgood and Dougal but now I've got the compilng fever. I'm going to play with MU's code.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#7 Post by MU »

It is a combination.
You need C only to modify the icons themselves.
The "logic" is written in Puppybasic, e.g. to import the JWM-menu.

It could make sense to remove the dynamic menu-generation:
Run it once to create the icons that are used, and to generate an example menu in /root/.iconmenu.
Then modify the Basic-code:
remove the lines that delete the menu and rebuilt it from the JWM-menu on each startup.

Like this you could edit once to your needs
/root/.iconmenu/menu.rc
and then keep it "permanent" without being overwritten on a restart.


To edit the C code, you would need the imlib2 tutorial:
http://web.archive.org/web/200502101749 ... index.html

some more stuff related to that:
http://www.optix.org/~dxy/solaris/imlib/
http://www.rasterman.com/files/
http://www.rasterman.com/index.php?page=Files
Mark

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#8 Post by Béèm »

The icon after installation of tablaunch is way to big and isn't displayed correctly.
I know I should have filed the advice how to get the correct nice icon in the dotpups menu, but I didn't find it back. :oops:
Can you advice me again and I will file the post again. (again as in fact I filed it using another version of Puppy and my SM bookmarks when changing to 2.16 got lost) :(
Thank you.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#9 Post by MU »

/usr/local/tablaunch0.6/icon.xpm

You can scale it with gimp or mtpaint.
But it actually is small, 15x5 pixel.
You could try to overwrite it with one from /usr/share/mini-icons

I currently run icewm, so cannot check it myself in jwm.
It looks distorted here, as icewm scales it to 16x16.
You might create a new file 16x16, and paste the old one in it.

Mark

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#10 Post by MU »

I attach a 16x16 one.
Mark
Attachments
icon.xpm.zip
unzip it with pupzip
(825 Bytes) Downloaded 257 times

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#11 Post by Béèm »

Thanks Mark, it's smaller indeed, but I still don't see what it represents.
But don't worry, it's no big deal.
Attachments
tablaunch.png
(8.25 KiB) Downloaded 1036 times

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#12 Post by HairyWill »

I was quite surprised at how slow iconmenu was to launch a set of icons. To investigate I hacked the code of iconrun1.c to get it to fork itself and generate 20 icons across the screen. This still had a noticeable delay, though you could probably pretend it was a feature. I had assumed that the slowness was caused by puppybasic but it looks much more likely that it is down to the cost of process creation or maybe all of the imlib calls.

One faster hacky solution is to create a vertical hiding jwm tray with each of the buttons used to call a specific start script to generate the appropriate iconrun2b buttons. This solution is still slow to generate the horizontal iconbars.

Since I have started using a jwm tray I wondered if it would possible to hack jwm to allow jwm traybuttons to launch/unhide extra horizontal trays. This wuld be quick and allow everything to conform to jwms theme. The jwm code looks very well written and compact. It seems fairly intuative as to where code needs to be inserted modified. I'm going to spend a few days seeing if I can do it.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#13 Post by HairyWill »

Nearly cracked it
I've hacked the jwm tray tray.c to create the flyouts here.
http://www.murga-linux.com/puppy/viewtopic.php?t=17640

I haven't got the most frequently used icon shuffling to the left. It would involve restarting jwm.

I'm quite chuffed. :D
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#14 Post by MU »

I attach another buttonbar.

Written in PuppyBasic, using Gins and a dynamically generated Glade-XML-file.

If you run it from the utilities-menu, it uses a default-config
/usr/local/PB-Buttonbar/resource/examplemenu/menu.rc

Do not modify that, instead create your own:
/root/.PB-Buttonbar/menu.rc

That will be used automatically then.

The bar has no option to exit yet, so you must kill it to restart it.
Also it has no tooltips yet, so the "titles" you can enter in menu.rc are not used yet. I'm away this weekend, so feel free to enhance it on your own.

You can run it with some options, see:
sh-3.00# PB-Buttonbar --help
options: x y v/h menufile
v/h is short for vertical or horizontal
menufile can have any name, but must be in $HOME/.PB-Buttonbar
Gins 0.9 by BradChuck is included, I had to patch it to be able to position the window.

Developer resources:
http://www.murga-linux.com/puppy/viewto ... 04&t=15801

Mark
Attachments
PB-Buttonbar.pup
(33.32 KiB) Downloaded 279 times
PB-Buttonbar.jpg
(1.97 KiB) Downloaded 1007 times
Last edited by MU on Sat 28 Apr 2007, 07:20, edited 1 time in total.

User avatar
HairyWill
Posts: 2928
Joined: Fri 26 May 2006, 23:29
Location: Southampton, UK

#15 Post by HairyWill »

very slick
I was pleased with my solution until I saw yours.
A proper glade gui is great. I think this is an excellent application of GINS.

PB-Buttonbar line 42 is exporting the wrong parameter
export RCFILE="$1"
should be replaced with
export RCFILE="$4"

Caching the glade.xml file would decrease the startup time. Maybe allow the glade file location as a start parameter.
I would like to make the bar autohide and possibly have an option for a bar where the button's mouse enter event can be used to launch an action (like fire a sidebar). I'm not sure if GINS is responsive enough for the second suggestion. I will try and do some testing over the weekend.
Will
contribute: [url=http://www.puppylinux.org]community website[/url], [url=http://tinyurl.com/6c3nm6]screenshots[/url], [url=http://tinyurl.com/6j2gbz]puplets[/url], [url=http://tinyurl.com/57gykn]wiki[/url], [url=http://tinyurl.com/5dgr83]rss[/url]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#16 Post by MU »

oh yes thanks, corrected the dotpup with the rcfile parameter.

The created gladefile is saved in line 105, and later deleted again.
You could add there a condition to create a copy used to cache it.
You also could load that in Glade to try to add new elements visually.

Ok, my friend just arrived, must leave now for weekend.

Bye, Mark

Post Reply