From c8ec8ceae283dd5fa294b01b53cbaa1cbaa38399 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 25 Aug 2015 14:56:19 +0000 Subject: [PATCH 1/6] SVN_SILENT made messages (.desktop file) --- effects/windowaperture/package/metadata.desktop | 1 + scripts/minimizeall/metadata.desktop | 1 + 2 files changed, 2 insertions(+) diff --git a/effects/windowaperture/package/metadata.desktop b/effects/windowaperture/package/metadata.desktop index 516b27e908..4d7c0c4d78 100644 --- a/effects/windowaperture/package/metadata.desktop +++ b/effects/windowaperture/package/metadata.desktop @@ -10,6 +10,7 @@ Name[fi]=Ikkunoiden siirto näytön kulmiin Name[gl]=Apertura das xanelas Name[it]=Apertura delle finestre Name[ko]=조리개 모양 배치 +Name[lt]=Lango anga Name[nl]=Vensteropening Name[pl]=Przesłona okna Name[pt]=Aperto das Janelas diff --git a/scripts/minimizeall/metadata.desktop b/scripts/minimizeall/metadata.desktop index 0a372d9a81..d0092f1ec3 100644 --- a/scripts/minimizeall/metadata.desktop +++ b/scripts/minimizeall/metadata.desktop @@ -11,6 +11,7 @@ Name[gl]=Minimizalo todo Name[it]=Minimizza tutto Name[ja]=すべて最小化 Name[ko]=모두최소화 +Name[lt]=SumažintiVisus Name[nl]=Alles-minimaliseren Name[pl]=MinimalizujWszystko Name[pt]=Maximização Total From e148fc5bc9f50b597456fb86b3880a31ffe94644 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Wed, 26 Aug 2015 12:42:36 +0000 Subject: [PATCH 2/6] SVN_SILENT made messages (.desktop file) --- effects/eyeonscreen/package/metadata.desktop | 2 ++ scripts/minimizeall/metadata.desktop | 2 ++ 2 files changed, 4 insertions(+) diff --git a/effects/eyeonscreen/package/metadata.desktop b/effects/eyeonscreen/package/metadata.desktop index a8d5de67d7..1bf9bb3100 100644 --- a/effects/eyeonscreen/package/metadata.desktop +++ b/effects/eyeonscreen/package/metadata.desktop @@ -9,6 +9,7 @@ Name[gl]=Ollo na pantalla Name[it]=eye On Screen Name[ja]=eye On Screen Name[ko]=화면 위의 눈 +Name[nb]=øye på Skjerm Name[nl]=eye On Screen Name[pl]=Oko na ekranie Name[pt]=Olho no Ecrã @@ -37,6 +38,7 @@ Comment[fi]=Imee ikkunat työpöytään näyttääkseen sen. Tämä saattaa muis Comment[gl]=Que o escritorio succione as xanelas para mostrarse. Isto pode que lle recorde a algo. Comment[it]=Risucchia le finestre nel desktop per mostrare l'ultima. Potrebbe ricordarti qualcosa. Comment[ko]=창을 데스크톱으로 흡수시켜 데스크톱을 표시합니다. +Comment[nb]=Sug vinduer inn i skrivebordet for å vise det. Dette minner deg kanskje om noe. Comment[nl]=Laat vensters wegzinken in het bureaublad om deze te tonen. Dit kan u aan iets herinneren. Comment[pl]=Zasysa okna na pulpicie, aby go pokazać. Powinno nasuwać pewne skojarzenia. Comment[pt]=Suga as janelas para o ecrã mostrar a última. Isto podê-lo-á recordar de algo. diff --git a/scripts/minimizeall/metadata.desktop b/scripts/minimizeall/metadata.desktop index d0092f1ec3..fb706d71ae 100644 --- a/scripts/minimizeall/metadata.desktop +++ b/scripts/minimizeall/metadata.desktop @@ -12,6 +12,7 @@ Name[it]=Minimizza tutto Name[ja]=すべて最小化 Name[ko]=모두최소화 Name[lt]=SumažintiVisus +Name[nb]=Minimer alt Name[nl]=Alles-minimaliseren Name[pl]=MinimalizujWszystko Name[pt]=Maximização Total @@ -39,6 +40,7 @@ Comment[fi]=Lisää pikanäppäimen, joka pienentää kaikki ikkunat tai palautt Comment[gl]=Engade un atallo para minimizar todas as xanelas e restauralas de novo. Comment[it]=Aggiunge una scorciatoia per minimizzare tutte le finestre o ripristinare le finestre così minimizzate Comment[ko]=모든 창을 최소화하고 복원하는 단축키 추가 +Comment[nb]=Legger til en snarvei for å minimere alle vinduer, eller oppheve slik minimering Comment[nl]=Voegt een sneltoets toe om alle vensters te minimaliseren of maakt de minimalisatie van deze ongedaan Comment[pl]=Dodaje skrót do zminimalizowania wszystkich okien lub działania odwrotnego dla wszystkich w ten sposób zminimalizowanych okien Comment[pt]=Adiciona um atalho para minimizar todas as janelas ou retirá-las desse estado From 0f4c51936e8d79dd15fe82bb2ba4bb18f77252c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Thu, 27 Aug 2015 22:16:49 +0200 Subject: [PATCH 3/6] Use shader traits for magnifer effect adapted from the zoom effect patch which was broken likewise in KWin/5 REVIEW: 124942 --- effects/magnifier/magnifier.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/effects/magnifier/magnifier.cpp b/effects/magnifier/magnifier.cpp index 0bb925ea1a..4f8f81d0a9 100644 --- a/effects/magnifier/magnifier.cpp +++ b/effects/magnifier/magnifier.cpp @@ -153,7 +153,14 @@ void MagnifierEffect::paintScreen(int mask, QRegion region, ScreenPaintData& dat m_fbo->blitFromFramebuffer(srcArea); // paint magnifier m_texture->bind(); + auto s = ShaderManager::instance()->pushShader(ShaderTrait::MapTexture); + QMatrix4x4 mvp; + const QSize size = effects->virtualScreenSize(); + mvp.ortho(0, size.width(), size.height(), 0, 0, 65535); + mvp.translate(area.x(), area.y()); + s->setUniform(GLShader::ModelViewProjectionMatrix, mvp); m_texture->render(infiniteRegion(), area); + ShaderManager::instance()->popShader(); m_texture->unbind(); QVector verts; GLVertexBuffer *vbo = GLVertexBuffer::streamingBuffer(); From b5e3e4ac4c037096fe5d378b09386f52a9b240c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 23 Aug 2015 11:51:35 +0200 Subject: [PATCH 4/6] tests test tests, not code The test put a reference to the XCB::Window as data to the _net_wm_transient property, not the window ID This "works" (you get various garbage transients for the leader in addition) as long as the window id itself is the first item in the structure (because that is what the test resolves to verify what it has done) bug fails when the XCB::Window structure changes and anything is the first item (or, btw., when the compiler feels to re-align the structure and adds some padding...) So let's fix the test by at least passing the proper data reference. is FIXED-IN: 5.4.1 REVIEW: 124888 also see REVIEW: 124864 --- autotests/test_xcb_wrapper.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/autotests/test_xcb_wrapper.cpp b/autotests/test_xcb_wrapper.cpp index b7ae0845de..1fe1934c23 100644 --- a/autotests/test_xcb_wrapper.cpp +++ b/autotests/test_xcb_wrapper.cpp @@ -298,7 +298,8 @@ void TestXcbWrapper::testTransientFor() // Create a Window with a transient for hint Window transientWindow(createWindow()); - transientWindow.changeProperty(XCB_ATOM_WM_TRANSIENT_FOR, XCB_ATOM_WINDOW, 32, 1, &m_testWindow); + xcb_window_t testWindowId = m_testWindow; + transientWindow.changeProperty(XCB_ATOM_WM_TRANSIENT_FOR, XCB_ATOM_WINDOW, 32, 1, &testWindowId); // let's get another transient object TransientFor realTransient(transientWindow); From 9139cca72c5612482c8c27e70196d583630772af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 23 Aug 2015 11:56:17 +0200 Subject: [PATCH 5/6] never trigger edges during the cooldown regardless of whether the pushback is forced down or the user has deactivated it or whatever. The edge is waiting from previous activation and we need to prevent immediate reactivation since that may cause duplicate action and unwanted state toggles BUG: 351627 CCBUG: 351869 FIXED-IN: 5.4.1 REVIEW: 124888 --- screenedge.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/screenedge.cpp b/screenedge.cpp index 35d84a04eb..b657675e54 100644 --- a/screenedge.cpp +++ b/screenedge.cpp @@ -137,6 +137,10 @@ bool Edge::check(const QPoint &cursorPos, const QDateTime &triggerTime, bool for if (!triggersFor(cursorPos)) { return false; } + if (m_lastTrigger.isValid() && // still in cooldown + m_lastTrigger.msecsTo(triggerTime) < edges()->reActivationThreshold()) { + return false; + } // no pushback so we have to activate at once bool directActivate = forceNoPushBack || edges()->cursorPushBackDistance().isNull() || m_client; if (directActivate || canActivate(cursorPos, triggerTime)) { From 0c71d514ce217a6f0c840643970815b84fafeb55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Mon, 22 Jun 2015 15:48:48 +0200 Subject: [PATCH 6/6] blur transparent 24bit windows also stretch blur opacity a bit (ie. slightly transparent windows get more blur compared to their opacity) REVIEW: 124148 --- effects/blur/blur.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/effects/blur/blur.cpp b/effects/blur/blur.cpp index fe0d467b12..e32b17fa34 100644 --- a/effects/blur/blur.cpp +++ b/effects/blur/blur.cpp @@ -385,7 +385,7 @@ bool BlurEffect::shouldBlur(const EffectWindow *w, int mask, const WindowPaintDa bool blurBehindDecos = effects->decorationsHaveAlpha() && effects->decorationSupportsBlurBehind(); - if (!w->hasAlpha() && !(blurBehindDecos && w->hasDecoration())) + if (!w->hasAlpha() && w->opacity() >= 1.0 && !(blurBehindDecos && w->hasDecoration())) return false; return true; @@ -479,7 +479,14 @@ void BlurEffect::doBlur(const QRegion& shape, const QRect& screen, const float o // Modulate the blurred texture with the window opacity if the window isn't opaque if (opacity < 1.0) { glEnable(GL_BLEND); - glBlendColor(0, 0, 0, opacity); +#if 1 // bow shape, always above y = x + float o = 1.0f-opacity; + o = 1.0f - o*o; +#else // sigmoid shape, above y = x for x > 0.5, below y = x for x < 0.5 + float o = 2.0f*opacity - 1.0f; + o = 0.5f + o / (1.0f + qAbs(o)); +#endif + glBlendColor(0, 0, 0, o); glBlendFunc(GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA); }