[CLOSED]JWM Desktop Updates to V755(Release) and V910(Test)

Window managers, icon programs, widgets, etc.
Message
Author
anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#61 Post by anikin »

Here's how it looks in upup precise382. I used the native upup version, which is 574. Perhaps, I should ask scsijon what's the latest usable version without those pointer glyphs and do a recompile. I forgot to run "strip", so it's a bit chubby, but very fast indeed. These are the removed options:

Code: Select all

./configure --disable-icons --disable-nls --disable-fribidi --disable-debug


Thank you Keef and `f00 for your help and attention.
Attachments
iconless_menu.png
(112.27 KiB) Downloaded 778 times

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

Re: Building your own JWM

#62 Post by anikin »

scsijon wrote:For anyone wanting to build their own Jwm.
An excellent howto scsijon, thank you very much!

A quick question: the "strip" command as the last step - I noticed you don't use it. Is it a harmless command, will it not strip something, that is needed if/when used?

User avatar
pemasu
Posts: 5474
Joined: Wed 08 Jul 2009, 12:26
Location: Finland

#63 Post by pemasu »

A quick question: the "strip" command as the last step - I noticed you don't use it. Is it a harmless command, will it not strip something, that is needed if/when used?
step3
a) type new2dir make install
/usr/bin/new2dir
#strip the file...
if [ ! -h "$ONEFILE" ];then #make sure it isn't a symlink
[ ! "`file "$ONEFILE" | grep 'ELF' | grep 'shared object'`" = "" ] && strip --strip-debug "$ONEFILE"
[ ! "`file "$ONEFILE" | grep 'ELF' | grep 'executable'`" = "" ] && strip --strip-unneeded "$ONEFILE"
fi
sync
and.....

# make install DESTDIR=/root/jwm
cd src ; make all ; cd ..
make[1]: Entering directory `/root/Downloads/jwm-704/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/Downloads/jwm-704/src'
cd po ; make all ; cd ..
make[1]: Entering directory `/root/Downloads/jwm-704/po'
make[1]: Leaving directory `/root/Downloads/jwm-704/po'
cd src ; make install ; cd ..
make[1]: Entering directory `/root/Downloads/jwm-704/src'
install -d /root/jwm/usr/bin
install jwm /root/jwm/usr/bin/jwm
strip /root/jwm/usr/bin/jwm

so....when compiling and installing jwm...the stripping of binary has been cared by the jwm source code included files.

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#64 Post by anikin »

so....when compiling and installing jwm...the stripping of binary has been cared by the jwm source code included files.
pemasu, thank you for for the detailed walkthrough.
One more question: the stripping of binary - is this common practice/requirement, or an exception to the rule, that shows good programming practices of some but not all developers?

User avatar
pemasu
Posts: 5474
Joined: Wed 08 Jul 2009, 12:26
Location: Finland

#65 Post by pemasu »

Stripping makes binaries and libraries smaller. Most distros strip binaries and libraries. At least those which I have tested. For example Ubuntu and Debian .deb packages come with stripped stuff.
Puppy philosophy is to offer small size with as full usability as possible. Stripping absolutely belongs to that philosophy.

All woof built Puppies and puplets come with stripped binaries and libraries. Woof 3builddistro script takes care of that:
#w481 extra stripping...
if [ "$WOOF_HOSTARCH" = "$WOOF_TARGETARCH" ];then #120502 strip will not work for cross-build.
echo
echo "Would you like to strip all binary executables and shared library files?"
echo "These are usually already stripped, although some packages may have the shared"
echo "library files stripped with the '--strip-debug' option only, and extra stripping"
echo "should be okay. It won't do any harm answering yes here."

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

#66 Post by disciple »

echo "Would you like to strip all binary executables and shared library files?"
echo "These are usually already stripped, although some packages may have the shared"
echo "library files stripped with the '--strip-debug' option only, and extra stripping"
I've never read that before... in my experience all shared libraries break if you strip them without the '--strip-debug' option.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER


User avatar
pemasu
Posts: 5474
Joined: Wed 08 Jul 2009, 12:26
Location: Finland

#68 Post by pemasu »

Hmm...This derails the jwm updates thread. I will post this woof code here and then stop. That is how about all woof built Puppies has been stripped.
[ "$ONEBASE" = "e3" ] && continue #v431 cannot be stripped.
if [ "`file "$ONEFILE" | grep 'ELF' | grep 'executable'`" != "" ];then #v431
echo -n "$ONEBASE "
strip --strip-unneeded "$ONEFILE"
fi
done
echo
find rootfs-complete/usr/lib rootfs-complete/usr/X11R7/lib -type f -name \*.so* |
while read ONEFILE
do
ONEBASE="`basename "$ONEFILE"`"
#v431 libgdk-x11-2.0.so* compiled in pup4 with '--enable-debug', fixes insert-key mozilla crash.
# it may be unwise to strip its debug symbols... no, it's ok...
#[ "`echo "$ONEBASE" | grep 'libgdk'`" != "" ] && continue #v431
if [ "`file "$ONEFILE" | grep 'ELF' | grep 'shared object'`" != "" ];then
echo -n "$ONEBASE "
strip --strip-unneeded "$ONEFILE"
fi
done
http://www.debian.org/doc/debian-policy/ch-files.html
All installed shared libraries should be stripped with

strip --strip-unneeded your-lib

(The option --strip-unneeded makes strip remove only the symbols which aren't needed for relocation processing.) Shared libraries can function perfectly well when stripped, since the symbols for dynamic linking are in a separate part of the ELF object file.

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#69 Post by anikin »

scsijon,
It was not my intention to sidetrack this thread, my apologies. I'll put it back into JWM realm with my last question to pemasu:

OK, the compilation has been completed, with all the default/predefined strip settings. I shouldn't worry, my new JWM is at its optimum, small and fast. Stop there and be happy. But I go further and run "strip jwm" and the result is a *significant* reduction in size. What's going on? What else has been shaved off? Do I still have a fully functional binary?

User avatar
pemasu
Posts: 5474
Joined: Wed 08 Jul 2009, 12:26
Location: Finland

#70 Post by pemasu »

Well. Compilation does not strip anything. You need to have some code to run strip command. I mean executing make does not offer any means for stripping yet.

Jwm source code has it, when you execute make install with or without other options.

new2dir has it inside code and executing new2dir make install surely has it, in fact twice since make install execute it also.

or you do it from commandline by executing strip with or without other stripping options.

So...because you didnt tell what you actually did, I cant tell you what step you missed and you got smaller binary after executing strip command.

And yes....you get working binary after executing strip jwm

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#71 Post by anikin »

My bad, I'm sorry. I haven't yet tried doing it as scsijon recommends, there was no "new2dir" in my scenario. I will redo the whole thing.

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#72 Post by scsijon »

thank you pemasu for dealing with the strip queery.

My own take is to NEVER use a straight strip,

If part of the compile/build/install hasn't a strip step or I'm not building for puppy, where I always use the new2dir in my build, I ONLY EVER use "strip --strip-debug" or "strip --strip-unneeded", nothing else.

And NEVER USE "--strip-all" as it can make the file you have built useless for use on any machine but the one it was built on.

I learnt many many years ago that it's better to not strip than just "strip" alone. I lost a weeks build-modify-compile time for a team I was managing by forgetting to add the -- modifier. I had to restart the final build again and that took some ten hours. I was somewhat late home that night!

And lets leave that there unless any of the guru's have a further comment we should know about.

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

Test Version jwm2-704 available

#73 Post by scsijon »

I have updated the test version to 704. Details and pet are as usual in the first screen on page1.

It includes the middle and right mouse button functions requested for the maximize function as well as some fixes.

Can we have as many testers as possible across all versions of puppy please as everything left on the problem system are enhancement requests.

The only thing you need to be made aware of is that if you kill rox-filer using the tray app-window menu kill you will also loose your background and it's icons, similar to the black screen of death, but your tray and apps via menu still work. To get your background and icons back, you need to restart the x-server on the shutdown menu. I did think it was a further fault, but it's not, however I have asked joe to consider if it is possible that some sort of trap function where only the rox-filer app window is killed and not the rox-filer app itself.

User avatar
pemasu
Posts: 5474
Joined: Wed 08 Jul 2009, 12:26
Location: Finland

#74 Post by pemasu »

What I tested 704, it worked in my normal usage ok. The only disturbing feature is those changed mouse forms when hover over close, minimize and maximize buttons. I also felt that rectangular mouse pointer somewhat odd.

I hope there could be possibilty to change that feature back to usual non-changing behavior. This has been posted earlier so I suppose it is known what I mean.

If there is already way to change this, I would be grateful for the howto.

User avatar
`f00
Posts: 807
Joined: Thu 06 Nov 2008, 19:13
Location: the Western Reserve

#75 Post by `f00 »

Some earlier ideas about titlebar button masks, a sub-theme to be sure.

Compiled jwm-704 in racy 5.4.91 for my own personal trial (worked fine with maybe a puzzle on "Desktop" tag use, see attached pix), same old minor issues with xcompmgr -n (may try kcompmgr just to see if there's any change there). Will also try the jwm2-704-w5c dotpet (at least the binary) as a cross-check..

Meh, the pointer-change-on-hover over the titlebar buttons is just 'new' to jwm (it's been around for awhile in some other wms like afterstep and e16 to name a couple). At least jwm's theming is still relatively simple :)
Attachments
maxand.png
this kind of ties to the link in eyecandy
(7.18 KiB) Downloaded 423 times
desktoptag2.png
(less the highlighting in medit) - btw, roxpin is enabled only on-demand so it doesn't interfere :|
(26.87 KiB) Downloaded 463 times
desktoptag1.png
trying to get jwm to set separate backgrounds for each desktop..
(41.53 KiB) Downloaded 454 times

User avatar
`f00
Posts: 807
Joined: Thu 06 Nov 2008, 19:13
Location: the Western Reserve

#76 Post by `f00 »

Seems like it was only yesterday, oh wait a mo' :oops:

JWM vgit-704 by Joe Wingbermuehle
compiled options: confirm fribidi icons png shape xft xinerama xpm xrender

.. the w5c dotpet (I didn't do confirm or fribidi on my earlier compile) on racy 5.4.91, kernel 3.8.0

Keeps looking as good or better all the time (my binary was slightly smaller at 144.8 kb compared to the dotpet at 151.1 kb). Using kcompmgr -n seems a bit better than the xcompmgr racy came with .. window controls hold up better, only a few display remnants observed (basically when toggling maxh and maxv and even then only on the right and bottom respectively or both together with full max). No display remnants at all with shade, popups, menus and so on .. what a change from vsvn-574 ( :lol: I could make wallpaper in a few seconds by r-clicking the rootmenu, shading and blipping the windowmenu). Closing windows seems just a tad slower with a compmgr running -n option. Shadows and other composite stuff tends to bog my old hardware to some extent.

Terminals with the fade option enabled (urxvt v8.1, mrxvt and aterm) will 'roll' from top to bottom the faded text to unfaded as un/focus'd (sloppy model).

Minor changes
Oddly enough vsvn-574 is the last version I have prior to 679 that will work with the titlebar buttonmasks I linked to at the bottom of p.5 - the specific tags used in jwmrc-personal for that come up as invalid in the new versions. Reverts to the standard oem look if left on any of the custom looks and version changed. Rename/re-X is how I flip, then un/comment-out the personal.

pointer-change-on-hover
In my opinion (again) it's a fine feature for the less accurate snipers, good visual ui of when you're in the zone for action. True, the dot-in-box is somewhat unusual but it does show up well against almost all backgrounds .. unlike the dratted all-black crosshair I often lose on dark bg.
Attachments
point.png
pointer pix .. tas does this really well
(37.03 KiB) Downloaded 917 times

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

Requests now added into the database:

#77 Post by scsijon »

Requests now added into the database:

1- Add setting for 'hover control' to revert to 'system default' or not. And allow setting of the Pointer Change on hover.

EDIT: from joe> have a look at http://joewing.net/projects/jwm/cursors.shtml it explains the cursors. It should work, so let me (scsijon) know in this thread if it is no longer doing so!

2- Allow Individual settings for individual desktops. I also considered allowing rox-filer to set individual iconsets for each desktop.

EDIT: answered in message below this from joe I think.

3- JWM title bar window buttons bitmask.

EDIT: from joe>
It's possible (and was done in the past). I removed this feature so that JWM would draw the buttons scaled to the right size (JWM now uses Xlib drawing primitives rather than bitmaps).
I probably won't implement this (at least not in the near future) though since I would like to keep JWM as lean as possible.

That should keep him busy.

Any more worth adding?

And how's the testing going across platforms?
Last edited by scsijon on Tue 19 Mar 2013, 01:44, edited 2 times in total.

joewing
Posts: 25
Joined: Sun 24 Dec 2006, 20:43

#78 Post by joewing »

'f00, your "Desktops" tag is closed, which is why JWM's complaining about the "Desktop" tags. Try this:

Code: Select all

<Desktops width="1" height="3">
  <Desktop name="1">
    <Background type="command">hsetroot -fill /usr/share/backgrounds/default.jpg</Background>
  </Desktop>
  <Desktop name="2">
    <Background type="command">hsetroot -fill /usr/share/bgsyms/smoQ</Background>
  </Desktop>
  <Desktop name="3">
    <Background type="command">hsetroot -fill /usr/share/bgtiles/bluswirl</Background>
  </Desktop>
</Desktops>
As far as the cursors over the window buttons are concerned, it's actually possible to change them (though somewhat annoying). See http://joewing.net/projects/jwm/cursors.shtml. It's kind of unfortunate that the default cursors in X11 are so hideous.

The bit masks for title buttons are no longer supported since JWM draws the title buttons using Xlib drawing primitives now (allowing them to scale to the size of the title bar). In the future I may add support, but I like to keep things as simple and efficient as possible.

- Joe

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#79 Post by darkcity »

It would be grand if new versions have better keybinding config - change alt+mouse-drag combo for moving windows (AKA mouse bindings)?

I am forced to use OpenBox with Inkscape due to the drawing package insisting on using Alt-Drag for selecting underneath (at least I couldn't configure it under jwm. http://www.murga-linux.com/puppy/viewtopic.php?p=605607)

:twisted:

scsijon
Posts: 1596
Joined: Thu 24 May 2007, 03:59
Location: the australian mallee
Contact:

#80 Post by scsijon »

darkcity wrote:It would be grand if new versions have better keybinding config - change alt+mouse-drag combo for moving windows (AKA mouse bindings)?

I am forced to use OpenBox with Inkscape due to the drawing package insisting on using Alt-Drag for selecting underneath (at least I couldn't configure it under jwm. http://www.murga-linux.com/puppy/viewtopic.php?p=605607)

:twisted:
There is already a request for the ability to make them configurable in the system, so it's in the list.

Post Reply