Interaction Issues with XVoiceFax

Bug #388736 reported by Michael B. Trausch
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
AllTray
Invalid
Low
Unassigned

Bug Description

Per https://bugs.edge.launchpad.net/alltray/+bug/388556/comments/12

   I ran as you suggested (actually twice) the first didn't
   generate anything--no alltray icon nor the running
   program. I killed it off and reran. I get the behavior
   I described above. [I clicked on the icon in the
   notification area a few times too].

   I'm the author of the program and had released it
   under GPL. I"ve attached the output log and the
   source code.

It would appear that AllTray has an interaction issue with this application. However, I cannot reproduce it in 0.7.3dev nor on lp:alltray at this time. Will keep this issue open to attempt more in-depth investigation, however.

Revision history for this message
Michael B. Trausch (mtrausch) wrote :
Revision history for this message
Michael B. Trausch (mtrausch) wrote :

Trying with AllTray 0.7.3dev and lp:alltray trunk, I get the expected behavior on a GNOME 2.26 system with the Compiz window manager. Aside from error messages indicating that I don't have the requisite directories for the program to read files from, all appears well.

The program also appears to work with GNOME 2.26 and Metacity. These configurations are on an Ubuntu system.

The OP indicated that they were using a 32-bit distribution of Slackware, running GNOME 2.27.3, using the GCC 4.4.0 compiler (I am using gcc 4.3.3, but it shouldn't make a difference; I can try 4.4.0 to see if that introduces any issues, however). Will have to find a way to test with GNOME 2.27.3 to ensure that there isn't a regression in GNOME that may be causing this issue, as well.

Revision history for this message
Michael B. Trausch (mtrausch) wrote :
Revision history for this message
Michael B. Trausch (mtrausch) wrote :

David:

I'm noticing that in your log, the application has the DEMANDS_ATTENTION atom present in its state. I can't seem to get your application to actually do that, and I can't see where it gets toggled in the code (I'm not familiar with Xt, so I might be missing something).

In any case, I am going to try to see if I can create a small program that sets that hint and see if that alters AllTray's behavior in any way. That said, if you could tell me how to trigger it for your application, that would help. I tried to see if dropping a file in /var/spool/voice/incoming would trigger that state, but it did not.

Revision history for this message
Michael B. Trausch (mtrausch) wrote :

Grr. It doesn't appear that I can set that with GTK alone. Best I can do is set the URGENT hint on a window, it looks like. Still trying to figure it out.

Revision history for this message
David Ronis (david-ronis) wrote :

Couple of things. First, I don't do anything with DEMANDS_ATTENTION (and as far I understand, it's not part of Xt); the program explicity polls the incoming fax or voicemail directories for new entries.

Just to confuse things more, we had a power failure here last night; when I rebooted my machine alltray now seems to be running properly with XVoiceFax (by that I mean that I get an icon in the notification area, and that icon actively maps or unmaps the window).

Revision history for this message
Michael B. Trausch (mtrausch) wrote : Re: [Bug 388736] Re: Interaction Issues with XVoiceFax

On Thu, 18 Jun 2009, David Ronis wrote:

> Couple of things. First, I don't do anything with DEMANDS_ATTENTION
> (and as far I understand, it's not part of Xt); the program explicity
> polls the incoming fax or voicemail directories for new entries.

Hrm. Interesting. Maybe your WM sets it for some reason? I'd made the
assumption that you were using Metacity... at that (at least on my machine)
doesn't set that hint either.

> Just to confuse things more, we had a power failure here last night;
> when I rebooted my machine alltray now seems to be running properly with
> XVoiceFax (by that I mean that I get an icon in the notification area,
> and that icon actively maps or unmaps the window).

Curious.

Can you (just for curiosity's sake) try running AllTray with debugging again,
and as you show/hide it, see if DEMANDS_ATTENTION is still showing in the log
output?

  --- Mike

Revision history for this message
David Ronis (david-ronis) wrote :

The new log is attached; DEMANDS_ATTENTION does not appear.

I may have uncovered another alltray issue. I added specific icons to the program (basically pixmaps read in using XpmReadFileToPixmap) which I then set using XGetWMHints/XSetWMHints. I toggle the pixmap depending on whether there is a new Fax or Voicemail. This works outside of alltray, and alltray now uses the initial pixmap; however, alltray doesn't catch the icon change. Instead the alltray icon starts blinking madly (which in this case is good), perhaps because I also call XBell. Don't know if this is a bug or not.

Revision history for this message
Michael B. Trausch (mtrausch) wrote :

On Thu, 18 Jun 2009, David Ronis wrote:
> I may have uncovered another alltray issue. I added specific icons to
> the program (basically pixmaps read in using XpmReadFileToPixmap) which
> I then set using XGetWMHints/XSetWMHints. I toggle the pixmap
> depending on whether there is a new Fax or Voicemail. This works
> outside of alltray, and alltray now uses the initial pixmap; however,
> alltray doesn't catch the icon change. Instead the alltray icon starts
> blinking madly (which in this case is good), perhaps because I also call
> XBell. Don't know if this is a bug or not.

AllTray starts blinking the icon when the application tries to raise itself
for any reason, either an existing or new window. This is to notify the user
that the application is requesting some form of attention. There is one bug
there in that it won't blink if the application sets an Urgent hint on its
window, though I have plans to implement that very soon.

I think that it does update icons at the moment, but only if the application's
icon (from the perspective of libwnck) changes. I had thought about maybe
just showing the window icon for an application that has only 1 window open,
then showing a generic application icon if the application decides to open
more than that first window. The jury's still out on that one, though. If
you've an opinion on that, though, I'd sure like to know.

  Thanks!
  Mike

Revision history for this message
David Ronis (david-ronis) wrote :

OK, the application does try to raise itself, so that's why the blinking happens (this is good in my context).

Don't know about libwnchk (I'm doing this more or less in X). In my case, there is only one window, so that's not it. Just to make sure I'm clear. The icon shown by alltray is the one I want initially, it's just that setting it after a new fax arrives doesn't seem to take. Perhaps that's because alltray is busy blinking the icon. I've attached the current code (look for SetIcon).

Again, Thanks
David

Revision history for this message
David Ronis (david-ronis) wrote :

One more observation on icons & allltray. I started running evolution (git/master version) under alltray. When I switch components (e.g., mail->contacts->calendar) the WM icon changes. Yesterday, it seemed that alltray caught some of these, but ultimately got stuck on one (the contacts). Today, it doesn't seem to catch any of them, and I get the icon evolution starts with.

Revision history for this message
Michael B. Trausch (mtrausch) wrote :

I cannot determine if a code change to AllTray fixed the problem here or not, so I'm marking this one as invalid.

I have opened bug 389608 to address the icon issue reported below in comment 10 and comment 11. Basically, the way AllTray handles the tray icon at the moment is it loads with the application icon (provided by libwnck) and subscribes to "icon-changed" signals to update. I don't know what the notion of an application icon means to libwnck and some research needs to likely be done there. Am going to try to introduce heuristics of a sort to try to do the right thing, though. It's æsthetic, but it's important.

Changed in alltray:
status: Incomplete → Invalid
assignee: Michael B. Trausch (mtrausch) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.