diff options
author | onestone <onestone> | 2007-01-17 15:31:41 +0000 |
---|---|---|
committer | onestone <onestone> | 2007-01-17 15:31:41 +0000 |
commit | 09d4f7a80ebd4587fa7fd29d8f41662dba91af47 (patch) | |
tree | f0eccc5b66051db50045fce678d75ac1913f597d | |
parent | f83aefeec561aad505bb00faab8479647b5887e0 (diff) | |
download | aquamarine-09d4f7a80ebd4587fa7fd29d8f41662dba91af47.tar.gz aquamarine-09d4f7a80ebd4587fa7fd29d8f41662dba91af47.tar.bz2 |
aquamarine: fixed "On all viewports" option with "Sticky" wm state
-rw-r--r-- | src/window.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/window.cpp b/src/window.cpp index 42a46c8..f3c2c9a 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1594,7 +1594,7 @@ Aquamarine::Window::handlePopupAboutToShow (void) mPopup->setItemVisible (Options::NoOp, false); } - mViewportMenu->setItemChecked (0, desktop () == NET::OnAllDesktops); + mViewportMenu->setItemChecked (0, mState & NET::Sticky); for (int i = 1;i <= Decorator::viewports ().width () * Decorator::viewports ().height (); ++i) @@ -2071,7 +2071,12 @@ Aquamarine::Window::hideKillProcessDialog (void) void Aquamarine::Window::handleChangeViewport (int id) { if (id == 0) - setDesktop ((desktop () == NET::OnAllDesktops) ? 1 : NET::OnAllDesktops); + { + if (mState & NET::Sticky) + KWin::clearState(mClientId, NET::Sticky); + else + KWin::setState(mClientId, NET::Sticky); + } else Decorator::moveToViewport (mClientId, id); } |