Archive for the 'jwm' Category

JWM Contrast Theme

April 23, 2008

This is my first accessibility mod. It’s a fairly high contrast theme for jwm. I’ve refrained from gradients and used only three colors/shades of grey: black, medium grey, white. Adjust the font to suit your needs.

<JWM>
<!– dark contrast theme: flat, no gradients; black, white, medium grey –>

<WindowStyle>
<Font antialias=”false”>fixed</Font>
<Width>4</Width>
<Height>18</Height>
<Active>
<Text>white</Text>
<Title>black</Title>
<Corner>grey50</Corner>
<Outline>white</Outline>
</Active>

<Inactive>
<Text>grey50</Text>
<Title>black</Title>
<Corner>grey50</Corner>
<Outline>black</Outline>
</Inactive>
</WindowStyle>

<TaskListStyle>
<Font antialias=”false”>fixed</Font>
<ActiveForeground>black</ActiveForeground>
<ActiveBackground>white</ActiveBackground>
<Foreground>grey50</Foreground>
<Background>black</Background>
</TaskListStyle>

<!– Additional TrayStyle attribute: insert –>
<TrayStyle>
<Font antialias=”false”>fixed</Font>
<Background>grey50</Background>
<Foreground>white</Foreground>
</TrayStyle>

<PagerStyle>
<Outline>black</Outline>
<Foreground>grey50</Foreground>
<Background>black</Background>
<ActiveForeground>black</ActiveForeground>
<ActiveBackground>white</ActiveBackground>
</PagerStyle>

<MenuStyle>
<Font antialias=”false”>fixed</Font>
<Foreground>white</Foreground>
<Background>black</Background>
<ActiveForeground>black</ActiveForeground>
<ActiveBackground>white</ActiveBackground>
</MenuStyle>

<PopupStyle>
<Font antialias=”false”>fixed</Font>
<Outline>white</Outline>
<Foreground>white</Foreground>
<Background>black</Background>
</PopupStyle>

<!– end dark contrast scheme –>
</JWM>

Here are two thumbnails showing contrast in menu and in other decorations (click for 800×600 view):

Maybe it would work better with the window decorations matching the task list colors — black on white — and then use the white on black for inactive windows. Please provide me feedback here or in the DSL forums, especially if it needs adjustments for more clarity (or if the use of grey is a problem and it needs to be black and white only).

My Cool Green jwm Theme

April 9, 2008

This is my current jwm theme. It can be used via an INCLUDE tag or inserted in the appropriate area (remove the open/close JWM tags) of jwmrc. It’s flat, and greenish on dark grey (my background for this is alternately grey13 or an image that is predominantly grey13). Note the lack of icons. This makes jwm much more nimble.

FWIW, the “choose something” aterm option is a zenity prompt asking for what color terminal to use. This has made it very easy to test different themes without resetting Xdefaults or creating even more menu entries.

Here’s the theme. It also looks good with other muted-bright colors like lightslategrey and lightseagreen.

————————————— code —————————–

<JWM>

<!– cool4jwm:flat lime-ish green and dark grey –>

<WindowStyle>
<Font antialias=”false”>fixed</Font>
<Width>4</Width>
<Height>16</Height>
<Active>
<Text>yellowgreen</Text>
<Title>grey33</Title>
<Corner>yellowgreen</Corner>
<Outline>grey22</Outline>
</Active>
<Inactive>
<Text>grey33</Text>
<Title>grey13</Title>
<Corner>grey44</Corner>
<Outline>black</Outline>
</Inactive>
</WindowStyle>

<TaskListStyle>
<Font antialias=”false”>fixed</Font>
<ActiveForeground>yellowgreen</ActiveForeground>
<ActiveBackground>grey33</ActiveBackground>
<Foreground>grey33</Foreground>
<Background>grey13</Background>
</TaskListStyle>

<!– Additional TrayStyle attribute: insert –>

<TrayStyle>
<Font antialias=”false”>fixed</Font>
<Background>yellowgreen</Background>
<Foreground>grey13</Foreground>
</TrayStyle>

<PagerStyle>
<Outline>black</Outline>
<Foreground>grey44</Foreground>
<Background>grey22</Background>
<ActiveForeground>yellowgreen</ActiveForeground>
<ActiveBackground>grey44</ActiveBackground>
</PagerStyle>

<MenuStyle>
<Font antialias=”false”>fixed</Font>
<Foreground>grey33</Foreground>
<Background>grey13</Background>
<ActiveForeground>grey13</ActiveForeground>
<ActiveBackground>yellowgreen</ActiveBackground>
</MenuStyle>

<PopupStyle>
<Font antialias=”false”>fixed</Font>
<Outline>darkred</Outline>
<Foreground>yellowgreen</Foreground>
<Background>black</Background>
</PopupStyle>

</JWM>

Vector: Making jwm Better

April 7, 2008

I alluded to a few things about Vector Linux that have nagged at me. Chief among them is the claim that it’s small and fast. Well, small and fast are very subjective. What’s small, light, fast to some is bloated to me.

That includes their choices of icons, wallpaper, and fonts. The font issue is one that irritated me more than anything when I went through clearing out bloat. I still have Cyrillic and Indo-Asian fonts to remove (and I’ll probably get rid of all the TTF stuff). The wallpaper, too, appears to have been included without much consideration for the hardware Vector targets. The default wallpaper which comes up in Xfce and jwm (I didn’t bother installing fluxbox) was over 600kb. That loads to RAM. There’s really no need for wallpaper, but it shouldn’t take up more than 100kb. At least that’s my take on it.

But my aggravation about the fonts was nothing until I removed Xfce and turned my attention to jwm. I noticed how sluggish it was compared to DSL. As I edited the jwm menu, I noticed how many large icons Vector includes. I ran du on /usr/share/icons this afternoon and had 55 MB of icons thrown onto my hard drive. Yuck. The jwm menu includes 82 lines with icons. The Vector Linux menu icon itself is over 43kb. That clogs up RAM! No wonder.

I’ve noticed how much more responsive jwm is after editing the menu to exclude icons. So I decided to take it up (down?!) another notch by recompiling jwm without xft blurring, xinerama, image (png, xpm, jpg) support, etc. The results are pretty impressive. I think it’s much faster than the default.

This image is just a stacked-halved screenshot, which was grabbed via Imagemagick’s import command then edited with GIMP.

This is with jwm running in X with a 15kb wallpaper, one instance of aterm with htop, after working on a very large spreadsheet and also using GIMP to edit some things (hence the latent swap shown in use). Yes, that’s the lovely and venerable fixed font in the tray (menu, titles, etc.). It works! It’s clear! What more is a font supposed to do?

I may go ahead and get rid of GTK2 and its related libraries (cairo, etc.) but I need to see how many things I’ll need to recompile. Or what I’ll have to give up. I’ve already removed a few GTK2 apps and compiled GTK1 alternatives — like xzgv for gqview.

Little things like that really make a big difference on older hardware.

Debian Out, Vector In

March 14, 2008

Ran into some issues with my tiny Debian hybrid install yesterday. One of the things I wrote about preferring Debian’s packaging to Slackware’s has its dark side: just because you can remove smaller parts to fine tune things, sometimes things are packaged together such that it’s not a good idea. Also, many apps are compiled for use on bleeding edge hardware with compile-time options that require downloading dependent libs and packages all users shouldn’t need. An example of that was the xbindkeys thing I wrote about the other day — massive download for a relatively small utility — especially since it can be compiled without guile; if emacs and vim can have no-X versions, other apps can be added to give users more choices suitable for their own hardware.

I was running into various problems when trying to pare the system down. If I want to remove A, then dpkg insists I have to remove B through K — but that I also have to install L through P, which aren’t currently installed, and then upgrade Q through V. In the process of it all, I was getting the messages that I had all these packages that were no longer needed. That’s when the real fun started.

In the process of all this, I decided it would be easier to start from the ground up and compile things as I see fit. That’s why I’ve favored ports over packages anyway, whether BSD or Linux. And why I’ve favored Slackware because it’s not inextricably tied to its binary packaging. You want source and ports, Slackware is good. You want packaging, Slackware is good.

Since I’m already running Vector, a Slackware desktop-oriented derivative, on my laptop and am very happy with it, I decided that would be good on my new hard drive, too. I’m now running Vector 5.9 both on laptop and desktop. I compiled kernel 2.6.24.3 for the desktop last night (2.6.24.3-r0313 #1 SMP PREEMPT Thu Mar 13 17:38:20 CDT 2008 i686 to be exact). I have one hardware problem to sort out, and that’s editing my xorg.config so the scroll on my new mouse works — minor issue, which I would ignore if not for having a new mouse.

Vector has slapt-get and gslapt, the Slackware packaging versions akin to apt-get from Debian. It also comes with cruxports4slack, which I’m not sure I want to mess with. If I do use a ports system, I’ll stick with pkgsrc (which I’ve used with great results in both Linux and BSD). If that’s what I wanted, though, I’d start with a base install of Slack or just use BSD.

I started removing packages last night before I started on the kernel — no need for Abiword, Gnumeric, or Gnome Office, didn’t need any of the wifi stuff on this because I’m wired, etc. Have a bit more to do yet. I won’t hang on to XFce even though it’s nice and my RAM use hasn’t been too bad, and the kdm and qt3 stuff will be gone tonight. I’ll stick with jwm and ratpoison.

My only regret is that I didn’t use the same config so I could use the kernel on the laptop, too. On the other hand, it’s been working so flawlessly that I’m not sure I want to change it except to test OpenBSD 4.3 and DragonFlyBSD for the new bwi (Broadcom 43xx) wrapper/cutter. If I ever get time to mess with either of those.

New Mouse, Rox Revisited

March 11, 2008

Got a new mouse so to put it to good use I decided to install rox-filer again. I’m using rox 2.5 from Debian testing.

I need to do some icon tweaking to reduce and standardize size. My new jwm theme (work in progres) is “pearl” and I’ll post it to my theme thread at the DSL forums when I get it all sorted out. I set up aterm and mrxvt to open maximized, no border, no title; I left xterm alone to “float” on the desktop.

The fourth icon from the left is my wrapper to force-resume screen. To reiterate my pro-WIMP point yesterday, one click on that icon sets into motion everything that it would take multiple keystrokes (and even tabbing for autocompletion) to do. The screenshot was taken and scaled with the same command from my ratmenu entry, piped into my jwm menu (vim rocks); I also have it bound to xbindkeys so I can press one button. Icons are messy and time consuming? I clicked on my home folder and dragged the icon for the image over the gimp icon on the desktop. Voila, I opened the image in gimp and edited ever so slightly.

My impressions of the updates to rox since version 1.2 (which is what I’ve used from MyDSL) are that it’s matured very well. It works fine in Linux even though the RISCOS-centric stuff like application directories aren’t exactly suited for Linux. Among the features that are different, I appreciate the customizable menus. I need to read through the changelogs and see what else has changed. I also have a lot of MIME-types to set up.

FWIW, I have more anti-WIMP window managers installed than I have ones designed for icons and menus and taskbars. And most of what I do in jwm is bound to keystroke (which I’m increasing even more since installing the bloated xbindkeys and related packages yesterday). I don’t agree with the arguments against WIMP because they tend to throw the baby out with the bathwater — there are sensible ways to configure systems to maximize productivity and ease of use. Menus and icons and all the rest can be part of that solution. Dogmatic objection to such use isn’t productive.

Ratpoison, Screen, SSH

March 10, 2008

I’ve spent a lot of time this past week (and weekend) using the same screen session on my primary computer remotely from my laptop. This has allowed me to do things like compile without burning up my laptop (it gets VERY hot compiling), run the same session of naim, etc., and check back in as I can. No down time between travel, commuting, work, play, etc. I pick up everything right where it is no matter where I go.

I’d installed ratpoison on the laptop when I first installed Vector Linux. At that time, I was willing to give XFce a fair shot against window managers with lower system requirements (not fluxbox, more like jwm). I liked it, but it wasn’t as lean as I thought it should be. Then I installed KDE for a bit. I really like having a fully integrated system, but my laptop isn’t really up to running that.

So I’ve removed both XFce and KDE. I’ve been using JWM with a lot of my anti-WIMP mods from Damn Small Linux as my primary window manager. I’ve been using ratpoison more often again lately.

Not just on my laptop — I went ahead and installed it on desktop, too. I installed ratpoison on this computer because I noticed my USB mouse kept locking up and dmesg informs me that Linux can’t enable port 2 and maybe the USB cable is bad. Yep. After 10 years of abuse, it probably is. Once again, the mouse is unplugged and I’ve set things up so I can live without it (but I did plug it in so I can scroll while I edit this online).

I removed 9menu, which installs with ratpoison via Debian testing, and installed ratmenu as well as xbindkeys. I would’ve compiled xbindkeys on my own if I’d noticed the Debian version requires libguile-ltdl-1, libqthreads-12, and guile-1.6-libs — 2.654 MB(!!!). Ouch. I might go ahead and do that but I have this thing down to under 1.5 GB of disk use now.

What’s not to love about that?! It’s just vim with my ratmenu running in screen. I have a dark-ish grey (grey33) background and default grey text (good old size 10 fixed font!) in aterm. That’s the same screen session that’s been running for over a week, detached and re-attached probably 200 times locally and remotely.

I’m not anti-WIMP. I know there are people who carp on icons and menus and say they get in the way. Do they? Or are they really any different from shell wrappers and aliases? I don’t think they are. I think of that when I edit menus and aliases and write wrapper scripts.

Let me give an example. You probably can’t read the second to the last line clearly in the menu: it says “screen-scaled.” I wanted the ability to produce a scaled screenshot on the fly. So I appended an ImageMagick import line with convert to produce a 400×300 shot suitable for posting on blogs. I write the command(s) once either way whether it’s a wrapper script or a menu item or an alias. Let’s say I alias it as “scaledshot.” When I type sc-TAB, I’d get 28 possibilities for autocompletion. Add the l-TAB, four possibilities. So I’m already at five keystrokes and in need of another e-TAB — seven strokes. I know I can limit that with zsh by TABbing until I find the right one. That still would put me at six anyway.

How much of a barrier is my menu? Ctrl-z-y (I rebound my escape to z) give me a menu. Two up arrows take me backward to that line. Return. Done. Five strokes. Too many? I can bind that to shift-print (print is taken up for the full shot) or something else. If I were so inclined, I could bind it to an icon in another window manager and with one short motion and one click I’d have my stupid 400×300 screenshot to show the world how boring my computers are most of the time.

Anyway, I’m not getting too carried away with filling in the menu. Most stuff will be console anyway and run in screen. The point is, there are plenty of ways to do things. Right now, this is mine. At least til I go buy a new mouse.

JWM on Debian

March 5, 2008

Just a quick shot before I go to bed. I didn’t get a JWM entry for kdm when I installed JWM from Sid repository so I added my own link to the Jwm.desktop file. Made a few quick changes to get away from KDE apps. Konsole sucks outside of KDE so I added mrxvt — I get the tabbed terminal without the bloat. Set it same as I run terminals in DSL (no title or borders, maximized). Spent a little time tonight editing a menu and looking at what to leave in, what to add, and what to remove.

That’s right. Boring! Just the way I like it. Default colors for jwm, solid grey22 background.

There’s a lot I want to do to pare this system down further; even with GTK2, I think I can get it down so I can get a sub-80MB ISO. KDE is going this week — not so reluctantly even though I appreciate it enough to install it on my bigger hard drive and faster computer. I want a few apps familiar to DSL users like emelfm(2) and sylpheed (maybe mutt instead).

BTW, previous uptime was 32.5 days. Down because of power failure during excessively windy conditions (40+ mph) last night.