Page 6 of 14

Posted: Fri 12 Apr 2013, 04:28
by scsijon
joe's been at it already, we now have a 729, I shall build and upload tonight. It's mainly cleanup of unused functions, and make configure find the right XPM library on IRIX so doesn't concern us directly.

I'm going back to mage2 for a few days of pre-'last' beta release fixes before a general and Final 'Last Beta Release early next week so don't expect anything much till then.

Posted: Sun 14 Apr 2013, 01:16
by scsijon
A new test version 731 has been uploaded on page1.

As usual if things are stable I will rebuild as a Release Version next weekend. It's time I did that anyway, even if a new test version appears, as the current Release Version is still 704!

WARNING: DO NOT ATTEMPT TO COMPILE AND USE VERSIONS BETWEEN 726 AND 731. EVEN IF THEY WILL COMPILE, THEY DO HAVE PROBLEMS FOR PUPPY LINUX.

v731(release) and v733(test)

Posted: Sun 21 Apr 2013, 01:38
by scsijon
V733 has a few fixes in it in the manner of help and config fixes.

The easiest explained is the close 'X' button will bring up a kill message window if the true function of the button is to kill the window instead of just closing. In this case you will usually find an onscreen 'quit' button available, which you should really be using.

Also problems with XML parsing issues with entities have been attended to.

And the compiled options listed in help has been updated to the current status.

I plan on leaving the Version 731 as release level for a while now.

The test version will update as they ocurr as has been for the last few months.

Posted: Wed 24 Apr 2013, 16:05
by Karl Godt
Observations on v722 :
* In Puppy 43 when X is killed, freememapplet and inotifywait aren't killed . v456 does it fine .
* When i have geany open, and navigate in another virtual window to a textfile in rox and click open as text, all virtual windows show a geany with a non-working window-top-frame except the source virtual window .

___

v456 is fine enough for me, cannot reproduce all the problems ie shinobar and patriot were working on in pre-500 times.

I about refusing to test further and am not expecting any improvements in jwm in the next future .

Posted: Thu 25 Apr 2013, 03:48
by session
With all due respect to Karl Godt, these rapid releases of JWM have improved my desktop experience significantly; opaque window dragging is way faster and more importantly many more dialogs (qt, fltk...) respect the edges of the desktop. I'd report bugs if I could find any (v731 on Wary)

Posted: Thu 25 Apr 2013, 04:25
by scsijon
@Karl, if you can give me enough info to document the problems after trying 733 to make sure their still there, I'll put them into joe's problem list, he's fixing them as he knows about them at present as he wants to put out a 'stable revision step' as soon as their all fixed and confirmed as fixed.

Posted: Thu 25 Apr 2013, 12:37
by Karl Godt
Jon, look here for the tray :
After jwm -restart in v722 many tray swallow apps or tray apps that find their way into the tray themselves, don't show up in the tray, just empty spaces .
One problem is that tray apps that don't have a kill former my_pids , return or exit if already running, show up another time if put into .jwmrc-tray .

Puppy's freememapplet_xlib-404 has an odd codeline :

Code: Select all

system("kill `pidof freememapplet | grep ' ' | cut -f 2 -d ' '`");
which will kill always even if pidof is empty, thus polluting /tmp/xerrs.log
PLUS that my installation has got a freememappletshell wrapper that kills too without tests :D

Code: Select all

system("FREEMEMPIDS=`pidof freememapplet | grep ' ' |cut -f2- -d' '`;for PiD in $FREEMEMPIDS;do kill $PiD;done");
works for me :shock:

*

And what I found out :
my jwmrc-tray wrote:

Code: Select all

        <Swallow name="fbxkb">
            pidof fbxkb >/dev/null 2>/dev/null || fbxkb
        </Swallow>
        <Swallow name="absvolume">
            pidof absvolume >/dev/null 2>/dev/null || absvolume
        </Swallow>
        <Swallow name="retrovol">
            pidof retrovol >/dev/null 2>/dev/null || retrovol -hide
        </Swallow>
        <Swallow name="blinky">
            pidof blinkydelayed >/dev/null 2>/dev/null || blinkydelayed -bg "#4D525B"
        </Swallow>
        <Swallow name="asapm">
            pidof asapm >/dev/null 2>/dev/null || asapmshell -u 4
        </Swallow>
        <Swallow name="freememapplet" width="34">
            freememapplet
        </Swallow>
        <Swallow name="xload" width="32">
            xload -nolabel -fg red -hl white -bg "gray45"
        </Swallow>
Works quiet well on my side to prevent apps showing up multiple times if I do a jwm -restart .

Posted: Thu 25 Apr 2013, 12:44
by Karl Godt
About geany and suddenly appearing windows from other virtual screens :

This happens if I shadow / roll up geany to be able to scroll to the next screen, click a text file :

Posted: Fri 26 Apr 2013, 00:33
by joewing
Karl,
Thanks for reporting the bug. I'm able to reproduce the virtual desktop issue and should have a fix shortly.
I'm not sure what the deal with the swallowed application issue is, is there a difference in the configuration that's causing that?

Please keep me informed of any bugs, I can't fix them unless I know about them (and, unless they're listed in issues on GitHub, I don't know about them).

- Joe

Posted: Fri 26 Apr 2013, 01:13
by Karl Godt
Hi Joe !

I had configured jwm as

Code: Select all

./configure --enable-debug
and because of not being able to configure newer fribidi until now

Code: Select all

./configure --enable-debug --disable-fribidi
for versions >=634

I also don't do a make install but

Code: Select all

cp ./src/jwm ./src/jwm-VERSION-COMPILEOPTIONS
cp  ./src/jwm-VERSION-COMPILEOPTIONS /usr/bin
do a wmexit,

Code: Select all

ln -sf /usr/bin/jwm-VERSION-COMPILEOPTIONS /usr/bin/jwm
xwin
in the kernel console .

Problem is that tray applications started by .xinitrc ( /usr/sbin/delayedrun -> /root/Startup ) seems to be treated differently than if added to .jwmrc-tray ( ie some seem to load +1 times if jwm -restart ) .

The icons that show as empty space in the tray are mainly .png .
ldd on both versions shows libpng12.so.0 => /usr/lib/libpng12.so.0

722:
ldd `which jwm` |sort

Code: Select all

	libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb75a3000)
	libc.so.6 => /lib/libc.so.6 (0xb72c4000)
	libdl.so.2 => /lib/libdl.so.2 (0xb72b8000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb706f000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb745b000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb73fd000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb762f000)
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb70c2000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb74b8000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7566000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7569000)
	libgsf-1.so.114 => /usr/lib/libgsf-1.so.114 (0xb7281000)
	libICE.so.6 => /usr/X11R7/lib/libICE.so.6 (0xb6fe1000)
	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7498000)
	/lib/ld-linux.so.2 (0xb776b000)
	libm.so.6 => /lib/libm.so.6 (0xb760d000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7122000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7161000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb716b000)
	libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb7040000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb708b000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7675000)
	librsvg-2.so.2 => /usr/lib/librsvg-2.so.2 (0xb7645000)
	libSM.so.6 => /usr/X11R7/lib/libSM.so.6 (0xb6ff5000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0xb7698000)
	libXau.so.6 => /usr/X11R7/lib/libXau.so.6 (0xb72c1000)
	libXdmcp.so.6 => /usr/X11R7/lib/libXdmcp.so.6 (0xb72bc000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0xb73d5000)
	libXft.so.2 => /usr/lib/libXft.so.2 (0xb7489000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb73bf000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7194000)
	libXmu.so.6 => /usr/lib/libXmu.so.6 (0xb73c2000)
	libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb73e1000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7481000)
	libXt.so.6 => /usr/X11R7/lib/libXt.so.6 (0xb6ffd000)
	libz.so.1 => /lib/libz.so.1 (0xb73ee000)
	linux-gate.so.1 =>  (0xb776a000)
ldd /usr/bin/jwm-456-debug |sort

Code: Select all

	libc.so.6 => /lib/libc.so.6 (0xb7412000)
	libdl.so.2 => /lib/libdl.so.2 (0xb7406000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb73c7000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb75b7000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7559000)
	libfribidi.so.0 => /usr/lib/libfribidi.so.0 (0xb753c000)
	libICE.so.6 => /usr/X11R7/lib/libICE.so.6 (0xb7369000)
	libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0xb75f4000)
	/lib/ld-linux.so.2 (0xb7725000)
	libm.so.6 => /lib/libm.so.6 (0xb73e3000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb762f000)
	libSM.so.6 => /usr/X11R7/lib/libSM.so.6 (0xb737d000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0xb7652000)
	libXau.so.6 => /usr/X11R7/lib/libXau.so.6 (0xb740f000)
	libXdmcp.so.6 => /usr/X11R7/lib/libXdmcp.so.6 (0xb740a000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0xb7523000)
	libXft.so.2 => /usr/lib/libXft.so.2 (0xb75e5000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb750d000)
	libXmu.so.6 => /usr/lib/libXmu.so.6 (0xb7510000)
	libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb752f000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb75de000)
	libXt.so.6 => /usr/X11R7/lib/libXt.so.6 (0xb7384000)
	libz.so.1 => /lib/libz.so.1 (0xb754a000)
	linux-gate.so.1 =>  (0xb7724000)
J456=`ldd /usr/bin/jwm-456-debug |sed 's% (.*)%%'|sort`
J722=`ldd $(which jwm) |sed 's% (.*)%%'|sort`
echo "$J722" | grep -v "$J456"

Code: Select all

	libcairo.so.2 => /usr/lib/libcairo.so.2
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0
	libgsf-1.so.114 => /usr/lib/libgsf-1.so.114
	libjpeg.so.62 => /usr/lib/libjpeg.so.62
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0
	libpcre.so.0 => /usr/lib/libpcre.so.0
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0
	librsvg-2.so.2 => /usr/lib/librsvg-2.so.2
	libxml2.so.2 => /usr/lib/libxml2.so.2

Posted: Fri 26 Apr 2013, 18:09
by L18L
Karl Godt wrote:... because of not being able to configure newer fribidi until now

Code: Select all

./configure --enable-debug --disable-fribidi
for versions >=634...
Hi Karl,
if you got fribidi configured you will be another unsung heroe for the Arabic world see
http://sourceforge.net/tracker/index.ph ... tid=805416

But one thing after the other. No net huudle :D

Posted: Sat 27 Apr 2013, 18:01
by joewing
About the Swallow thing, programs started via "Swallow" are treated differently than programs in .xinitrc in that JWM will always attempt to start programs in "Swallow" when starting (or restarting). JWM will also attempt to kill programs in "Swallow" when shutting down (or preparing to restart) assuming the program was successfully swallowed.

Programs started with .xinitrc will only be started when X starts. It's problematic if you expect such a program to be swallowed by JWM because because JWM won't swallow windows are visible when JWM starts (JWM tries to only swallow programs that it started with that explicit purpose). Of course, if the window wasn't visible when JWM started, a program started via .xinitrc could get swallowed accidentally. This is because JWM has no way of knowing that it wasn't responsible for starting the application that created that window.

Doing things like checking if the program is already running in the command for Swallow probably isn't a good idea since it will cause strange things to happen, like JWM not swallowing windows because they are already visible. Likewise, starting windows from .xinitrc that you expect JWM to swallow won't always work (though it might sometimes, depending on how long it takes the window to map). I don't think anything has changed with this version of JWM that should affect this, but it's very timing dependent.

Anyway, I think a problem that may present itself (perhaps this is the reason for the process checks in the configuration file?) is that a window doesn't map soon enough before JWM is restarted. When a window doesn't map before JWM is restarted, JWM will fail to close the window before exiting (because the window doesn't exist) and you end up with two copies of the application (one that gets swallowed). There is a delay built into JWM on restart to prevent this, but it's not long enough on some systems. Is this what's happening?

Assuming this is the problem, I modified JWM to wait longer before a restart if there are still applications that have yet to be swallowed. Unfortunately, I can't make JWM wait indefinitely, or a typo in the configuration file would prevent you from exiting or restarting JWM. So I made JWM wait for up to a second longer for swallow windows to map (so they can be killed) in the latest snapshot (736).

For the png icons, what does the your configuration look like for the icons that aren't showing up?

Regarding fribidi, does the 19 spaces thing still happen in the latest version of JWM?

- Joe

Posted: Sat 27 Apr 2013, 18:43
by joewing
I've reproduced the bi-directional font problem, so hopefully I should have a fix soon.

- Joe

Posted: Sun 28 Apr 2013, 11:15
by L18L
joewing wrote:I've reproduced the bi-directional font problem, so hopefully I should have a fix soon.

- Joe
glad to read that.

- L
Waiting while playing your tile slider game internationalized. :D

Posted: Sun 28 Apr 2013, 12:00
by 01micko
IMHO the way we start tray apps is an abomination! Every decent WM has a way to start apps on start of the WM. JWM achieves this with the <StartupCommand> tag which you can put in the main .jwmrc or as an <Include>.

On my raspi I have raspbian-wheezy and/or slackware-14.0 running and have a few tray apps adapted and compiled for the Pi.

Code: Select all

   <StartupCommand>network_tray</StartupCommand>
   <StartupCommand>volcont</StartupCommand>
   <StartupCommand>temp2tray</StartupCommand>
I'm not saying Puppy should change, it would break an awful lot of programs. But for tinkerers (Karl :wink: ) this is a great way to experiment.

2c

Posted: Mon 29 Apr 2013, 14:44
by Karl Godt
Short update for now :
jwm-736 now expects some keyboard input after
jwm -restart from xterminal to actually execute the restart feature .

Stable tray programs that have never failed drawing their icon-window into the tray are :

* absvolume
* recent freememapplet_tray-2.X versions
* network_tray and blinkydelayed
* xload

Wonky programs :

* fbxkb ( keyboard switcher program )
* retrovol
* old xlib freememapplet versions

Am testing further with different possibilities to launch them from .xinitrc or .jwmrc-tray .

What I can tell for now is , that a wrapper script seems to work to manage the freememapplet versions :

Code: Select all

ERR=/dev/null
QUIET=''

pidof inotifywait && killall inotifywait 
## PUPPY-4 xlib-404 uses inotifywait, 
## PUPPY-5 xlib-0.1.2 already df 

for p in `echo -e "${PATH//:/\n}"` ; do
FREE_MEM_APPLETS="$FREE_MEM_APPLETS
`ls -1 ${p}/*freemem* 2>$ERR`"
done

FREE_MEM_APPLETS=`echo "$FREE_MEM_APPLETS" | grep -vw "${0##*/}"`

for app in $FREE_MEM_APPLETS ; do
echo -n "$app "
[ -f $app -a -x $app ] || { echo " not a file andor not executable";continue; }
echo -n " is file and executable "
ldd $app | grep $QUIET -i 'xpm' && { pidof ${app##*/} && { kill `pidof ${app##*/}`;sleep 2; }; }
pidof ${app##*/} && { echo " already running";continue; }
echo " not already running"
$app &
done

echo
sleep 1
ps -A -o pid,s,cmd,args | grep free
freememapplet xlib has to be killed.
It has a kill other freememapplet compiled into it, but that works only as long as the new pid is higher than the previous pid .
Also new freememapplet instances then don't go into the tray anymore, they open a tiny window in the NW corner of the desktop.

*

ABOUT the timing :

Code: Select all

for i in `seq 1 1 10` ; do sleep $i ; jwm -restart ; done
did not show any relyable results . The wonky applications sometimes showed up fully functional and somes not. Have not recognized a sleep value that worked always.

*

WHAT I am investigating about further with these tray applications :
GTK-2.0 problems .

Puppy-5 libgtk-x11-2.0.so.0.2000.X seems to work better for retrovol v0.11 and v0.12 than earlier libgtk-x11-2.0.so.0.1X.X .
The default v0.6 showed up as empty space always anyway .

Will have to check that the the link targets for *.so and *.so.0 match on my system . ldconfig only updates the *.so.X links, not the *.so links .

Posted: Tue 30 Apr 2013, 15:21
by joewing
Karl:
I think the source of the problems you're experiencing is due to having JWM swallow applications that run in the dock (or "system tray" according to EWMH). For example, retrovol will dock itself (it should not be swallowed). So rather than doing "Swallow", just start the program (possibly in StartupCommand). The "Swallow" feature is only for windows that don't support running in the dock natively, for example, xload, xclock, xbiff, etc.

What's happening is that JWM starts those applications to attempt swallow them, and then the applications don't create a window (instead they just create an icon on the dock area). So JWM continues thinking that the application never started. Finally, when you restart, JWM will start the application again without killing it because JWM doesn't know it's already running. This is when retrovol will create a window, which JWM happily swallows (though you probably don't want JWM to swallow that window).

L18L:
Fribidi support should work correctly in JWM now (as of 737). I can't read it, but it appears to be showing all the text and setting the width correctly.

- Joe

Posted: Tue 30 Apr 2013, 18:28
by L18L
joewing wrote:Fribidi support should work correctly in JWM now (as of 737). I can't read it, but it appears to be showing all the text and setting the width correctly.
Sorry not with me
Here is what I have done:

./configure --prefix=/usr
make
make install

sed -i 's#Name=Abiword word processor#Name=معالج الكتابة آبي وورد#' /usr/share/applications/Abiword-wordprocessor.desktop

fixmenus
jwm -restart

Posted: Tue 30 Apr 2013, 22:17
by joewing
L18L:
That seems to work for me. Did you exit JWM and start it again? Running "jwm -restart" just restarts the currently running instance.

- Joe

Posted: Wed 01 May 2013, 00:19
by scsijon
i'm back, sorry folks business has got in the way of "puppy fun". :? I will build new test versions of v738 tonight and after testing, if ok, will upload tomorrow.

@joe, thanks for keeping an eye on the thread.

scsijon