How to imitate the "Microsoft Office Shortcut Bar"

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

How to imitate the "Microsoft Office Shortcut Bar"

#1 Post by disciple »

DESPITE THE LONG POST, THIS IS VERY SIMPLE
I am just explaining it well.

If you don't know what this is about, there is a screenshot below.

In Windows, I've always liked to use the Microsoft Office Shortcut bar instead of the quicklauch thing on the taskbar - put my favourite programs and "show desktop" on it, and tell it to autofit into the Title Bar. I do this because then I have more space on my taskbar, and otherwise there is a whole lot of wasted space in the Title Bar. I know other people duplicate their quicklaunch bar with it, and use whichever is closest to their mouse pointer.

I have found that JWM is great because it is very simple to do the same thing, and a whole lot more reliable (the Microsoft thing won't stay on top of some programs) - all we do is add an extra panel (taskbar) and put what we want on it.

Open up your .jwmrc-tray file and copy everything between and including this line:
<Tray autohide="true" x="0" y="-1" border="1" height="26" >
and this one: </Tray>
Then paste it immediately after that last line (this just duplicates your existing taskbar) and delete everything you don't want (eg clock, start button... )
Then change the location of it on your screen - change the first line to something like this:
<Tray autohide="true" x="-100" border="1" height="26" width="0" valign="top">
The width="0" autofits the width, negative x value offsets it from the right hand side of the screen etc - if you want to learn about it look at JWM in the help, or at Joe's website.

So the section that I have added to my .jwmrc-tray is this:

<Tray autohide="true" x="-100" border="1" height="26" width="0" valign="top">

<TrayButton label="" icon="desktop.xpm" popup="Show Desktop">showdesktop</TrayButton>

<TrayButton label="" icon="mozicon16.xpm" popup="Browser">exec:defaultbrowser</TrayButton>

<TrayButton label="" icon="mini-mail.xpm" popup="Email">exec:defaultemail</TrayButton>

<!-- Additional Pager attributes; width, height -->
<Pager/>
</Tray>

To see your new bar, save the file and restart jwm.
I haven't got around to adding more useful programs to either bar yet, and I am in Puppy 1.09, so maybe you can't just copy mine if you are in another version and don't have Firefox (the mozicon line) - I'm not sure, have a look at the rest of your .jwmrc-tray and see - EDIT - I think it will work, but you may need to change the icon.
The Pager is the buttons to change virtual desktop/workspace or whatever you want to call it - as you can see, I've left it there at the moment - you may not want to.

There is one problem, which is that you have to have it on autohide, otherwise programs like AbiWord, Gnumeric, Firefox, Openoffice, won't maximise to the very top of the screen, so it kind of defeats the purpose of having it.
If anyone knows of a way to make it work without autohide, I'd be grateful if they'd show me how.

EDIT-EDIT-EDIT
For the screenshot I've added other programs - I'll put a detailed explanation of what you need to know for this (which isn't a lot) in a new post. I put a label on the Show Desktop button just to demonstrate that you can (it is just like the Start button) - you can also have a label and no icon, just by leaving out the icon part. As you can see, I had my cursor over my MUT button to demonstrate the popups/tooltips - If anyone knows how to prevent these from being half off the top of the screen when your cursor is near the top, please tell us.
Attachments
screenshot.jpg
(85.43 KiB) Downloaded 1220 times
Last edited by disciple on Sat 17 Jun 2006, 06:17, edited 3 times in total.

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

This is now my whole .jwmrc-tray file,

#2 Post by disciple »

This is now my whole .jwmrc-tray file, in case it helps anybody understand:

<JWM>
<Tray autohide="true" x="0" y="-1" border="1" height="26" >

<!-- Additional TrayButton attribute: label -->
<TrayButton label="Start" icon="mini-dog.xpm"/>

<TrayButton label="" icon="desktop.xpm" popup="Show Desktop">showdesktop</TrayButton>

<TrayButton label="" icon="mozicon16.xpm" popup="Browser">exec:defaultbrowser</TrayButton>

<TrayButton label="" icon="mini-mail.xpm" popup="Email">exec:defaultemail</TrayButton>

<!-- Additional Pager attributes; width, height -->
<Pager/>

<!-- Additional TaskList attribute: maxwidth -->
<TaskList/>

<!-- Additional Swallow attribute: height -->
<Swallow name="blinky" width="39">
blinky
</Swallow>

<Swallow name="xload" width="32">
xload -nolabel -bg "#BCBAB5" -fg red -hl white
</Swallow>
<Clock>miniXcal</Clock>
</Tray>
<Tray autohide="true" x="-100" border="1" height="26" width="0" valign="top">

<TrayButton label="" icon="desktop.xpm" popup="Show Desktop">showdesktop</TrayButton>

<TrayButton label="" icon="mozicon16.xpm" popup="Browser">exec:defaultbrowser</TrayButton>

<TrayButton label="" icon="mini-mail.xpm" popup="Email">exec:defaultemail</TrayButton>

<!-- Additional Pager attributes; width, height -->
<Pager/>
</Tray>
</JWM>

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

more ideas for .jwmrc-tray

#3 Post by Ted Dog »

Code: Select all

<TrayButton popup="Mount" icon="mut.xpm">exec: pmount</TrayButton>
adds mount/unmount wizard

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#4 Post by disciple »

Cool - that's really useful

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#5 Post by Flash »

Disciple, could you take a (low-res 800 x 600 JPEG) screenshot and add it to your original post? If you really want to get fancy you could add notation to it.

A picture is worth a thousand words you know. :)

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

How to add programs to the bar

#6 Post by disciple »

OK, thanks Flash.
HOW TO ADD PROGRAMS TO THE PANEL

(This is what I think, so if I am wrong please correct me)
Basically to add a program to the panel you need to know one or two things:
1 a command that you can type into a console to start the program
2 (optional) what icon you want it to use

1
One way to find the first if it has a shortcut somewhere eg on the desktop is:
right click on the shortcut, file 'whatever it is', open as text, and look at what is after the "exec". (Try typing this into a console to see what I meant above). Another way (if it is in the Start menu) is to look into the menu entries - first look in: .jwmrc, for the line for the relevant menu, eg:
<Include>exec:jwm-xdgmenu /usr/etc/xdg/menus/puppy-applications.menu</Include>
which corresponds to the next menu level and points you to a menu file that you can look in to find the command attached to the button you are looking for, or to another menu file - there is a new file for each level of menu (that pops out from a menu entry with an arrow on it), and this can be painful if you are looking for a lot of things this way.
I'm not sure, but you might actually be able to put pretty much any command that you can type at a generic command prompt on a button.

2
Now to find that icon. If you want to use one from a shortcut on the desktop, just right-click, file 'whatever it is', set icon, and it will tell you where it is - just use its filename and extension. I'm not sure how this works, whether you can use an icon anywhere like this, or if you need to use its path depending on where it is. All the ones I've used just need the name. Shortcuts (and maybe the program executables) elsewhere will work the same way if they use the icon you want, or if it is used in the Start menu, you can look for it as I described in Step 1

Now to add the button:
Open .jwmrc-tray, and find the position where you want to put it in the tray (eg between the browser button and the mail button).
Copy and paste another button entry here, because it is easier. e.g.
<TrayButton label="" icon="desktop.xpm" popup="Show Desktop">showdesktop</TrayButton>
The label is text like on the start button in quotes- you can have it, or not, and you can also delete the label="" if you want.
The icon is the name of the icon in quotes - you can have it, or not, and you can also delete the icon="" if you want.
The popup is the tooltip text in quotes - you can have it, or not, and you can also delete the popup="" if you want.
It seems label, icon and popup can be in any order.
Presumably you will want one or both of the label or the icon - you don't actually need one, but you'll get a narrow button!
The bit in between the >< where showdesktop is is what the button actually does - I'm guessing this is a command for jwm or something, as everything else seems to need an exec: in front of it eg >exec:leafpad< or >exec: gnumeric<, the space is optional.


So here is the code for my basic useful "shortcut bar" - I have it in .jwmrc-tray, after the code for my normal taskbar. I imagine if you wanted, you could use it in any standard version of Puppy, although the mozicon16.xpm might not work (I am in Puppy 1.09, so have Firefox instead of Mozilla) if it doesn't work you'lll just have a button without an icon in the meantime. Notice the 'default' entries, eg defaultbrowser - it may be possible to have them for other things as well, so code can be copied between versions with different programs.
Obviously if you want to add entries in your normal taskbar you just insert them in the code for it, and if you want to remove them you can just delete them.

<Tray autohide="true" x="-100" border="1" height="26" width="0" valign="top">

<TrayButton label="" icon="desktop.xpm" popup="Show Desktop">showdesktop</TrayButton>

<TrayButton popup="Text editor" icon="edit48.png">exec: leafpad</TrayButton>

<TrayButton popup="Word Processing" icon="word48.png">exec: abiword</TrayButton>

<TrayButton popup="Spreadsheets" icon="spread48.png">exec: exec gnumeric</TrayButton>

<TrayButton label="" icon="mozicon16.xpm" popup="Internet">exec: defaultbrowser</TrayButton>

<TrayButton icon="mini-mail.xpm" popup="Email">exec: defaultemail</TrayButton>

<TrayButton popup="Drives" icon="mut.xpm">exec: mut</TrayButton>

<!-- Additional Pager attributes; width, height -->
<Pager/>

Perhaps this information should be added to the Wiki or something as "how to add programs to the taskbar'- it could be very useful to new puppies - it was something I wanted to know how to do coming from windows - I didn't realise it was possible till I got Puppy 1.09 (I guess it may not have been in earlier versions). What do you think?
Attachments
screenshot.jpg
(6.85 KiB) Downloaded 1503 times

User avatar
DaveS
Posts: 3685
Joined: Thu 09 Oct 2008, 16:01
Location: UK

#7 Post by DaveS »

Here is another taskbar trick: you might want to add a button to launch a program with a particular file loaded. In my case I regularly update my account program, which is written in OpenOffice Base. The tray does not support this directly, as it will only accept an executable program, BUT, you can create an executable script, and add that:
1)determine the command line which will load the program with the file loaded. This is usually just the normal run command that you would type into terminal to make it happen. Here is my command as an example:
/opt/openoffice.org2.4/program/sbase ~/my-documents/data/accounts.odb
The first part runs OpenOffice, and the second part adds the file. Test the command in terminal if you are unsure.
2)type the command into a text editor, and save it as (yourname).sh
3)Find the file in Rox, right click on it, and from the popup menu select properties, and in the dialogue, tick the 'exec' boxes. This will turn the script into an executable program.
4)add to your tray
bingo............... all done. :wink:
Spup Frugal HD and USB
Root forever!

Post Reply