Creating a buttonbar for use in PuppyLinux

A home for all kinds of Puppy related projects
Message
Author
User avatar
richard.a
Posts: 513
Joined: Tue 15 Aug 2006, 08:00
Location: Adelaide, South Australia

Creating a buttonbar for use in PuppyLinux

#1 Post by richard.a »

Creating a buttonbar (or two) for use in PuppyLinux

I had this idea while updating Puppy v2.10 Professional to as near current as possible, to run on earlier computers I had acquired either for nothing, or for next-to-nothing, as I was engaged in a recycling programme, so to speak.

I had found that the version after - which was 2.11 - was the last that would run on a series of older, yet still very usable, computers.

Version 2.12 and later won't, unfortunately, and that includes some of the IBM Aptiva models, HP Pavilions and a range of other computers built in Taiwan by Lenovo are such. Not all of them; depends entirely on the BIOS and other things internal. In some cases they are Celerons just under the 1 GHz speed, so we aren't talking about antiques...
Image

For a while, I've been looking at removing some of the desktop icons, and replacing them with button bars, similar to, or smaller than the 40 pixel standard pinboard ones. Creating floating button bars is a great way to eliminate desktop clutter.

I got the idea from this cluster of buttons, which was part of 2.10pro...
Image
I experimented with one for the "other" office applications (i.e. not OpenOffice.org), including stand-alone word processor and spreadsheet, and a close look at 2.15 and EZ showed me that the word "Documents" was used there succesfully. So I created one like this...
Image
But the 48 pixel icons were really large and they still looked awkward with text underneath that seemed unable to be resized, even with the icon size dropped to 32 px...
Image

Removing the text altogether created a better look, as we can see here...
Image

and here, finally, we have 24 pixel icons which are starting to look more like it. Small icons without a legend can more easily be done as a single bar, after all.
Image

One has to wonder if human people can use images alone productively; of
course in Windows they have done so for years, so I'm open to suggestions here.

I went on to create a "Shut Down" bar
Image

and a "Control Panel" which seemed to work quite nicely; and these buttons give an indication if they are being pressed. I should mention that items that are not installed just plain don't work; if they are subsequently installed, the links work correctly.
Image
Image

Encouraged by success, I created others...
Image
Image

Then came this, just a "parent" one that can initiate all the "children" created... which can just as easily be picked from a taskbar icon, or a menu call, or even a desktop icon (although getting away from desktop clutter was the object of the exercise).
Image
Image


The concept - for simplicity - has incorporated many of the menu default applications (which the menu - of course - does not display because they are remarked out until installed as dotpups or pupgets); this means that while some buttons may well not work initially (because the applications have not been installed as extras yet), when installed, the associated buttons will work. Obviously this can't be guaranteed in every case, but the standard syntax employed in the scripts makes modification straight forward. Extra icons are provided for some other applications, and in a number of cases there is a choice of different icons... as you can see in a capture below I have created three for AbiWord.

The design has everything for each particular buttonbar in its own directory (icons and script), which can be zipped up and unzipped simply; there is a seperate folder for each string of buttons, with its own icons, including several extras and duplicates...
Image Image
Image

ALL of these button bars also work successfully in versions 2.02, 2.11, and are forwards-compatible with "later" versions of 2.12, 2.14, 2.15. and 2.16, even though created in v2.11 initially as part of the modernising of v2.10pro

They even work in v 1.09 for Windows98 which I have installed in a number of machines, with very great success. The script file for the shutdown dialogue describes a minor command-line change of syntax needed in version 1.

You can download the basic self-contained directories with both 48x48 pixel icons and 24x24pixel icons, plus associated scripts from herein a zipped format.

Unzip (extract) them to the filesystem root, and they will end up correctly under /usr/local/buttonbars/. As mentioned, all of the button bars are grouped in the one directory for easy installation and removal.

If you use the basic scripts, you will end up with 24x24 icons without text; if you use the scripts ending in "-text" you will have 48pixel icons with a text legend below.

Be warned that if you make your own, and you need to remove text from under an icon, you will cause the script to fail if you leave any of the line's content behind... it seems that a blank instruction causes a hernia :)


Buttonbars are good for Removing Desktop Clutter...
Compare these desktops... The left one is the worst-case scenario... a 1024x768 pixel desktop (used with small nonitors), with considerable real estate taken up by icons; on the right is the tidied-up version at 1600x1200 resolution with the icons round the edge, with as an option showing the master iconbar.
Image Image

While nothing whatsoever to do with button bars, I thought I'd mention another customisation. I've discovered it isn't difficult to enable the Print/Screen button (like WhoDo did in 2.15ce) to initiate taking a screen capture - which is also used in several other operating systems, including Windows, but surprisingly in few Linuxes.

All it needs is a single line of code in the /root/.jwmrc file, near the bottom, in the key redefinition section...

<Key key="Print">exec:mtpaint -s</Key>

It doesn't seem to work in Ver 1.09 for Windows, where it locks the keyboard up, totally inoperable, if you try it (needs quitting X to the prompt to fix).

And the capture below is from v1.0.9 for Windows98 running under Grub from within SuSE :) ...
Image

What about the code? I hear you say...
This is the code for a two-line display with text underneath. It is pretty straightforward to work out how to modify it...

Code: Select all

#!/bin/bash


export home="

 <vbox>
  <hbox>

      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/home3.png</input>
      <action>exec rox /root</action>
      </button>
      <text><label>Home</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/hdd.png</input>
      <action>exec pmount</action>
      </button>
      <text><label>Drives</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/pc.xpm</input>
      <action>exec mut</action>
      </button>
      <text><label>Computer</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/support.png</input>
      <action>exec /usr/sbin/puppyhelp</action>
      </button>
      <text><label>Help</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/find.png</input>
      <action>exec /usr/local/bin/pfind</action>
      </button>
      <text><label>Find</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/lock2.png</input>
      <action>exec /usr/local/apps/Xlock/AppRun</action>
      </button>
      <text><label>Lock</label></text>
      </vbox>

  </hbox>
  
  <hbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/config.png</input>
      <action>exec rox /usr/local/buttonbars/ControlPanel/controlpanel</action>
      </button>
      <text><label>C-Panel</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/www.png</input>
      <action>exec rox /usr/local/buttonbars/internet/internet</action>
      </button>
      <text><label>Internet</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/mm.png</input>
      <action>exec rox /usr/local/buttonbars/multimedia/multimedia</action>
      </button>
      <text><label>Mmedia</label></text>
      </vbox>


      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/write.png</input>
      <action>exec rox /usr/local/buttonbars/documents/documents</action>
      </button>
      <text><label>documents</label></text>
      </vbox>

      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/ooo.png</input>
      <action>exec /usr/local/OpenOffice-2.03/OpenOffice</action>
      </button>
      <text><label>OpenOffice</label></text>
      </vbox>

      <vbox>
      <button>
      <input file>/usr/local/buttonbars/home/icons48/exit.png</input>
      <action>exec rox /usr/local/buttonbars/shutdown/shutdown-text</action>
      </button>
      <text><label>ShutDown</label></text>
      </vbox>

  </hbox>
  
 </vbox>


"
gtkdialog --program home
unset home
#clear
exit 0


# this is /usr/local/buttonbars/home/home
# last edited 1946 2007-10-03

Enjoy it.

Richard in Adelaide
[i]Have you noticed editing is always needed for the inevitable typos that weren't there when you hit the "post" button?[/i]

[img]http://micro-hard.dreamhosters.com/416434.png[/img]

User avatar
PuppyLinuxGuy
Posts: 23
Joined: Wed 25 Jul 2007, 15:27
Location: I'll answer later...my keyboard's frozen.
Contact:

Some ideas...

#2 Post by PuppyLinuxGuy »

Hi! I'm working on a project called Puppy Linux Portable, for tablet PCs, and I've been thinking about having a button bar at the bottom for easy access to your favorite programs. I have a few suggestions:
:arrow: What if you make the sub-bars from the home bar disappear after x amount of seconds, so they don't clutter the screen?
:arrow: I don't know if you can, but the bar having no title and a transparent background would give it a nice clean look, like it was part of the desktop.

Good luck!
Current Project: SphereCat1.com
[url=http://geeks.pirillo.com/profiles/SphereCat1]My Hangout - stop by and leave a comment![/url]
[size=84]now known as SphereCat1[/size][img]http://spherecat1.googlepages.com/spherecat1-small-transparent.png[/img]

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

#3 Post by Dougal »

Note that JWM allows multiple "trays" (panels), so you can just add at the bottom of jwmrc an include for jwmrc-tray2, then create it with only buttons -- it can be positioned anywhere along the edges of the screen, vertical or horizontal.
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
T_Hobbit
Posts: 400
Joined: Sat 27 May 2006, 10:50
Location: Portugal - Lisbon

#4 Post by T_Hobbit »

Dougal: does JWM accept quick access buttons again? They were removed on older version of Puppy due to conflicts...

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

#5 Post by Dougal »

T_Hobbit wrote:Dougal: does JWM accept quick access buttons again? They were removed on older version of Puppy due to conflicts...
I'm not sure what you mean by "quick access" buttons... it's what is usually called "launchers" -- buttons that you set an icon for and which launch an app -- works ok for me.
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
T_Hobbit
Posts: 400
Joined: Sat 27 May 2006, 10:50
Location: Portugal - Lisbon

#6 Post by T_Hobbit »

It's that. I just edit /root/.jwmrc-tray, uncomment the line for the buttons, restart JWM and they are there now!
Why are this feature turn off from so long ago?

User avatar
Rhino
Posts: 263
Joined: Wed 04 May 2005, 13:28
Location: Cincinnati, OH, USA
Contact:

#7 Post by Rhino »

The buttonbar is a nice idea for cleaning up clutter. You might also consider using wbar. Wbar works very well in Puppy and it looks very nice. Check it out here.
Visit the Puppy Linux Video Tutorials @ http://rhinoweb.us

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

#8 Post by Dougal »

T_Hobbit wrote:It's that. I just edit /root/.jwmrc-tray, uncomment the line for the buttons, restart JWM and they are there now!
Why are this feature turn off from so long ago?
I'm not sure really. I know the "show desktop" one was removed because there was a problem with it minimizing the Rox pinboard (which can be solved by ticking the "override WM control of desktop" option in the Rox settings).
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
richard.a
Posts: 513
Joined: Tue 15 Aug 2006, 08:00
Location: Adelaide, South Australia

Re: Some ideas...

#9 Post by richard.a »

I've just discovered that this forum does not keep me logged in even though I've checked the box, so after visiting when I got the email, it didn't know I'd been, and sent me no more reminders. Sorry folks, rude of me to appear to ignore your suggestions.

PuppyLinuxGuy wrote:I don't know if you can, but the bar having no title and a transparent background would give it a nice clean look, like it was part of the desktop.
I agree. While the idea was just a concept, it's growing on me slowly :)

Dougal wrote:Note that JWM allows multiple "trays" (panels), so you can just add at the bottom of jwmrc an include for jwmrc-tray2, then create it with only buttons -- it can be positioned anywhere along the edges of the screen, vertical or horizontal.
I couldn't find any reference to this, and the nearest I could find was the ability to add limited Gnome features which I found in another thread.
Might be good to revisit this with your suggestion; can you point me anywhere where I can read about how this is or can be done?

Dougal wrote:
T_Hobbit wrote:Dougal: does JWM accept quick access buttons again? They were removed on older version of Puppy due to conflicts...
I'm not sure what you mean by "quick access" buttons... it's what is usually called "launchers" -- buttons that you set an icon for and which launch an app -- works ok for me.
These are what in MS Windows is called a "Quick Launch" section of the taskbar. Warren's magnificent IceWM Puppy 2.15 has these by default. I noticed they had been disabled on new releases a while back, and ever since they were turned off by Barry, I've re-enabled them by removing the remarking at the start of those lines in .jwmrc - and had no problems

Rhino wrote:The buttonbar is a nice idea for cleaning up clutter. You might also consider using wbar. Wbar works very well in Puppy and it looks very nice. Check it out here.
Thanks for the pointer; I will when I get a handful of round tuits :)
[i]Have you noticed editing is always needed for the inevitable typos that weren't there when you hit the "post" button?[/i]

[img]http://micro-hard.dreamhosters.com/416434.png[/img]

User avatar
nutts4life
Posts: 263
Joined: Fri 15 Feb 2008, 09:52
Location: UK

#10 Post by nutts4life »

Guys,

this is a post i that i commented on about Linpus Lite:
http://www.murga-linux.com/puppy/viewtopic.php?t=24856

I think this is kind of thing we are really talking about, especially for a tabley PC.

I'm actaully really keen to start development on this, has anybody got any ideas as to the quickest and best way.

QT4? GTK2? murgalua?

Any thoughts?

n4l

User avatar
richard.a
Posts: 513
Joined: Tue 15 Aug 2006, 08:00
Location: Adelaide, South Australia

#11 Post by richard.a »

nutts4life wrote:this is a post i that i commented on about Linpus Lite:
http://www.murga-linux.com/puppy/viewtopic.php?t=24856

I think this is kind of thing we are really talking about, especially for a tabley PC.

I'm actaully really keen to start development on this, has anybody got any ideas as to the quickest and best way.

QT4? GTK2? murgalua?

Any thoughts?
This is the desktop image shown in that post...
Image

Interesting you should post that link. You might like to compare this image here...
Image

which I posted in the Linspire Linux forum in one of a series of threads about their closing down their Click-n-Run warehouse.

That thread is here.

I discovered this product by accident during the 24 hours notice they gave all users of closing the server.

It is an installable after-market desktop option that puts the group of most frequently used functions on the entire desktop - ideal for small and/or low resolution screens, and it works extremely well. Seems to be a flash thing.

I also wonder if the Linspire product is open source and adaptable as it stands, and able to be modified.

I'm so taken with it that I've started playing with a sort of look-alike, and then along came your post, so I might try and create something that's the best of a bit of both worlds. That is a bit out of my league, probably :)

Richard
[i]Have you noticed editing is always needed for the inevitable typos that weren't there when you hit the "post" button?[/i]

[img]http://micro-hard.dreamhosters.com/416434.png[/img]

User avatar
nutts4life
Posts: 263
Joined: Fri 15 Feb 2008, 09:52
Location: UK

#12 Post by nutts4life »

Richard.a,

Good work indeed. I don't like Linspire as i don't like what they stand for. I just feel they have mixed up the realm of what linux stands for. Anyway, that's my say. I'm sure there a bunch of good guys!

Back on track......

That linspire mini desktop setup does look good. It would be great if you could find the code.

I think you get what i'm looking at, my belief is that puppy can move away from this windows UI to market itself seperate from it's contendors and this would be a major step forward down that path.

I've written to John Murga (the main man) for advice as to how we could start doing something like this.

Off the top of my head this really shouldn't be too difficult, esp. if we go down the Linpus route. Linpus's add-on is just an applications that stays ontop of the desktop and maximised. All the application is, is a bunch of pretty buttons that open applictions and the ability to change the buttons, by clicking buttons at the top of the screen.

My thoughts is to write an app in either qt4, gtk2 or murgalua(tlk) that does this.
Any help from the community would be great to aid my decision?????

thanks richard.a

n4l

User avatar
Boo2themoon
Posts: 54
Joined: Wed 15 Aug 2007, 20:50
Location: West Country UK

#13 Post by Boo2themoon »

Just a thought here, but couldn't a dock with stacks be modified to work like this?

I tried gOS space recently, it uses the awn dock with stacks. I noticed that the stacks open in a transparent window that auto closes when you click the desktop.

Maybe the stacks could be rearrange into grids and custom rectangular buttons made for the dock?

Awn though, I think would need compiz but there maybe another. Can wbar use stacks?

http://dev.thinkgos.com/

User avatar
nutts4life
Posts: 263
Joined: Fri 15 Feb 2008, 09:52
Location: UK

#14 Post by nutts4life »

Boo2themoon,

Great work.. that's the kind of ideas i'm looking for.
Stacks are very popular in the new Mac OS X Leapord.
Ubuntu has been looking into them

So here's the list. Alot require Beryl/ Compiz. I think these should be out of the question for obvious reasons.

AWN - (avant-window-navigator) New version needs Compiz, they have a non Compiz version in the pipeline:
https://launchpad.net/awn
http://www.helium.com/items/929312-firs ... pple-first

gDesklet's StarterBar : Doesn't seem to have stacks so no go there.

kiba-dock: This looks like gtk, but with some special libs. http://www.kiba-dock.org/. BUT AGAIN NO STACKS yet.


Gimmie:
http://www.beatniksoftware.com/gimmie/Main_Page
This is most interesting of them all and i think it looks great. It seems to be gnome specific, i'm not sure if that means, just gnome panel or what.

Have a look guys!!!

n4l

User avatar
nutts4life
Posts: 263
Joined: Fri 15 Feb 2008, 09:52
Location: UK

#15 Post by nutts4life »

boo2themoon,

I've done a little more delving. AWN just needs a transparency engine. compiz/beryl are good for this. But this can be acheived using XFCE with that option switched on at compile time. I doubt this is case for our xfce's.

So if puppy is used with XFCE with transparency, we are good to go.

Gimmie, seems to be built using pygtk, which isn't too bad. But doesn't need tranparency. It seems to be a very alternative way of managing the desktop.

To answer your question about wbar. No wbar doesn't have stacking. It's just a simple OS like panel. Nothing more fancy. But it is small!

n4l

User avatar
Boo2themoon
Posts: 54
Joined: Wed 15 Aug 2007, 20:50
Location: West Country UK

#16 Post by Boo2themoon »

nutts4life

Glad my idea wasn't too silly :D

Being a non technical bloke, I'm never too sure whether to post in these high flying forums!

Anyway having gotten away with that one, I'll suggest another lol.

Would it be possible to add multiple menu/start buttons to the taskbar, dock or Xfce panel? Each with its own title, ie internet, work, play etc?

Linux Mints menu even uses columns.

Just another idea from a non techie :)

I like your idea very much and will keep an eye on your progression.

All the best,

Boo

User avatar
nutts4life
Posts: 263
Joined: Fri 15 Feb 2008, 09:52
Location: UK

#17 Post by nutts4life »

Boo2themoon,

Yes that can be done on both Icewm and XFCE, without much hassle at all.

And i've thought about that idea. It's just the flexibilty of the solution. You can only have the icons going vertically and however you try the xfce panel can never look as cool as something like awn.

It is a good thought and it will provide a good interface for a touchpad screen. but i'm not sure it would make the user interface easier for a newbie.

Good thought, sounds like you're on a role!

n4l

aragon
Posts: 1698
Joined: Mon 15 Oct 2007, 12:18
Location: Germany

#18 Post by aragon »

cheers to all,

to my opinion, you're all right, buttonbars help, to make things clearer.

but i think, puppy with jwm has enough 'features' to do so in a very minimal way.

as mentioned before, making a buttonbar is simple (as i'm able to :wink: ). and also mentioned before, jwm is able to have 2 panels. in combination of this, one is able to have a fully configured panel with buttons to launch the self-created buttonbars.

the advantage of this way: you don't need additional apps, just some icons and some ideas, which groups/apps should be started with the buttons from the panel.

as an example, i've attached a picture of my desktop. there are 2 buttonbars, the shutdown (adapted from the ice-wm-shutdown)is started by the poweroff-button from the upper panel, the other one for my gmpc/mpd is started from the menu.

what do i want to say??? Everything is build in.

aragon
Attachments
desktop.png
(48.37 KiB) Downloaded 948 times

User avatar
nutts4life
Posts: 263
Joined: Fri 15 Feb 2008, 09:52
Location: UK

#19 Post by nutts4life »

aragon,

First of all, nice cans.

There's no doubt that jwm can produce a set of buttons on a dialog, but i'm talking about a complete user experience. Were the desktop is simplified with a iconified desktop.

Basically allowing the user only ONE choice of how to do one task.

n4l

User avatar
CatDude
Posts: 1563
Joined: Wed 03 Jan 2007, 17:49
Location: UK

#20 Post by CatDude »

Hi All

Dont know if you have seen this: JWM with flyout tray menus

I have been using it for quite a while now, in puppy 216.
Keeps the desktop very uncluttered. 8) 8)

Just thought i would bring it up, somebody may like to use it.

CatDude
.
[img]http://www.smokey01.com/CatDude/.temp/sigs/acer-futile.gif[/img]

Post Reply