Joined: Feb. 2007
||Posted: May 20 2008,12:02
I just want to cover a few basics of jwm aesthetics here that are BEYOND the .jwmrc-theme and the .thm files you may have in /opt/jwmThemes. Some users may not be aware how easy it is to change the look of jwm to suit their tastes or needs. Or even to make it behave more like other window managers.
This is based on something posted by meo:
|The jwm menu has like a space between every item that the fluxbox menu doesn't have and that helps out a lot when you don't have a perfect eye-vision.|
The basic file controlling the appearance of jwm is .jwmrc. This contains the menu as well as other customizable features of jwm. DSL factors out several files, including the theme part of .jwmrc, and uses "include" tags so the whole thing can be easily managed.
The .jwmrc-theme is "included" from within .jwmrc. Though it contains color and font information, it doesn't contain two settings found in other files:
1. The size of the menu is still in .jwmrc, and
2. The size of the tray is factored out in .jwmrc-tray.
ADDITIONAL MENU SETTINGS NOT IN THE THEME FILE
Up near the top of .jwmrc are lines about the root menu. The user can add to or change some of the settings to suit tastes. The "height" tag can be made larger or smaller depending how much space the user wants between entries. The "onroot" tag can also be changed but be careful -- if you mess up that tag, you'll be without any menu until you fix the setting.
The DSL default has onroot="123". This is perfectly fine for most people, but it can be changed. Why would you change it? You can assign various menus to different mouse keys or to keystrokes (see .jwmrc-keys to see the keyboard shortcut for the menu -- more such menus can be added). My .jwmrc rootmenu entry looks like this:
<RootMenu height="12" onroot="3">
I wanted my menu tighter together so I reduced the height (I'm using a 10px font so I have a pixel space above and below that).
One thing you'll notice in jwm is how pressing any mouse key on the desktop results in the same menu. By changing the onroot to three, I've un-assigned the other two mouse clicks. Now my menu pops up on the desktop only with a right click -- similar to the way fluxbox operates. As I noted, other root menus can be assigned (added to .jwmrc or factored out separately as the mydsl part of the menu is). See my thread on jwm anti-WIMP modifications for more about this.
(Note: jwm will notify you of errors if you don't assign onroot="1" but will continue to function as long as it has an assigned root menu.)
ADDITIONAL TRAY SETTINGS NOT IN THE THEME FILE
The jwm tray in DSL has been factored out and is "included" in .jwmrc. There's a line at the top of the tray that can be changed to suit your needs and tastes as well. Here's mine:
<Tray halign="center" valign="top" height="21">
Compared to the DSL default, mine is shorter (giving me a little more screen real estate) and I've located it to the top of the screen. If the default is too small for you, you can make it bigger.
There are other things that can be changed in it, including its width. Anyone wanting it to have a less-wide appearance like the fluxbox tray could simply add a width="N" (where N is the desired width) setting in that same tag. You can set it on autohide. You can use it to swallow more apps. You can do pretty much whatever you want with it. You can also "include" more trays if you want them.
Or you can exclude things or move them around.
For example, I generally access my menus via keystroke (which is why the space in my menus is trivial -- no clumsy mouse pointing). That means I have no need for a menu button on my tray, so it's gone. I moved the pager to the right of the screen. I set maxwidth="100" on my tasklist ( <TaskList maxwidth="100"/>) tag so the entries on it are always fixed width instead of a percentage of the total depending how many things are open. I've also removed the dock tag from the tray because I don't want the few applications I use that are actually compliant and work with it to set up additional icons in my tray. I just have task list, pager, clock.
There are plenty of other aesthetic variables that can be changed, such as setting the clock up as desired with date, etc. Look at the jwm site for all the possible configuration variables and make jwm work for you the way you want it.
And if you screw up, remember there are copies of the DSL defaults in /etc/skel.
"It felt kind of like having a pitbull terrier on my rear end."
-- meo (copyright(c)2008, all rights reserved)