Changeset View
Changeset View
Standalone View
Standalone View
workspace.cpp
Show First 20 Lines • Show All 942 Lines • ▼ Show 20 Line(s) | 937 | for (ToplevelList::ConstIterator it = stacking_order.constBegin(); | |||
---|---|---|---|---|---|
943 | } | 943 | } | ||
944 | if (!c->isOnDesktop(newDesktop) && c != movingClient && c->isOnCurrentActivity()) { | 944 | if (!c->isOnDesktop(newDesktop) && c != movingClient && c->isOnCurrentActivity()) { | ||
945 | if (c->isShown(true) && c->isOnDesktop(oldDesktop) && !compositing()) | 945 | if (c->isShown(true) && c->isOnDesktop(oldDesktop) && !compositing()) | ||
946 | obs_wins.create(c); | 946 | obs_wins.create(c); | ||
947 | (c)->updateVisibility(); | 947 | (c)->updateVisibility(); | ||
948 | } | 948 | } | ||
949 | } | 949 | } | ||
950 | // Now propagate the change, after hiding, before showing | 950 | // Now propagate the change, after hiding, before showing | ||
951 | if (rootInfo()) { | ||||
951 | rootInfo()->setCurrentDesktop(VirtualDesktopManager::self()->current()); | 952 | rootInfo()->setCurrentDesktop(VirtualDesktopManager::self()->current()); | ||
953 | } | ||||
952 | 954 | | |||
953 | if (movingClient && !movingClient->isOnDesktop(newDesktop)) { | 955 | if (movingClient && !movingClient->isOnDesktop(newDesktop)) { | ||
954 | movingClient->setDesktop(newDesktop); | 956 | movingClient->setDesktop(newDesktop); | ||
955 | } | 957 | } | ||
956 | 958 | | |||
957 | for (int i = stacking_order.size() - 1; i >= 0 ; --i) { | 959 | for (int i = stacking_order.size() - 1; i >= 0 ; --i) { | ||
958 | Client *c = qobject_cast<Client*>(stacking_order.at(i)); | 960 | Client *c = qobject_cast<Client*>(stacking_order.at(i)); | ||
959 | if (!c) { | 961 | if (!c) { | ||
▲ Show 20 Lines • Show All 281 Lines • ▼ Show 20 Line(s) | |||||
1241 | 1243 | | |||
1242 | void Workspace::sendClientToScreen(AbstractClient* c, int screen) | 1244 | void Workspace::sendClientToScreen(AbstractClient* c, int screen) | ||
1243 | { | 1245 | { | ||
1244 | c->sendToScreen(screen); | 1246 | c->sendToScreen(screen); | ||
1245 | } | 1247 | } | ||
1246 | 1248 | | |||
1247 | void Workspace::sendPingToWindow(xcb_window_t window, xcb_timestamp_t timestamp) | 1249 | void Workspace::sendPingToWindow(xcb_window_t window, xcb_timestamp_t timestamp) | ||
1248 | { | 1250 | { | ||
1251 | if (rootInfo()) { | ||||
1249 | rootInfo()->sendPing(window, timestamp); | 1252 | rootInfo()->sendPing(window, timestamp); | ||
1250 | } | 1253 | } | ||
1254 | } | ||||
1251 | 1255 | | |||
1252 | /** | 1256 | /** | ||
1253 | * Delayed focus functions | 1257 | * Delayed focus functions | ||
1254 | */ | 1258 | */ | ||
1255 | void Workspace::delayFocus() | 1259 | void Workspace::delayFocus() | ||
1256 | { | 1260 | { | ||
1257 | requestFocus(delayfocus_client); | 1261 | requestFocus(delayfocus_client); | ||
1258 | cancelDelayFocus(); | 1262 | cancelDelayFocus(); | ||
▲ Show 20 Lines • Show All 528 Lines • Show Last 20 Lines |