[ icewm-Bugs-3573360 ] ignore window in alt-tab list

SourceForge.net <[email protected]> Mon, 01 Oct 2012 00:48:00 -0700
Newsgroups gmane.comp.window-managers.icewm.devel
Message-ID <[email protected]>
Bugs item #3573360, was opened at 2012-09-30 22:57
Message generated for change (Comment added) made by kazzmir
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100031&aid=3573360&group_id=31

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: icewm-1.3
Group: None
Status: Open
>Resolution: Works For Me
Priority: 5
Private: No
Submitted By: Jon Rafkind (kazzmir)
Assigned to: Nobody/Anonymous (nobody)
Summary: ignore window in alt-tab list

Initial Comment:
ignoreQuickSwitch: 1 is documented as removing the specified window from the alt-tab window list but it has not worked since icewm 1.2.5. The option was deprecated in icewm 1.2.1pre1. Is there some other way to achieve this functionality? I see the code is still there but just commented out with an #if 0 block.

My use-case is I run icewm 1.3.7 with gnome-panel and I do not want alt-tab to be able to focus on the top and bottom gnome-panels where the tray icons and the start menu goes.

In 1.3.7 wmoptions.cc:247
  if (*what == 2 && options[a].flag == YFrameWindow::foIgnoreQSwitch)
       DEPRECATE("ignoreQuickSwitch windowoption"); 
  

----------------------------------------------------------------------

>Comment By: Jon Rafkind (kazzmir)
Date: 2012-10-01 00:48

Message:
This issue is solved. After a great deal of debugging I have determined
that ignoreQSwitch works as advertised. The docs are incorrect about the
usage. They state

window_class.window_name.option: argument

But the class and name order should be reversed. This is the correct way

window_name.window_class.option:argument

You can see this in wmoption.cc:getWindowOptions around line 2278. The
final string is <name>.<klass>

 if (klass != null) {
        if (name != null) {
            ustring klass_instance = name.append(".").append(klass);
            list->mergeWindowOption(opt, klass_instance, remove);
        } else      
            list->mergeWindowOption(opt, klass, remove);
    } 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100031&aid=3573360&group_id=31

------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html