Changeset View
Changeset View
Standalone View
Standalone View
geometry.cpp
Show First 20 Lines • Show All 144 Lines • ▼ Show 20 Line(s) | 139 | for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) { | |||
---|---|---|---|---|---|
145 | for (int i = 0; i < Screens::self()->count(); i++) { | 145 | for (int i = 0; i < Screens::self()->count(); i++) { | ||
146 | if (!r.intersects(Screens::self()->geometry(i))) { | 146 | if (!r.intersects(Screens::self()->geometry(i))) { | ||
147 | qCDebug(KWIN_CORE) << "Adjusted client area would exclude a complete screen, ignore"; | 147 | qCDebug(KWIN_CORE) << "Adjusted client area would exclude a complete screen, ignore"; | ||
148 | r = desktopArea; | 148 | r = desktopArea; | ||
149 | break; | 149 | break; | ||
150 | } | 150 | } | ||
151 | } | 151 | } | ||
152 | StrutRects strutRegion = (*it)->strutRects(); | 152 | StrutRects strutRegion = (*it)->strutRects(); | ||
153 | const QRect clientsScreenRect = KWin::screens()->geometry((*it)->screen()); | ||||
154 | for (auto strut = strutRegion.begin(); strut != strutRegion.end(); strut++) { | ||||
155 | *strut = StrutRect((*strut).intersected(clientsScreenRect), (*strut).area()); | ||||
156 | } | ||||
153 | 157 | | |||
154 | // Ignore offscreen xinerama struts. These interfere with the larger monitors on the setup | 158 | // Ignore offscreen xinerama struts. These interfere with the larger monitors on the setup | ||
155 | // and should be ignored so that applications that use the work area to work out where | 159 | // and should be ignored so that applications that use the work area to work out where | ||
156 | // windows can go can use the entire visible area of the larger monitors. | 160 | // windows can go can use the entire visible area of the larger monitors. | ||
157 | // This goes against the EWMH description of the work area but it is a toss up between | 161 | // This goes against the EWMH description of the work area but it is a toss up between | ||
158 | // having unusable sections of the screen (Which can be quite large with newer monitors) | 162 | // having unusable sections of the screen (Which can be quite large with newer monitors) | ||
159 | // or having some content appear offscreen (Relatively rare compared to other). | 163 | // or having some content appear offscreen (Relatively rare compared to other). | ||
160 | bool hasOffscreenXineramaStrut = (*it)->hasOffscreenXineramaStrut(); | 164 | bool hasOffscreenXineramaStrut = (*it)->hasOffscreenXineramaStrut(); | ||
▲ Show 20 Lines • Show All 3340 Lines • Show Last 20 Lines |