pUPnGO - 6Mb ISO - Basic Building Block Puplet

A home for all kinds of Puppy related projects
Message
Author
goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#761 Post by goingnuts »

Here is a link to xvidcap-1.1.3.pet compiled with embedded ffmpeg for easy creation of screen-cast videos.
And here is a video of my present pupngo2013 draft made with it.

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#762 Post by greengeek »

Can't wait to have a go with it. Looks interesting. (The yt vid stopped for me at 11.33 with an "unknown error" so I will try again later)

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#763 Post by Ibidem »

goingnuts wrote:Dragging up the original pupngo thread to continue blabla on more basic things...
Back in tinyXlib testing - got stuck with xdesktopwaves. It compiles ok but refuse to run as it cant translate color #406080 and other colors in same syntax. Adding "64 96 128 #406080" to rgb.txt helps a lot but seems to be an unusual hack.
So updated GetColor.c, Xcmsint.h, LookupCol.c, ParseCol.c. Added cmsCmap.c, Cmap.h, Cv.h, CCC.c, cmsColNm.c, XRGB.c, cmsInt.c, cmsGlobls.c, CvColW.c, LRGB.c, CvCols.c, cmsProp.c, HVCGcC.c, XYZ.c, uvY.c, xyY.c, Lab.c, Luv.c, HVC.c, cmsTrig.c, cmsMath.c, AddDIC.c, HVCMxC.c, HVCMxVC.c to X11lib which solves the problem.
BUT adds 20-30K to every binary linked against the new libX11. And most applications does not use the added functions at all. I do compile with "-Wl,--gc-sections,--sort-common,-s" but seems that the new functions are "glued" in...

SO: Are there any way to map the internal dependency of the functions in a library from source-code? If so this could be used to evaluate the consequences of adding functionality or to put in conditions when to use and when not to use...

The obvious solution to xdesktopwaves is to patch the source to use names from rgb.txt and bypass all above additions - but there might be applications that really benefit from the added functions...
Could you provide source for the latest changes? I've seen similar issues with urxvt.

To your question, cxref is the tool I'm aware of.
It looks like you may want to use
-xref -func -html
See http://www.gedanken.org.uk/software/cxref/

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#764 Post by goingnuts »

@Ibidem: Thanks for the cxref-link
Present tinyXlib-source is here - solved the color problem with settings at compile time - view changelog for details - but as it adds to size I recompile xlib for the (few) apps that needs this addition - and most of the time live well without it.

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#765 Post by Ibidem »

goingnuts wrote:@Ibidem: Thanks for the cxref-link
Present tinyXlib-source is here - solved the color problem with settings at compile time - view changelog for details - but as it adds to size I recompile xlib for the (few) apps that needs this addition - and most of the time live well without it.
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.

I wanted to mention that I found cxref because I'd noticed a c??? command in POSIX that did something vaguely like what you wanted, so I looked in the POSIX manpages and found cxref, and then looked it up.
But when I'd just about finished typing it up, I hit the <- key by accident. With links, that means it's gone...

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#766 Post by goingnuts »

Ibidem wrote:...
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
...
Good! Any links for the sources of urxvt & mwm? I would like to test as well.

Found cflow-2.0 which will give:

Code: Select all

# ./cflow 9menu.c  
/root/bin/prcg: cannot redefine: 
/root/bin/prcg: cannot redefine: 
1       main {9menu.c 236}
2               strrchr {}
3               args {9menu.c 167}
4                       strcmp {}
5                       getenv {}
6                       getcwd {}
7                       strlen {}
8                       malloc {}
9                       sprintf {}
10                      putenv {}
11                      printf {}
12                      exit {}
13                      usage {9menu.c 476}
14                              fprintf {}
15                              exit {}
16              usage ... {13}
17              fopen {}
18              fprintf {}
19              exit {}
20              fgets {}
- there seems to be newer project with same name but lower version number - haven't tested though.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#767 Post by technosaurus »

there is also cscope
http://cscope.sourceforge.net/
and its tk frontend cbrowser
http://sourceforge.net/projects/cbrowse ... owser/0.8/
(many versions of emacs support cscope too)
... and the defacto
http://www.graphviz.org/
or a qt3 alternative:
http://sourceforge.net/projects/bouml-n ... /0/4.22.2/
which is now ported to qt4 and renamed douml
and lxr (written in perl)
or opengrok (in java)

there is also silentbob which requires ruby to build ... wtf, screw that! Do this.
g++ -Os -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -I$PWD/gclib/include -I$PWD/include gclib/src/*.c* sblib/src/*.c* silentbob/src/*.c* -o sbob -Wl,-O4,--gc-sections,-s

This geany gdb wrapper plugin could be helpful too:
http://git.geany.org/geany-plugins/tree/scope
Last edited by technosaurus on Sat 02 Nov 2013, 15:18, edited 1 time in total.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#768 Post by Ibidem »

goingnuts wrote:
Ibidem wrote:...
Thanks. It's working nicely...urxvt is working, etc.
In fact, I'm typing this from links2 with the X driver, running under tinyxserver.
I'm using mwm for window manager at present.
...
Good! Any links for the sources of urxvt & mwm? I would like to test as well.
Mwm is the "Motif Window Manager": it's part of the Motif source code that was recently relicensed as LGPL. I grabbed the source from git://git.code.sf.net/p/motif/code
I passed --disable-shared when building Motif; I had to run autogen.sh on a Debian box, since autoconf requires so much crap.
For urxvt see:http://dist.schmorp.de/rxvt-unicode/

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#769 Post by goingnuts »

Thanks - the "all-pink" has gone. Do you have application and icon name set? urxvt is calling XmbTextListToTextProperty to set the name, XmbTextListToTextProperty is in tinyX11lib but name is not set. That means in older jwm if application is minimized, jwm crash if pointer is over taskbar/un-named...

Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...

Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:

Code: Select all

--- ./src/main.C.01	2013-02-17 00:51:51.000000000 +0000
+++ ./src/main.C	2013-11-02 20:30:32.000000000 +0000
@@ -917,6 +917,8 @@
 void
 rxvt_term::set_title (const char *str)
 {
+	XStoreName(dpy, parent, str);	// Set windowname for tinyXlib
+	
   set_mbstring_property (XA_WM_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_NAME], str);
@@ -926,6 +928,7 @@
 void
 rxvt_term::set_icon_name (const char *str)
 {
+	XSetIconName(dpy, parent, str);	// Set windowname for tinyXlib
   set_mbstring_property (XA_WM_ICON_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_ICON_NAME], str);

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#770 Post by Ibidem »

goingnuts wrote:Thanks - the "all-pink" has gone. Do you have application and icon name set? urxvt is calling XmbTextListToTextProperty to set the name, XmbTextListToTextProperty is in tinyX11lib but name is not set. That means in older jwm if application is minimized, jwm crash if pointer is over taskbar/un-named...

Could you pass your config flags for urxvt? I would like to get the transparency to work but have to disable to get the thing compile...

Update: Below patch will set app&icon name if/when XmbTextListToTextProperty fails:

Code: Select all

--- ./src/main.C.01	2013-02-17 00:51:51.000000000 +0000
+++ ./src/main.C	2013-11-02 20:30:32.000000000 +0000
@@ -917,6 +917,8 @@
 void
 rxvt_term::set_title (const char *str)
 {
+	XStoreName(dpy, parent, str);	// Set windowname for tinyXlib
+	
   set_mbstring_property (XA_WM_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_NAME], str);
@@ -926,6 +928,7 @@
 void
 rxvt_term::set_icon_name (const char *str)
 {
+	XSetIconName(dpy, parent, str);	// Set windowname for tinyXlib
   set_mbstring_property (XA_WM_ICON_NAME, str);
 #if ENABLE_EWMH
   set_utf8_property (xa[XA_NET_WM_ICON_NAME], str);
I had guessed that the all-pink was thanks to the color stuff, due to the errror messages I got.
Didn't check name/resources.

I disabled everything (--disable-everything or some similar option). So no transparency here.

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

Hi All!

#771 Post by PANZERKOPF »

Anyone knows a difference between -fPIC and -fpic options of GCC for making
a position independent code?
I have already read documentation but unfortunately cannot get an answer
of one question:
Is it safe to use -fpic instead of -fPIC when build a shared library for x86_32 Linux based system?
Discovered that -fpic produces smaller binary and takes less memory than -fPIC.
Several libraries built with -fpic work on my custom system without problems, all needed
symbols are exported and all tested applications work with these libraries
but ... "It works" not means "It must work".

Thanks in advance !
SUUM CUIQUE.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#772 Post by technosaurus »

IIRC pic has a limited number of symbols that almost never is reached in unbloated software. If you build seamonkey/firefox with a single libxul instead of many small libs, you will hit the limit. Combining the libraries _can_ reduce size and startup time, so it will depend on your project size which is the better option.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#773 Post by PANZERKOPF »

technosaurus wrote:IIRC pic has a limited number of symbols that almost never is reached in unbloated software. If you build seamonkey/firefox with a single libxul instead of many small libs, you will hit the limit. Combining the libraries _can_ reduce size and startup time, so it will depend on your project size which is the better option.
Thanks for answer !
I combined gtk1 with its dependencies to one library (glib+gmodule+gthread+gdk+gtk) then built some small apps based on it (Xdialog, gamix etc..). These apps work without problems either when library was built with -fpic or -fPIC.
About limitations:
GCC manual says that x86 based systems hasn't any size limitations of global offset
table.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#774 Post by goingnuts »

PANZERKOPF: Was it dynamic linked apps?

I started converting some static linked apps to dynamic linked to evaluate the reduction in total file size (tinyX11+uclibc). Seems to be a delicate balance depending on type and number of apps.

Experimented with Xvesa/Xfbdev from XFree86-4.8.0 compared to the tinyXservers. The first observation is that there are no reason to not link them static - the increase in size is minor. Second the stability and features of XFree86-4.8.0 versions are better than the tinyXserver versions (ex. Abiword works, keyboard in qemu/rxvt works). And size seems to be "ok".

Also working on a gxwin-based front end for pkginstall/pkgremove - sort of Synaptic wanna-be. Making package manager for static linked packages-only...really makes things so much easier...
Attachments
snap0001.png
(13.63 KiB) Downloaded 385 times

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#775 Post by PANZERKOPF »

goingnuts wrote:Was it dynamic linked apps?
Seems I was wrong there. No size differences between -fPIC and -fpic.
Maybe this affects to some particular code only?
SUUM CUIQUE.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#776 Post by technosaurus »

PANZERKOPF wrote:
goingnuts wrote:Was it dynamic linked apps?
Seems I was wrong there. No size differences between -fPIC and -fpic.
Maybe this affects to some particular code only?
They are the same on x86, but not always. In fact on x86 (32bit), IIRC, it is not necessary to compile with -fpic or -fPIC at all for shared libs... correct me if I am wrong.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#777 Post by PANZERKOPF »

technosaurus wrote: In fact on x86 (32bit), IIRC, it is not necessary to compile with -fpic or -fPIC at all for shared libs... correct me if I am wrong.
IIRC, a non-PIC shared library can be used on 32-bit x86 systems but has more RES and less SHR memory usage.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#778 Post by goingnuts »

Anyone know of a torrent client - not gtk2, qt, perl, python - but with a GUI?
Found none...but transmission-1.50 comes with a web-interface and transmission seems to work out of the box (that is connects and downloads/seeds).
Start transmission with

Code: Select all

transmission-daemon 
and access the web interface at address:
http://localhost:9091
Unfortunately you need more than links-2.7 or dillo as support for javascript is a must :(
Attachments
snap0000.png
(62.99 KiB) Downloaded 299 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#779 Post by technosaurus »

http://suckless.org/rocks lists btpd, but there is also rtorrent (curses) and dtorrent (enhance ctorrent)

Though hopefully netsurf-fb with javascript support is useable now.

if you use curses/termcap, jupp is a nice little highlighting text editor from mirBSD based on JOE that can build against curses or termcap
btw you can use this commit of termbox for a light ncurses

Code: Select all

https://github.com/nsf/termbox/commit/a2e217f0fb97e6bbd589136ea3945f9d5a123d81
see also:
http://wiki.musl-libc.org/wiki/Alternative_libraries
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#780 Post by PANZERKOPF »

goingnuts wrote:Anyone know of a torrent client - not gtk2, qt, perl, python - but with a GUI?
Found none...but transmission-1.50 comes with a web-interface and transmission seems
IIRC old versions of Transmission have Gtk1 based GUI.
SUUM CUIQUE.

Post Reply