icewm/src/default.h | 2 ++ icewm/src/icetray.cc | 2 -- icewm/src/wmmgr.cc | 4 ++++ icewm/src/wmswitch.cc | 8 +++++++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/icewm/src/default.h b/icewm/src/default.h index c6af98f..b0a86d5 100644 --- a/icewm/src/default.h +++ b/icewm/src/default.h @@ -51,6 +51,7 @@ XIV(int, taskBarButtonWidthDivisor, 3) #ifdef CONFIG_TRAY XIV(bool, taskBarShowTray, true) XIV(bool, trayShowAllWindows, true) +XIV(bool, quickSwitchToTray, true) #endif XIV(bool, taskBarShowTransientWindows, true) XIV(bool, taskBarShowAllWindows, false) @@ -275,6 +276,7 @@ cfoption icewm_preferences[] = { #ifdef CONFIG_TRAY OBV("TaskBarShowTray", &taskBarShowTray, "Show windows in the tray"), OBV("TrayShowAllWindows", &trayShowAllWindows, "Show windows from all workspaces on tray"), + OBV("QuickSwitchToTray", &quickSwitchToTray, "Alt+Tab to windows in the tray"), #endif OBV("TaskBarShowTransientWindows", &taskBarShowTransientWindows, "Show transient (dialogs, ...) windows on task bar"), OBV("TaskBarShowAllWindows", &taskBarShowAllWindows, "Show windows from all workspaces on task bar"), diff --git a/icewm/src/icetray.cc b/icewm/src/icetray.cc index 68acee0..f5da357 100644 --- a/icewm/src/icetray.cc +++ b/icewm/src/icetray.cc @@ -105,8 +105,6 @@ void SysTrayApp::loadConfig() { #ifdef CONFIG_TASKBAR #ifndef NO_CONFIGURE { - clrDefaultTaskBar="rgb:C0/C0/C0"; - trayDrawBevel=false; cfoption theme_prefs[] = { OSV("Theme", &themeName, "Theme name"), OK0() diff --git a/icewm/src/wmmgr.cc b/icewm/src/wmmgr.cc index ef2b6e8..d6b69ce 100644 --- a/icewm/src/wmmgr.cc +++ b/icewm/src/wmmgr.cc @@ -1679,6 +1679,10 @@ YFrameWindow *YWindowManager::getLastFocus(bool skipSticky, long workspace) { continue; if (w->isHidden()) continue; +#ifdef CONFIG_TRAY + if (w->getTrayOption() != WinTrayIgnore) + continue; +#endif if (!w->visibleOn(workspace)) continue; if (w->avoidFocus() || pass == 2) diff --git a/icewm/src/wmswitch.cc b/icewm/src/wmswitch.cc index dafdd5b..7742b36 100644 --- a/icewm/src/wmswitch.cc +++ b/icewm/src/wmswitch.cc @@ -437,7 +437,7 @@ int SwitchWindow::GetZListWorkspace(YFrameWindow **list, int max, bool workspaceOnly, int workspace) { int count = 0; - for (int pass = 0; pass <= 5; pass++) { + for (int pass = 0; pass <= 6; pass++) { YFrameWindow *w = fRoot->lastFocusFrame(); while (w) { @@ -474,6 +474,12 @@ int SwitchWindow::GetZListWorkspace(YFrameWindow **list, int max, if (pass == 4) if (quickSwitchToHidden) list[count++] = w; +#ifdef CONFIG_TRAY + } else if (w->getTrayOption() != WinTrayIgnore) { + if (pass == 6) + if (quickSwitchToTray) + list[count++] = w; +#endif } else if (w->isMinimized()) { if (pass == 3) if (quickSwitchToMinimized)