iconbar

IRIX and IRIX software discussion including open source and commerical offerings.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
lisp
Posts: 274
Joined: Wed Feb 05, 2003 5:23 am
Location: England
Contact:

Unread postby lisp » Thu Jul 31, 2003 2:58 pm

I tmya have been because it was on a different desktop.
--
lisa

User avatar
lisp
Posts: 274
Joined: Wed Feb 05, 2003 5:23 am
Location: England
Contact:

Unread postby lisp » Thu Jul 31, 2003 3:02 pm

squeen wrote:Also, I have access to an O2 R5K, 195MHz machine. I'll try running it with launch on there. Which variant do you have installed the mips3 or mips4 binary?


I'm afraid I was lazy and just installed whatever came as default
--

lisa

User avatar
RageX
Donor
Donor
Posts: 490
Joined: Wed Feb 05, 2003 5:32 pm
Location: New York

Unread postby RageX » Fri Aug 08, 2003 6:11 am

Great little program! I've installed this on all my systems. This could be a must-have program ;)

Anywise, here are some of my thoughts. I should say that I really do believe in the UNIX philosophy: small is beautiful, do one thing well, let the user choose, build a filter, etc.

Some repsonses to your roadmap list:
    Icon antialiasing would be great.
    I'd like to see the default IRIX mailbox used, especially if it can be animated on the iconbar.
    Options for iconbar location and scale would be great. One thing you may want to look into is Xinerama aware code, so that ppl using 2 screens don't have the iconbar split between them.
    Exclude icons by dragging them off the bar and onto the desktop &/or through a menu option saved to a .iconbar file.
    Lockable icons as well as a few basic sorting options.
    I'd prefer that iconbar not be a program launcher. Toolchest does a great job of that.
    Optional transparency effects would be cool.
    Vertical icon stacking is another great idea.
    Consider Handling multiple desks just like iconbox:
      Icons on other desks are shown by an concave icon*.
      Icons on the current desk are shown by an embossed icon*.
      Icons on the global desk are always shown by an embossed icon*.
      Icons remain on the desktop where they originated unless explicitly moved.
      Icons on the current desk are restored with a single-click.
      Icons from other desks are restored by double-clicking but this does not break them away from their original desk.
    * See my alblum to see what I mean about iconbox: http://www.nekochan.net/wiki/gallery/album43
And some additional ideas of my own:
    Icons can be reordered by dragging.
    Clicking on the icon of a open window minimizes it to the bar (for symmetry's sake)
    Iconbar minimum & maximum size constraints.
    Scrollbar/arrow button for when there are more icons than screen space.
    Use of a more standard window with a title bar and menu (like ov).
    Options to turn off the title bar & menu (like ov).
    Cascading menu for controlling options and performing actions (like ov).
    Standard right click menu for icons (like iconbox).
    Keyboard shortcuts.
    Clearer divisions between icons.
    Option for auto-hide.
    Option for always-on-top.
    More advanced window management (tile, cascade, fit, snap, etc.)

squeen wrote:Missing applications: I have explicitly told the program to ignore the following named applications for now: ToolChest, iconbox, iconbar, nixieclock, gr_osview, xeyes, Desks Overview, top, bottom and xbiff.

Would be nice if this worked just like a control panel. Nice gui for making a list of programs and when you click okay it writes options out the .iconbar file. Another thing I think would be cool is to be able to exclude certain programs by dragging them off the iconbar and onto the desktop (like the clock) and having that noted in .iconbar.

Some of these suggestions might be impractical or require changes to 4Dwm, not sure. But I thought I'd throw them out anyway.

directedition
Posts: 515
Joined: Mon Feb 03, 2003 5:20 pm
Location: Pasadena, MD
Contact:

Unread postby directedition » Fri Aug 08, 2003 6:38 am

If possible, when animated icons are available, I'd like the option to disable them. Is there a place to get the latest version or source code?
- Jim
:Indigo: :Indigo: :Indy: :Indy: <- signed by The Screensavers :) :Indigo2IMP: (230L) (230L) :540: :1600SW: :1600SW: <- touchscreen :PI: :Octane2:

User avatar
whiter
Posts: 975
Joined: Tue Apr 29, 2003 2:02 pm
Location: Melbourne, Australia
Contact:

Unread postby whiter » Fri Aug 08, 2003 7:58 am

I just looked at the screenshot and it looks quite nice!
I'm going to try it out immediately.
Great work Squeenyweeny!
:D
Shall I describe it to you? Or do you want me to get you a box?

User avatar
whiter
Posts: 975
Joined: Tue Apr 29, 2003 2:02 pm
Location: Melbourne, Australia
Contact:

Unread postby whiter » Fri Aug 08, 2003 8:18 am

hm...
just tried it. But it won't work.
Tested both mips3 and mips4 versions. A small grey line appears at the bottom of the screen that appears to suck up all my icons.
But it won't pop-up when I do the mouse over thing.
When I use the -nohide option, it still stays hidden.

(Working on an Octane r12k 300MHz with 6.5.20m installed)
Shall I describe it to you? Or do you want me to get you a box?

User avatar
squeen
Moderator
Moderator
Posts: 2933
Joined: Fri May 09, 2003 6:10 am
Location: Maryland, USA

Unread postby squeen » Mon Aug 11, 2003 12:06 pm

Hello all and thanks for the great feedback. I just recently moved so have been out of touch for the past half dozen days.

I'll try to respond to a few of the comments:

RageX:

I'd like to see the default IRIX mailbox used, especially if it can be animated on the iconbar.

That was my hope as well - I'll need to reparent the icon window but I think that shouldn't be much trouble.
Options for iconbar location and scale would be great. One thing you may want to look into is Xinerama aware code, so that ppl using 2 screens don't have the iconbar split between them.

I'll need to get framiliar with Xinerama, but that an excellent suggestion.

Exclude icons by dragging them off the bar and onto the desktop &/or through a menu option saved to a .iconbar file.

That was my first thought - I'll have to see if I have time to get it into the beta release.
Lockable icons as well as a few basic sorting options.

What would be some good sorting options? Alphabetical?

I'd prefer that iconbar not be a program launcher. Toolchest does a great job of that.

I agree, my only thought was for an option to have iconbar keep Toolchest "always-on-top" as well as itself.

Consider Handling multiple desks just like iconbox:

This multidesk issue has me a bit puzzled right now - the only indicator can find that determines which desk and application is on is a window property called _XROOMS_APP_NAME, only it doesn't seem to update itself too often. The whole multidesk thing under 4dwn doesn't seem well documented.

Icons can be reordered by dragging.

Definitely.

Clicking on the icon of a open window minimizes it to the bar (for symmetry's sake)

I'd also like a minimize all button.

Iconbar minimum & maximum size constraints.

I was thinking a maximum width (in # of icons) before it switches to additional rows.

Scrollbar/arrow button for when there are more icons than screen space.

Have you tried the multi-row spill over to see if it is well behaved?

Use of a more standard window with a title bar and menu (like ov).
Options to turn off the title bar & menu (like ov).
Cascading menu for controlling options and performing actions (like ov).

What is ov?

Standard right click menu for icons (like iconbox).
Keyboard shortcuts.
Clearer divisions between icons.

Very good suggestions!


Option for auto-hide.
Option for always-on-top.

You can get a menu to toggle these on/off by right clicking on an icon, or am I misunderstanding?

More advanced window management (tile, cascade, fit, snap, etc.)

I not exactly sure what you mean here - management of the top level windows?


directedition

If possible, when animated icons are available, I'd like the option to disable them. Is there a place to get the latest version or source code?


Sounds like a good idea, the more configurable the better. Also, the source will be included with the beta release after some clean up. I think it would be a good idea to GPL it, but I've no experience with the process. (Is there any reason NOT to GPL?)

whiter

just tried it. But it won't work.
Tested both mips3 and mips4 versions. A small grey line appears at the bottom of the screen that appears to suck up all my icons.
But it won't pop-up when I do the mouse over thing.
When I use the -nohide option, it still stays hidden.


This is the most serious bug I think anyone has stumbled on yet. You can try kill -HUP the process and then restarting the window manager -- then running iconbar again. If it continues to misbehave let me know which apps you have open. The beta release will have a debug option for tracking down problems like these, and I'll fix the error with -nohide so that it starts popped-up.


Thanks again everyone for all the great feedback.

User avatar
RageX
Donor
Donor
Posts: 490
Joined: Wed Feb 05, 2003 5:32 pm
Location: New York

Unread postby RageX » Tue Aug 12, 2003 8:33 am

squeen wrote:
RageX wrote:I'd prefer that iconbar not be a program launcher. Toolchest does a great job of that.

I agree, my only thought was for an option to have iconbar keep Toolchest "always-on-top" as well as itself.

Auto-hide and always-on-top would be nice to have. In fact it would be nice to have these options available for almost every window.

squeen wrote:
RageX wrote:Consider Handling multiple desks just like iconbox:

This multidesk issue has me a bit puzzled right now - the only indicator can find that determines which desk and application is on is a window property called _XROOMS_APP_NAME, only it doesn't seem to update itself too often. The whole multidesk thing under 4dwn doesn't seem well documented.


squeen wrote:
RageX wrote:Clicking on the icon of a open window minimizes it to the bar (for symmetry's sake)

I'd also like a minimize all button.

Maximize all, tile, cascade, fit, snap (to other windows, to screen edge, to grid) ... all would be cool, but wouldn't one have to delve into 4DWm?

squeen wrote:
RageX wrote:Scrollbar/arrow button for when there are more icons than screen space.

Have you tried the multi-row spill over to see if it is well behaved?

Ah, no I haven't, didn't know it was there. I've got a big screen (two actually) I'll have to open a bunch of xterms and see how it works.

squeen wrote:
RageX wrote:Use of a more standard window with a title bar and menu (like ov).
Options to turn off the title bar & menu (like ov).
Cascading menu for controlling options and performing actions (like ov).

What is ov?

Desktop Overview, it could have been given a more inteligible name. I really do love how ov works, simple and does just the right job.

squeen wrote:
RageX wrote:More advanced window management (tile, cascade, fit, snap, etc.)

I not exactly sure what you mean here - management of the top level windows?

Yeah. Probably requires tweaking of 4DWm. Maybe an SGI engineer will see this and get to thinking ... I often work with mouse focus and autoraise, but I'd still like some tools to juggle windows more efficiently (including sloppy focus). When using Pro/E you must use explicit focus, so these kind of things would be very handy to me.

User avatar
whiter
Posts: 975
Joined: Tue Apr 29, 2003 2:02 pm
Location: Melbourne, Australia
Contact:

Unread postby whiter » Tue Aug 12, 2003 11:02 am

Squeen wrote:This is the most serious bug I think anyone has stumbled on yet. You can try kill -HUP the process and then restarting the window manager -- then running iconbar again. If it continues to misbehave let me know which apps you have open.

Well. I have tried those things. I currently have running: a few aterms, swmgr, xmms, konqueror and a few nedit's. When I do an strace I see the folowing:

Code: Select all

BSD_getime(0x7fff2c18)                  = 0
ioctl(3, 0x4004730a, 0x7fff2310)        = 0
ioctl(4, 0x786301, 0x4)                 = 0
ioctl(3, 0x4004730a, 0x7fff2310)        = 0
BSD_getime(0x7fff2878)                  = 0
select(4, [3], [], [], NULL)            = 0 (Timeout)
BSD_getime(0x7fff2c18)                  = 0
ioctl(4, 0x786301, 0x4)                 = 0
read(3, 0x7fff2090, 32)                 = -1 EAGAIN (Resource temporarily unavailable)
select(4, [3], NULL, NULL, NULL)        = 1 (in [3])
read(3, "\1\0\t\276\0\0\0\221\0\0\0?\0\0\0"..., 32) = 32
read(3, "\3\300\0\t\0\200\0\3\0\200\0\4\1"..., 580) = 580
BSD_getime(0x7fff2b60)                  = 0
ioctl(3, 0x4004730a, 0x7fff2310)        = 0
ioctl(3, 0x4004730a, 0x7fff2310)        = 0
BSD_getime(0x7fff2878)                  = 0
select(4, [3], [], [], NULL)            = 1 (in [3])
ioctl(3, 0x4004730a, 0x7fff1e50)        = 0

This repeats constantly, but the "Resource temporarily unavailable" appears when I put the mouse over the small grey line it seems.
Squeen wrote:The beta release will have a debug option for tracking down problems like these, and I'll fix the error with -nohide so that it starts popped-up.

Sounds nice. We'll be waiting :D
Shall I describe it to you? Or do you want me to get you a box?

User avatar
somecodemonkey
Posts: 277
Joined: Mon May 19, 2003 12:51 pm
Location: Oxford UK
Contact:

Unread postby somecodemonkey » Thu Sep 18, 2003 3:19 am

a damn fine piece of work and not had to many problems as yet, in fact only one so far is iconbar just locking and me having to kill it and the programs who icons he had since they don't come back other than that its great!
1995: Real Audio released, allowing users to listen to halting bursts of static in real time.

User avatar
squeen
Moderator
Moderator
Posts: 2933
Joined: Fri May 09, 2003 6:10 am
Location: Maryland, USA

Unread postby squeen » Thu Sep 18, 2003 3:36 am

Haven't had much free time lately...although I've fixed up a few more bugs (including a bad memory leak) -- I hope to get a beta release out sometime around the beginning of Oct.

Thanks for the input!

User avatar
cvisors
Moderator
Moderator
Posts: 179
Joined: Fri Jan 31, 2003 2:50 am
Location: Melbourne Australia
Contact:

I Like it.

Unread postby cvisors » Sat Sep 20, 2003 1:50 am

Squeen, This is one great piece of software, a little slow on my o2, it just seems a little chopy, the only thing that I would like is the ability to turn off the icon resizing when you mouse over it.

thanks.

Benjamin
one you lock the target
two you bait the line
three you slowly spread the net
and four you catch the man

Front 242 Headhunter

User avatar
somecodemonkey
Posts: 277
Joined: Mon May 19, 2003 12:51 pm
Location: Oxford UK
Contact:

Unread postby somecodemonkey » Sun Sep 21, 2003 1:48 am

Seems fine on my O2
1995: Real Audio released, allowing users to listen to halting bursts of static in real time.

User avatar
squeen
Moderator
Moderator
Posts: 2933
Joined: Fri May 09, 2003 6:10 am
Location: Maryland, USA

Unread postby squeen » Mon Sep 22, 2003 3:28 am

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.

User avatar
squeen
Moderator
Moderator
Posts: 2933
Joined: Fri May 09, 2003 6:10 am
Location: Maryland, USA

beta testers wanted

Unread postby squeen » Mon Oct 20, 2003 4:38 am

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.


Return to “IRIX and Software”

Who is online

Users browsing this forum: def13 and 2 guests