MCPcopy Create free account
hub / github.com/KDE/kwin / lowerWindow

Method lowerWindow

src/layers.cpp:347–380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

345}
346
347void Workspace::lowerWindow(Window *window, bool nogroup)
348{
349 if (window->isDeleted()) {
350 qCWarning(KWIN_CORE) << "Workspace::lowerWindow: closed window" << window << "cannot be restacked";
351 return;
352 }
353
354 window->cancelAutoRaise();
355
356 StackingUpdatesBlocker blocker(this);
357
358 if (nogroup || (!window->isTransient() && window->transients().isEmpty())) {
359 unconstrained_stacking_order.removeAll(window);
360 unconstrained_stacking_order.prepend(window);
361 } else {
362 auto mainWindows = window->allMainWindows();
363 Window *parent;
364 if (mainWindows.isEmpty()) {
365 parent = window;
366 } else {
367 parent = ensureStackingOrder(mainWindows).front();
368 }
369 QList<Window *> windows{parent};
370 for (int i = 0; i < windows.size(); ++i) {
371 if (!windows[i]->transients().isEmpty()) {
372 windows << windows[i]->transients();
373 }
374 }
375 windows = ensureStackingOrder(windows);
376 for (int i = windows.size() - 1; i >= 0; --i) {
377 lowerWindow(windows[i], true);
378 }
379 }
380}
381
382void Workspace::lowerWindowWithinApplication(Window *window)
383{

Callers 4

testLowerTransientMethod · 0.80
CDEWalkThroughWindowsMethod · 0.80

Calls 7

lowerWindowFunction · 0.85
isDeletedMethod · 0.80
cancelAutoRaiseMethod · 0.80
allMainWindowsMethod · 0.80
isTransientMethod · 0.45
isEmptyMethod · 0.45
sizeMethod · 0.45

Tested by 1

testLowerTransientMethod · 0.64