summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoronestone <onestone>2007-01-17 15:31:41 +0000
committeronestone <onestone>2007-01-17 15:31:41 +0000
commit09d4f7a80ebd4587fa7fd29d8f41662dba91af47 (patch)
treef0eccc5b66051db50045fce678d75ac1913f597d
parentf83aefeec561aad505bb00faab8479647b5887e0 (diff)
downloadaquamarine-09d4f7a80ebd4587fa7fd29d8f41662dba91af47.tar.gz
aquamarine-09d4f7a80ebd4587fa7fd29d8f41662dba91af47.tar.bz2
aquamarine: fixed "On all viewports" option with "Sticky" wm state
-rw-r--r--src/window.cpp9
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);
}