Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 24 Nov 2014, 04:36
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Desktop
JWM Desktop Updates to V755 (Release) and V910 (Test)
Post new topic   Reply to topic View previous topic :: View next topic
Page 5 of 16 [240 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6, 7, ..., 14, 15, 16 Next
Author Message
anikin

Joined: 10 May 2012
Posts: 519

PostPosted: Thu 14 Mar 2013, 21:57    Post subject:  

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:
./configure --disable-icons --disable-nls --disable-fribidi --disable-debug


Thank you Keef and `f00 for your help and attention.
iconless_menu.png
 Description   
 Filesize   112.27 KB
 Viewed   657 Time(s)

iconless_menu.png

Back to top
View user's profile Send private message 
anikin

Joined: 10 May 2012
Posts: 519

PostPosted: Fri 15 Mar 2013, 06:51    Post subject: Re: Building your own JWM  

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?
Back to top
View user's profile Send private message 
pemasu


Joined: 08 Jul 2009
Posts: 5465
Location: Finland

PostPosted: Fri 15 Mar 2013, 09:42    Post subject:  

Quote:
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?

Quote:
step3
a) type new2dir make install

/usr/bin/new2dir
Quote:
#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.
Back to top
View user's profile Send private message 
anikin

Joined: 10 May 2012
Posts: 519

PostPosted: Fri 15 Mar 2013, 11:39    Post subject:  

Quote:
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?
Back to top
View user's profile Send private message 
pemasu


Joined: 08 Jul 2009
Posts: 5465
Location: Finland

PostPosted: Fri 15 Mar 2013, 11:48    Post subject:  

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:
Quote:
#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."
Back to top
View user's profile Send private message 
disciple

Joined: 20 May 2006
Posts: 6455
Location: Auckland, New Zealand

PostPosted: Fri 15 Mar 2013, 19:49    Post subject:  

Quote:
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.

_________________
DEATH TO SPREADSHEETS
- - -
Classic Puppy quotes
- - -
Beware the demented serfers!
Back to top
View user's profile Send private message 
anikin

Joined: 10 May 2012
Posts: 519

PostPosted: Sat 16 Mar 2013, 00:59    Post subject:  

Here's some more:
http://software.intel.com/en-us/blogs/2013/01/17/x86-gcc-code-size-optimizations

http://software.intel.com/en-us/blogs/2012/09/26/gcc-x86-performance-hints
Back to top
View user's profile Send private message 
pemasu


Joined: 08 Jul 2009
Posts: 5465
Location: Finland

PostPosted: Sat 16 Mar 2013, 02:17    Post subject:  

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.
Quote:
[ "$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
Quote:
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.
Back to top
View user's profile Send private message 
anikin

Joined: 10 May 2012
Posts: 519

PostPosted: Sat 16 Mar 2013, 04:31    Post subject:  

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?
Back to top
View user's profile Send private message 
pemasu


Joined: 08 Jul 2009
Posts: 5465
Location: Finland

PostPosted: Sat 16 Mar 2013, 04:46    Post subject:  

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
Back to top
View user's profile Send private message 
anikin

Joined: 10 May 2012
Posts: 519

PostPosted: Sat 16 Mar 2013, 05:01    Post subject:  

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.
Back to top
View user's profile Send private message 
scsijon

Joined: 23 May 2007
Posts: 1047
Location: the australian mallee

PostPosted: Sat 16 Mar 2013, 07:02    Post subject:  

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.
Back to top
View user's profile Send private message Visit poster's website 
scsijon

Joined: 23 May 2007
Posts: 1047
Location: the australian mallee

PostPosted: Sun 17 Mar 2013, 01:39    Post subject: Test Version jwm2-704 available  

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.
Back to top
View user's profile Send private message Visit poster's website 
pemasu


Joined: 08 Jul 2009
Posts: 5465
Location: Finland

PostPosted: Sun 17 Mar 2013, 04:11    Post subject:  

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.
Back to top
View user's profile Send private message 
`f00


Joined: 06 Nov 2008
Posts: 809
Location: the Western Reserve

PostPosted: Sun 17 Mar 2013, 22:11    Post subject:
Subject description: ..
 

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 Smile
maxand.png
 Description   this kind of ties to the link in eyecandy
 Filesize   7.18 KB
 Viewed   323 Time(s)

maxand.png

desktoptag2.png
 Description   (less the highlighting in medit) - btw, roxpin is enabled only on-demand so it doesn't interfere :|
 Filesize   26.87 KB
 Viewed   330 Time(s)

desktoptag2.png

desktoptag1.png
 Description   trying to get jwm to set separate backgrounds for each desktop..
 Filesize   41.53 KB
 Viewed   326 Time(s)

desktoptag1.png

Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 5 of 16 [240 Posts]   Goto page: Previous 1, 2, 3, 4, 5, 6, 7, ..., 14, 15, 16 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Desktop
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1043s ][ Queries: 13 (0.0121s) ][ GZIP on ]