site  contact  subhomenews

Back on JWM for now

January 24, 2009 — BarryK
I've got a screen flicker and a "pipeline underrun" error with the Xorg Intel driver, as reported in recent blog posts. I hadn't noticed this before, and I was wondering if some particular application in Woof is upsetting the Xorg driver. As an experiment I took out all the XFCE stuff and went back to JWM -- nup, still have the flicker. Next I will see if HAL or Dbus are the culprits. Of course, it may not be any particular app., just the Xorg driver itself.

Anyway, I'm very happy to be back with JWM. The most recent build of Woof with XFCE, that is with the Xfce-mcs-manager (provides infrastructure for communicating between the XFCE applications), Xfwm4 (window manager), Xf-panel, and Xfdesktop (only using the menu component of this as the desktop is provided by Rox), weighed in at 97.51MB. I achieved the smaller size by cutting out many of the more exotic kernel modules. The build also has a selection of panel applets, such as audio, network and CPU load.

I then pulled out all the XFCE applications and put in JWM and the usual applets as we have in Puppy4. The build is 96.73MB. That is a drop of 0.77MB.

Considering the much smaller size and resurce usage of JWM, plus I just plain like it, I reckon we should take it on-board to have a go at maintaining it. Or, plead with the developer to get interested in it again. There are just a few things that need to be fixed. Off the top of my head:

1. Prevent windows from drawing with the titlebar off the top of the screen.
2. Specific fix for the two windows of Mplayer not drawing properly.
3. Specific fix for Gxine full-screen video.

Comments

Ooh, space for free!
Username: WhoDo
With ttuuxxx's revised Icewm-1.2.36-mini weighing in at just 575kb including a fancy theme you could have TWO window managers in woof, just like Deepthought, and still have less space than with Xfce! :cool: As for maintaining JWM, or pleading with Joe Wing, either way if you plan to continue with JWM something will have to be done. Considering what you and the guys here have done with Puppy, it shouldn't be long before JWM becomes the preference over KDE4! :happy: Welcome back from the Dark Side, Barry!:n_n:

Maybe not a bug
Username: rarsa
"[i]1. Prevent windows from drawing with the title bar off the top of the screen. [/i] I don't consider this a bug, but a feature. It annoys me when the Wm does not let me position my windows wherever I want even with the title bar of the top of the screen. Of course drawing them of the top on creation or after a wm refresh is also annoying.

title bar off top of screen
Username: BarryK
"rarsa, yes, I don't want to be prevented from dragging a window so it's off the top of the screen. What I meant, that I consider a bug is when a window draws for the first time with it's top part off the screen. Those of us who know that you can drag a window by holding down the alt key then left-press-drag anywhere in the window, or drag in the little whatsisname boxes in the tray, then fine, but many people only know about dragging from the titlebar. I suppose it should at least be a config option.

Fullscreen Flash bug
Username: happypuppy
"And what about the bug with SeaMonkey and other browsers not being able to display fullscreen Flash video with JWM?

fullscreen
Username: kirk
"If we could just get the Flash / Xine full screen bug fixed I'd be happy with it.

ROX filer status bar
Username: happypuppy
"Is it possible to add a status bar to the ROX filer to see (detailed) info about the selected file(s) when you have 'double click navigation' selected in the ROX options? This is the only major thing I (and many other Windows refugees) miss with Puppy.

JWM Maintenance
Username: Dougal
"Donald Knuth is also a JWM user, so I thought of maybe contacting him and asking _him_ to see what's up with Joe (he can't ignore an email from Knuth!)... This is really a shame, since even the Debian maintainer, for example, doesn't really fix things in JWM (as they tend to do with other packages).

jwm needs localisation
Username: hairywill
"Since we are documenting jwm's shortcomings. Someone asked on the forum yesterday how to localise the jwm menus available from window titlebars/tray entry. As far as I can see jwm contains no localisation stubs.

JWM Maintenance
Username: Leon
"Dougal wrote: [JWM Maintenance Donald Knuth is also a JWM user, so I thought of maybe contacting him and asking him to see what's up with Joe (he can't ignore an email from Knuth!)...]  Good idea! Maybe it's still some hope... The latest message from Joe's website: joewing.net | News [20080906 It's been a really long time updated anything here, but I have a few items to mention. First, I wrote a game called Knockout for the iPhone/iPod Touch that is now on the iPhone App Store. Also, as of late I've been working on a computer made entirely out of transistors that I call the Q1. There may be no point in it, but I think it's cool. Lastly, although development on JWM has slowed quite a bit, I am still working on it on and off and I will hopefully have a new release ready one of these days.]

JWM weaknesses and one workaround
Username: Leon
"happypuppy wrote: [Fullscreen Flash bug And what about the bug with SeaMonkey and other browsers not being able to display fullscreen Flash video with JWM?] From my experience that's the only real showstopper. I like to watch live sports TV, like http://www.justin.tv/directory/sports and that's one of the main reasons to keep using Xfce. Barry wrote: [There are just a few things that need to be fixed. Off the top of my head: 1. Prevent windows from drawing with the titlebar off the top of the screen. 2. Specific fix for the two windows of Mplayer not drawing properly.] The window position can be corrected by using wmctrl (65K). Example: # rxvt # wmctrl -r "rxvt" -e 0,0,0,-1,-1 This wmctrl command moves the rxvt window to upper left corner of the screen. About Wmctrl The wmctrl program is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager. Home page http://sweb.cz/tripie/utils/wmctrl/ Source http://sweb.cz/tripie/utils/wmctrl/dist/wmctrl-1.07.tar.gz

jwm fullscreen
Username: hairywill
"I have been hacking at jwm client.c and event.c. The gxine problem seems to happen because gxine sends a request to add state _NET_WM_STATE_FULLSCREEN and then after that one to remove state _NET_WM_STATE_MAXIMIZED_HORZ. This seems to me to highlight a bug in both of them but I don't understand the spec well enough to be certain. Why would an application ask for fullscreen and then ask not to be maximised horizontally? But in the jwm function MaximizeClient which I think also handles swapping out of maximised it has /* We don't want to mess with full screen clients. */ if(np->state.status & STAT_FULLSCREEN) { SetClientFullScreen(np, 0); } So it deals with "not messing with fullscreen clients" by explicitly removing them from fullscreen (that is the zero in the function call) I can get gxine to fullscreen by hard coding jwm to maximise first but the window still seems a bit confused about whether it is maxmised or restored when you drop out of fullscreen mode. I also have fullscreen flash covering the entire screen apart from the taskbar.

Jwm fullscreen hack
Username: Leon
"Harry, Would you be willing to publish your JWM patch on a forum so we can test it? I'm interesting to try it with fullscreen Flash TV live stream. http://www.justin.tv/directory/sports

hairywill,
Username: Leon
"I really don't know how could I completely renamed your nickname in my previous post. I'm sorry. Sometimes we really need an Edit button here...

Hairywill
Username: kirk
"Hairywill, If your trying to get Flash to full screen, make sure you get the latest version of Flash. The one included with Puppy has full-screen problems even with a window manager that's not broken.

jwm in puppy subversion
Username: hairywill
"OK I've added a jwm project to the puppy sourceforge subversion repository http://puppylinux.svn.sourceforge.net/viewvc/puppylinux/jwm/ I started with jwm-2.0.1 and applied my mods so you should be able to see what I have done from the svn log. PizzasGood wrote a wiki page on using the repository. http://www.puppylinux.org/wiki/how-tos/general/subversionguide A sensible command for annonymous checkout would be svn co http://puppylinux.svn.sourceforge.net/svnroot/puppylinux/jwm This will create a directory called jwm in the current directory and populate it with the project. when you run configure in the trunk directory make sure you use ./configure --enable-debug

Jwm + Flash video fullscreen problem solved
Username: Leon
"hairywill, Many thanks! I tried your modified Jwm from the puppy sourceforge subversion repository with FlashPlayer 10.0.15.3: 1. Puppy 2.1.2-k2.6.26.15, frugal install Gxine 0.5.9 SeaMonkey 1.1.11 Firefox 3.1b3pre Firefox 3.0.5 2. Puppy 2.1.2-k2.6.21.7, frugal install Gxine 0.5.9 SeaMonkey 1.1.11 Firefox 3.1b3pre Firefox 3.0.5 In all cases both Gxine fullscreen and browser display fullscreen Flash video work properly.

flash fullscreen
Username: hairywill
"Leon, thanks for the feedback. Have you noticed that with gxine if you repeatedly toggle fullscreen a few times the proper gxine window gets confused about whether it is maximised or restored. I have used flash LNX 9,0,124,0 in puppy 4.1.2. When I try to fullscreen flash the jwm tray stays on top. The important edit for this was in [url=http://puppylinux.svn.sourceforge.net/viewvc/puppylinux/jwm/trunk/src/client.c?view=diff&r1=45&r2=42&diff_format=l]client.c The patches to [url=http://puppylinux.svn.sourceforge.net/viewvc/puppylinux/jwm/trunk/src/event.c?view=diff&r1=45&r2=42&diff_format=l]event.c and also hint.c hint.h are there so that jwm can print some output showing when it receives change state requests. You can view these using tail -f /tmp/xerrs.log.

gxine and flash fullscreen
Username: Leon
"hairywill, Yes, I noticed unusual behavior of gxine window after repeatedly toggle fullscreen a few times, but what's important is that fullscreen toggle keep working properly after the maximize/restore button is pressed. hairywill wrote: [When I try to fullscreen flash the jwm tray stays on top.] I always use Jwm with tray autohide enabled. I noticed that it stays hidden even in such case. After successfully testing the patched Jwm in Puppy 4.1.2-k2.6.26.15 and Puppy 4.1.2-k2.6.21.7 I tried to compile it in Woof 0.0.2 but the compile process ended with a segmentation fault. After copying Jwm files and directories from Puppy 4.1.2-k2.6.26.15 it works fine in Woof 0.0.2 also. I would suggest to change Jwm version number in svn to Jwm v2.0.1.1 to mark it different from Jwm v2.0.1.

Fix for for 4.1.2?
Username: happypuppy
"Can anyone post a 'service pack' .PET package so users can fix their existing 4.1.2 installs?

jwm patch packaged
Username: hairywill
"made a pet here http://www.murga-linux.com/puppy/viewtopic.php?p=272409#272409 I don't know how to tag a release in subversion yet so if anyone wants to tag revision 45 of jwm that would be helpful. I don't really want to get into applying official version numbers, it is Joe's project even if he is not doing much at the moment. I can't explain the segfault in woof

Doesn't work
Username: happypuppy
"The 'fix' does absolutely nothing :(


Tags: woof