The collected works of squeen - Page 2

the only thing that I would like is the ability to turn off the icon resizing when you mouse over it.


If you middle or right click on an icon, a menu will appear (hopefully!). Uncheck Magnify Icon.
You can also launch it with the -nomag command line option.

And yes, when I use it on a R5K O2, it is too slow.
My main task now is to speed it up somehow.

Thanks for the feedback.
Cool, I had no idea that BRL-CAD existed ( http://ftp.arl.mil/brlcad/index.html ), as for ACAD -- do you mean the R12 version of AutoCAD once available from AutoDesk for IRIX? I couldn't find any other references. There is also QCAD, and once upon at time there was going to be a GCAD (GNU).

Lastly, semi-fly what kind of CAD package are you looking for -- 2D or 3D? Over a year ago, when I couldn't find an IRIX version of AutoCAD I started writing a simple 2D replacement using openGL and Motif. It's far from complete (in a state only a father could love)...but usable for some drafting. Here is a screenshot of a mechanical component I designed with it. I think you would have to be framiliar and longing for the old (early 90's) AutoCAD interface to find even some small joy in this application -- but let me know if you are interested.
One more - Varkon ( http://www.tech.oru.se/cad/varkon/index.htm ). I think I once had a version of this working under IRIX but can't seem to find it..
I don't have any movie's to play, but here's some instructiontions on making a tardist:


1) Look at the on-line manual for SoftwarePackager http://techpubs.sgi.com/library/tpl/cgi ... srch=swpkg

2) I do:
Code:
%find /usr/local -print > ./before.list
%gmake install
%find /usr/local -print > ./after.list
%diff ./before.list ./after.list | grep "> " > installed_files.txt


to get a list of the installed files (assuming I told config to put them into /usr/local).

3) ldd (executable) gives a list of the run-time linked libraries for example:

Code:
%ldd /usr/freeware/bin/gimp
libgtk-1.2.so.1  =>      /usr/freeware/lib32/libgtk-1.2.so.1
libgdk-1.2.so.1  =>      /usr/freeware/lib32/libgdk-1.2.so.1
libgmodule-1.2.so.1  =>  /usr/freeware/lib32/libgmodule-1.2.so.1
libglib-1.2.so.1  =>     /usr/freeware/lib32/libglib-1.2.so.1
libXi.so  =>     /usr/lib32/libXi.so
libXext.so  =>   /usr/lib32/libXext.so
libX11.so.1  =>  /usr/lib32/libX11.so.1
libm.so  =>      /usr/lib32/libm.so
libpthread.so  =>        /usr/lib32/libpthread.so
libintl.so.3  =>         /usr/freeware/lib32/libintl.so.3
libc.so.1  =>    /usr/lib32/libc.so.1


4) Find the package name of each library via:
Code:
%versions long | grep usr/freeware/lib32/libgtk-1.2.so.1
f 59364  4750 fw_gtk+.sw.lib          usr/freeware/lib32/libgtk-1.2.so.1


5) Find the serial number of the package:
Code:
%versions -n | grep fw_gtk+.sw.lib
I  fw_gtk+.sw.lib       1278773820  gtk+-1.2.10 shared libraries


6) Run swpkg, select a name(no spaces or special characters), and configure the subsystems, select the install files, etc...

7) write a prerequist for the base software (from inside swpkg), i.e.:
Code:
prereq (
fw_gtk+.sw.lib 1278773820 maxint
)


8) tell swpkg to build it

9) do a
Code:
%tar cbf 20 packagename.tardist distfiles...


done!
Looks good to me, and yes I usually leave out things like eoe.sw.base (IRIX OS) and x_eoe.sw.base (X11) since they are really required for the computer to run and the serial numbers might be different on older revisions of the OS.

I'm not that framiliar with how sound works under IRIX and where esd lives...others here (I'm thinking of lisp for one) could probably be more help to you.
This may be document elsewhere, but it happened to me and a few others at our facility:

Doing an upgrade from (other than the miniroot) on Octanes to 6.5.21 WITHOUT patch 5086 will cause inst to bomb during the flashing of the PROMS (i.e. exist commands).

The result -- you're system will not boot AT ALL after the crash. The SGI tech who told me this has replaced three motherboards so far, that being the only solution he knows of right now other than patching inst BEFORE the upgrade.

Watch out!
I was forced into upgrading ASAP to 6.5.21 because SGI told me that the pthreads libraries that were de-stabilzed after 6.5.18 where now much better (TRUE!).
Whiter, did you patch before the upgrade? I didn't want to unnessarily alarm folks, but It really did happen to me going from 6.5.20f to 6.5.21f (thought it was just my bad luck at first). The SGI on-site tech who fixed my machine later told me about the other cases that occurred after mine.
I apologize for the long delay, but I am ready at last with the beta version for those still interested in trying this out. It was a big effort for me, especially to find some spare time in which to work but it was rewarding -- once again I feel as if I've learn quite a bit more about Xt and Xlib programming.

The main thrust of my effort was stability and speed , since I felt those were the two largest barriers preventing folks from using it daily. To that end, my motto was the following quote from pilot and the author of The Little Prince ,

Antoine-Marie-Roger de Saint-Exupery wrote: You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away.


And in accordance with these goals I believed I removed over a third of the original code!
Things I did to improve performance

    * changed the icon widget to low level Core widget class and moved the pixmap into the background, for this reason the beta version will probably look flatter than the alpha -- also the pushed-in-when-maximized look has been lost, but I don't think that's a big deal.

    * changed from the rowcolumn widget class to the "dumb" bulletboard class and wrote my own geometry manager to eliminate the jiggle as the icon magnified and then De-magnified

    * removed a lot of unnecessary communications to the Xserver (I can really program like an idiot sometimes...err...umm... make that most of the time)

    * set the overrideredirect property of the shell and pop up windows to TRUE so that 4dwm completely ignores them (i.e. unmanaged) -- this not only improved performance but also made it so that the iconbar appears on every desktop when multiple desks are used

    * relaxed the condition under which the app re-examined the window hierarchy and looks for new icons (which might be bad in the long run) -- this was the last thing I did and it made a BIG difference

    * misc. error checking for stability

    * fixed a BIG memory leak

The net result IMHO is a much more responsive, stable and usable state for the program -- I hope you'll agree. Since I did almost all of the work on an 195MHz, R5K O2, I think even the older systems will now find performance acceptable.

I also made a few feature changes :

    * the source code is now GPL'd and included in the tardist

    * there is now a lengthy man page

    * hitting <Escape> or <Space> now forces the iconbar to shrink back down to a hidden state immediately

    * there's a whole new slew of user customizable resources, either from the command line or in an X resource file (i.e. .Xdefaults)

    * better handling of Withdrawn icons

    * better retrieval logic for icon pixmaps

    * no longer starts in "hidden" mode

    * cleaner exit (doesn't minimize all apps windows)

    * fixed makefile to build either mips3 (Motif 1.2) or mips4 (Motif 2.1)

    * lots of improved X resource management and defaults ( you can now specify the shrinking factor for the icons and/or the list of applications it ignores )


I would love all of you help finding the bugs that remain - here are the one's I know about:
    The icon images will only display correctly if the default visual is of class TrueColor and depth of 24 bits per pixel. This means changing the /var/X11/xdm/Xservers file to add -class TrueColor -depth 24

    The parsing of the ignoreApps resource string is kludgey and may be non-portable.

    The pop-up of the option menu and exit dialog are memory leaks .

    A possible double free of allocated memory may exist when deleting icons.

    Pointer Button-3 stopping queuing the pop-up menu after the first instance when magnification is disabled. Pressing Button-2 returns functionality.

    On SGI system with VPro graphics (e.g. V6, V8, V12) that have a best visual with a depth greater than 24, the GTK+ applications report in their window manager hint IconPixmapHint field that they have a depth of 30 and contain misaligned data.

    Some application icons are ignored (e.g. gr_osview ).

    The keyboard grab implemented for the <Escape> and <space> quick hide may not always release.


Anyway, here's the download .
http://www.nekochan.net/downloads/iconbar-beta.tardist

Enjoy and please leave me feedback!
My plan is to squash as many bugs as practical and release a 0.1 stable version (maybe set up a home/CVS server for it at source forge). All the other nice features one might imagine I would target for a 0.2 version.
Hurray lisp! Thanks for the feedback. I get so tangled up in a project sometimes I can't see the forest for the trees and I really need another's perspective. Also, I was beginning to wonder if all the bugs in the alpha release had turned folk off. I know you've been working long hours and I really appreciate you taking the time to look this over.

I'll try to address some of the issues you raised.


lisp wrote: My only two complaints:

* Clicking an icon from a different desktop brings it to the current one. This means it's now on both, and ov has to be run if you want to sort it out after the fact.


I know the multidesk support is kludgy. I've made a few inqueries as you how 4dwm does it, but I've had no responses. The biggest hurtle right now is just finding a way to telling which desk is the currently active one.

lisp wrote: * The bar still impinges on the display, even when hidden - I really want to see something like invisible margin window.


Yes, you made this comment previously and I've been trying to think of an easy way to accomplish this. I do need some sort of window at the bottom of the screen that triggers the pop-up when a EnterNotify event occurs. Apps like x2vnc seems to have worked this out, so I'll have to dig through their code for a solution -- unless you know of one.

lisp wrote: I might look into these modification myself, but unfortunately I'm really low on time.

Please consider signing up as a developer anyways when I get it going on sourceforge.

lisp wrote: Ok, I just quit iconbar, and it did that annoying minimise thing again. This is spectacularly annoying on a paged desktop system.

Yes. I've been lazy here -- I thought it a bit improved, but more care should be taken. By "paged" do you mean mutil-desk or something else?

lisp wrote: Another quick thought - it strikes me you already have code for reading pixmap files, therefore, how difficult would skinning the interface be?

One could render a background image, render the icons over it, and then blit the four corners in and stretch blit the four sides in for both the whole frame and each icon. It'd make things fantastically flexible.

I applogize for my arcahic vocabular (maybe it's a cross-Atlanic thing :) ), but I don't quite follow "skinning" and "blit". Sounds cool though. My only caveat would be that I will probably concentrate on stablity/bugs/bad bahavior for release 0.1 and then the sky's the limit for features after that.

lisp wrote: You've also got screen grabbing code - you could use that to grab what was there pre popup, and use it as the basis of a cheap-but-not-as-cheap-as-everyone-elses alpha effect.

Yes, I've been thinking of ways to do the transparency/alpha effect. I tried the Xshape extension (i.e. punching small holes in the windows), but it slows things down quite a bit. Are you talking about something like the aterm approach?

lisp wrote: Out of interest, what happens to window coordinates of windows when they're on a diferent desktop?

I'm not sure, but I thought it kinda strange that you could now have two maximized versions of a single apps window (one on each desktop) with different coordinates. Clearly, the window manger is controlling things here, and SGI doesn't seem to have any public documentation on this.

Anyway thanks again. While I run iconbar everyday (and find I can't get by without it anymore), I don't run multi desks too often or multi displays or different visual classes so I tend to miss alot of those pitfalls. I really am very interest in why you folks would/do not want to run this on your desktop, in the hopes of making it more appealing.
Thanks for the education :D I thought you were making up those term (really!)... I could try taking a stab at letting the borders be customizable pixmaps without too much difficulty. Once again though, I'd probably save that for 0.2 and focus on issues like the mutlidesk stuff for 0.1.

lisp wrote: I'm not 100% sure, but I think it merely creates a window that never paints itself.


I don't like X11 can put this off. Either a window is "mapped" or not. When it's not mapped I don't think it can recieve any events, but I'll look into that.

lisp wrote: It seems to be the signal handler that's responsible for it.

It never occurred to me that a signal might be involved...that's pretty easy to look for.

Also, I think the screen-capture method of transparency would be trival, so I'll definately give that a go.

Thanks again.

BTW, I just found some "bad" behavior when the "no hide" and "always on top" behaviors are enabled, regarding the screen saver. Uggh...
Shtoink wrote: Joe, you are a GOD among men...

Hope you don't mind my comment. :wink:


ditto
A perfect wrap up :lol:
As much I would like to see something save SGi from financial ruin, it still warms my cold, sadistic heart to see Itanium sales in the crapper. :twisted:
I'm happy to report I've had only three crashes in two weeks on the BETA version :D -- both at the same line of code. I hope this mean that the stability issue can finally be put to bed.

Anyone else have any better/worse experiences to relate?
I for one am happy to see a faster lame. I wouldn't have thought the compiler differenece would be so pronounced. Thanks!
Getting all your ducks in a row with these tardists can be a real bitch -- I have alot of respect for the SGI freeware voluenteers.
Awesome write up...I am seriously considering following this blue print. I have a 200Mhz R5000 O2 now. I suppose I will need to get the 300Mhz RM5000 upgrade from SGI ($995?), and then the new 600Mhz CPU.

Thanks Joe for:
1) having enough of an adventurous spirit to take these risks with your hardware
2) freely sharing what you learned
I jump started the web site, it's at http://iconbar.sourceforge.net/ . I included a couple of links back here. I hope that's alright with you Neko.

Also, I plan to continue announcing the major releases in this forum thread if nobody minds. :)
dexter1:

You are right - it definately fights with the screensaver. Actually it's the way I implemented the "always-on-top" or auto-raise feature. A temporary work around would be to disable the auto-raise by either (from the command line)

>iconbar -raise False

or in .Xdefaults

Iconbar.raise: False

or (right mouse button) from the pop-up menu.

A more permanent fix would be :

a) find a programatic way to determine if the screen saver is running
b) only auto-raise when the mouse is in the iconbar window

I'll take a crack at it this weekend as well as getting the other (stability) updates I've made into the CVS server.
nekonoko wrote: Don't mind at all - and I'll try and post a blog entry along with your new website as soon as I can - hopefully this afternoon/evening :)


Thanks. That would be great -- no hurry.

dexter1 wrote: But there is a problem with xlock screensavers and password locking.

Wow -- that's a pretty serious flaw. I definately classified this as a must fix immediately and I think I managed to starighten it out last night. The app will now automatically respect full-screen apps and temporarily cease auto-raise. (Incidentally, I learned a bit more about X screen savers on IRIX while I was pursuing a blind alley solution -- and it has me curious about how to integrate the realyslickscreensaver package into Xscreensaver ultility).
I'll upload the changes to the CVS repository tonight or tomorrow.
Thanks!
-------------------------------
I also discovered a problem on my workstation. The xlock screen savers won't unlock for my machine (even with iconbar running). It rejects all of my correctly entered passwords!

Anyone else out there ever encounter this phenomena?
The key you press to get to get the password prompt to appear counts as part of the password, as in you were adding an extra first character to your password every time you entered it.


yup...although I usually press <SHIFT> a number of times to clear the buffer.
I should add that only one of the systems I use exhibits this behaviour.
I placed in the CVS server updated sources that seem to fix the screensaver problem -- in general the app has been moved from a timer drive to event driven base. The result is a much more robust and responsive implimentation. The time between crashes now is in weeks on my system.

Just a few more bugs to squash and v0.1 should be out.

Thanks dexter1 (and others!).
I can't tell you how happy I am to see this application finding some life outside of my machine. I really want to eliminate all the usability issues so that there is no down side to having iconbar on the IRIX desktop. It really is an honor that you took the time to build iconbar as your first application on your fresh install. Thanks.

(I also re-downloaded it from CVS at home this holiday and found an error in the install script).

If I understand the lastest bug you've run into, you are using (xlock?) to lock your screen and after the system unlocks the window manager places all the icons windows back on the desktop and iconbar is not savvy enough to re-hide them. Is that correct? Also, you are running IRIX 6.2, right?

Right now I'm using xscreensaver to lock, but am not having that problem -- but I will try reproduce the problem on my system and look for a more explict solution.
I recently sent neko an small new item regarding RSS integration with xscreensaver that fixed some issues for me, which I hope he will post when he gets some free time. Look for it on the new blog.
Yes. Multidesks support has been a bit of a show stopper for me since it seems to live entirely in 4dwm and I haven't found any documentation on it or an API.

If I could just find a programtic way to determine the currently active desk, I think I could make it work.

I'll move this to the top of my priority list. :?

Thanks again.
Unfortunately, I haven't run gaim in the past. I have it installed in /usr/freeware/bin/gaim, but when I try to execute it I get

** (gaim:319057): CRITICAL **: Failed to assign /var/tmp/gaim_queen.0 to a socket (Error: Address already in use)

GLib-ERROR **: gmem.c:141: failed to allocate 21 bytes
aborting...
Abort (core dumped)


Any clues as to what I am doing wrong?

Also a little more info on what happens with the icon might give me a clue. Is it a garbled pixmap? How are the other icons in the application? Are you running on a VPro graphics system?

Regarding your thoughts on transparency, I'll admit I not an expert on png format, but I believe it is converted to an Xpixmap using libpng. I'm not sure how the Xrender transparency of Linux affects the data in the pixmap format, but I'll look into it. More specifically, is the icon that gaim is trying to display the one in /usr/freeware/share/pixmaps/gaim.png? Is so, I might be able to write a small application that uses it as it's icon as an experiment.

As for your work around, I see no problem in doing this (although, I don't have an entry in /usr/lib/images for Gaim it it would only get me the SGI default icon). You might just want to swap the order of the icon resolution code so that FILES comes before WM_HINT. This is actually something I have wondered about in designing the program. I think it would be best to add an Xresource/command-line option for selecting the order of icon resolution. (i.e. WM_WINDOW_HINT, WM_PIXMAP_HINT, SYSTEM_FILES or LOCAL_FILES). I'll try to put something like this in this week and update the version on the CVS server.

Thank you very much for the feedback...and please keep me infomed about any issues that make the program unpleasant to use.
Hmmm....I wish I could get gaim working on my machine and see for myself. Am I starting it up correctly?
vegac wrote: I took a screenshot of my iconbar for you so you can see...maybe it will give you some ideas...

Notice the "garbage" behind the buddy list icon, the weirded out Nekochan icon, and the garbage behind the last icon there (buddy icon, name blurred for his protection heh) but the people on there are ok, it's just everything else that would be transparent isn't...


Aye caramba! What a mess! :shock:
Definately looks like a transparency issue. I can problem reprogram it to install a solid color under neither once I learn what that bit code it. What version of gaim are you using -- I sure would like to have it running here for debugging

Is the Nekochan icon also gaim relate? Also your (tiny) icon for xmms is diferent from mine, but I'm still using 1.2.7.
Awesome! -- this is really a dream come true (I sincerely hoped for colaborators when I released the source code). Anti-aliasing was always on the todo list.

Please join the developement team on the sourceforge site (just send me a mail with your sourceforge unix name) and you can place the new code directly into the CVS repository (don't forget to add yourself to the copyright notice).
If for some reason you don't want to go that route we canl find another method for you to get the modified code to me.

BTW, I ran gaim on my 02 at home and this is what I got:
http://www.nekochan.net/wiki/gallery/album36/gaim_icons
No noticable errors and appearently a different icon. Uggh - I'll continue to look into it from my end until we crack it.

Looks great and thanks!
:D
After a little trouble getting CVS access straightened out - vegac has incorporated his code.
So, I went ahead and released an updated package called pre0.1 for all interested parties to enjoy the beautiful new icons.

What fun! :D
Yippe! The saints at freeware.sgi.com have answered my prayers. I tracked this error through the source code in gedit and determined it was in imlib . As expected the code looked for the maximum depth of any visual and then assumed that's what was wanted. Unfortunately, I couldn't get my "fix" to build.

Jeff and Dave at sgi rebuilt the library for me with an "official" imlib patch they found.
Problems all gone!
It's unbelivable, how much better all the Gnome/GTK/GDK apps work now on my V6 system. :D
For any others out there struggling with this issue, I'm told the fixed imlib with be included in a future freeware release, but probably could be had sooner if you are interested.
hehehehehe :twisted:
Image
The current state of the source code is always availible via CVS fron the sourceforge server. Instructions on how to go about retrieving and building it are on the site's home page . The build instructions are also included.

I am really pleased beyond words as to how slick the interface is starting to look, and we really have vegac to thank for that. (Thanks vegac!)

Unfortunately, some of the new features aren't fully integrated (debugged), so while the version out on CVS is much inproved in appearance, it may take a few weeks to stabilize it. After that happens, I'll probably post a new package and annouce it here.

Things have really come a long way -- at first I wasn't sure if good old X11 could pull it off seemlessly. But now, I'm really satisfied (I'd still do a jig dressed like an organ grinder's monkey for true transparancy!) :) Once a really stable core is in place (multidesks, arggg!), we can really start playing with the bells and whistles. Should be fun.
Thanks Diego. :)

What features of teleffect would you like to see supported?
foetz wrote: gftp, sylpheed and the mozilla based apps run fine.


Those apps must use a mechanism different from imlib because they also were fine for me. Some of the older (GNOME?) apps like gedit, gnumeric, sodipodi and (at one time) Abiword were the worst offenders. Gedit for example would display a black icon window when minimized and an empty set of icons in the toolbar when running. Gnumeric was missing the icons for redo/undo, cell borders, cell colors and a few others. Sodipodi was a mostly blank enigma. If you have time, gives those a try. I'm curious...
Thanks for the sugestions Diego. I'll see if I understand you correctly:
Diego wrote: 1) An IconBar on each system desktop (the main desktop of each irix-box, i guess... i don´t mean that you must add multi-desk support), showing up all the active applications (either iconified apps, or fully openeds) on the complete totallity of desks

Do you mean have iconbar show icons from other displays? -- and I mean diplays in the X sense of a keyboard/monitor/terminal combo. If so, it's worth thinking about but I'm not sure what the usefulness would be. Can you give me an example of how you would use this feature in your daily work?

Diego wrote: 2) A numerical pop-up showing the desktop owner of the app

Is this tied to the first point? In other words, would this only be applicable if we successful implimented your first suggestions of a multi-display capability.

Diego wrote: 3) Of course; the possibility of really launch the icons on another desktop

Same comment as above.

Diego wrote: vertical pop-uped groups of similar kind of icon-apps

I've always planned to tackle this one - glad to hear you'd like to see it too!


Diego wrote: The possibility of just move icon bar to other margins of the display.

At first I thought I'd put this feature in right away, but I've been dragging my feet a bit. You make a good point about teleffect and similar tools possibly running into issues. I'll put it on the feature request tracker.

Great to have your feedback, and as always, it's wonderful to hear that Nekochan folks are using iconbar.
I put the beta package the freeware folks put together to fix the imlib problem onto Neko's FTP/incoming site. If he would be kind enough to move to it the downloads directory, it will hopefully fix your system's issues with the GTK/GNOME apps as well (although it doesn't sound like you are using them much!).

The file is called : fw_imlib.200030821-1501.tardist
No freeware is not dead, but the recent wave of lay-offs at SGI has (to my non-insider understanding) left it heavy wounded. Specifically, there are no dedicated resources, just some seriously over-worked volunteers. In that context, I believe that community driven alternates (like what Neko has done with the downloads page!) are happily encouraged.

If anyone has any thoughts regarding how to mirror and augement (with non-SGI contributors) the freeware site -- let's hear them [in a separate thread?].
I've got the tardist, but would like to hear from Timo or Neko if I should FTP it in.