From b5b7fac056d0f003aeecd8ecb2153f5a72e0ea6b Mon Sep 17 00:00:00 2001 From: Casian Andrei Date: Sun, 20 Oct 2013 23:30:44 +0300 Subject: [PATCH 1/8] Fix check for no button pressed in Client::buttonReleaseEvent() There is a check in Client::buttonReleaseEvent() for the state of the mouse buttons compared to the button masks for button 1, 2, 3 (X11 button indices). The check was: if ((state & (Button1Mask & Button2Mask & Button3Mask)) == 0) { ... } <=> if (state & 0 == 0) <=> if (true) This change assumes what the check was supposed to be and fixes the problem. The correct fix was proposed by Thomas. REVIEW: 113359 --- events.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/events.cpp b/events.cpp index 1e8ba5008f..19532b90ff 100644 --- a/events.cpp +++ b/events.cpp @@ -1134,7 +1134,7 @@ void Client::processMousePressEvent(QMouseEvent* e) } // return value matters only when filtering events before decoration gets them -bool Client::buttonReleaseEvent(xcb_window_t w, int /*button*/, int state, int x, int y, int x_root, int y_root) +bool Client::buttonReleaseEvent(xcb_window_t w, int button, int state, int x, int y, int x_root, int y_root) { if (w == decorationId() && !buttonDown) return false; @@ -1146,7 +1146,17 @@ bool Client::buttonReleaseEvent(xcb_window_t w, int /*button*/, int state, int x return true; x = this->x(); // translate from grab window to local coords y = this->y(); - if ((state & (Button1Mask & Button2Mask & Button3Mask)) == 0) { + + // Check whether other buttons are still left pressed + int buttonMask = XCB_BUTTON_MASK_1 | XCB_BUTTON_MASK_2 | XCB_BUTTON_MASK_3; + if (button == XCB_BUTTON_INDEX_1) + buttonMask &= ~XCB_BUTTON_MASK_1; + else if (button == XCB_BUTTON_INDEX_2) + buttonMask &= ~XCB_BUTTON_MASK_2; + else if (button == XCB_BUTTON_INDEX_3) + buttonMask &= ~XCB_BUTTON_MASK_3; + + if ((state & buttonMask) == 0) { buttonDown = false; stopDelayedMoveResize(); if (moveResizeMode) { From 006529d8b2758bc58d5378c4b9fc5ca876435048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=B6glund?= Date: Mon, 9 Sep 2013 17:26:23 +0200 Subject: [PATCH 2/8] kwin: Optimize WindowQuadList::makeRegularGrid() Instead of looping over every quad for every grid cell and checking for possible intersections, loop over the quads once and compute the top left corner of the first intersecting grid cell. Then loop over all the intersecting cells from that point and create the sub quads. This new algorithm also preserves the order of the quads in the original list. --- libkwineffects/kwineffects.cpp | 59 +++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/libkwineffects/kwineffects.cpp b/libkwineffects/kwineffects.cpp index 3efb07a9a5..1b921ef486 100644 --- a/libkwineffects/kwineffects.cpp +++ b/libkwineffects/kwineffects.cpp @@ -1039,40 +1039,53 @@ WindowQuadList WindowQuadList::makeRegularGrid(int xSubdivisions, int ySubdivisi { if (empty()) return *this; - // find the bounding rectangle - double left = first().left(); - double right = first().right(); - double top = first().top(); + + // Find the bounding rectangle + double left = first().left(); + double right = first().right(); + double top = first().top(); double bottom = first().bottom(); - foreach (const WindowQuad & quad, *this) { + + foreach (const WindowQuad &quad, *this) { #ifndef NDEBUG if (quad.isTransformed()) - kFatal(1212) << "Splitting quads is allowed only in pre-paint calls!" ; + kFatal(1212) << "Splitting quads is allowed only in pre-paint calls!"; #endif - left = qMin(left, quad.left()); - right = qMax(right, quad.right()); - top = qMin(top, quad.top()); + left = qMin(left, quad.left()); + right = qMax(right, quad.right()); + top = qMin(top, quad.top()); bottom = qMax(bottom, quad.bottom()); } - double xincrement = (right - left) / xSubdivisions; - double yincrement = (bottom - top) / ySubdivisions; + double xIncrement = (right - left) / xSubdivisions; + double yIncrement = (bottom - top) / ySubdivisions; + WindowQuadList ret; - for (double y = top; - y < bottom; - y += yincrement) { - for (double x = left; - x < right; - x += xincrement) { - foreach (const WindowQuad & quad, *this) { - if (QRectF(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom())) - .intersects(QRectF(x, y, xincrement, yincrement))) { - ret.append(quad.makeSubQuad(qMax(x, quad.left()), qMax(y, quad.top()), - qMin(quad.right(), x + xincrement), qMin(quad.bottom(), y + yincrement))); - } + + foreach (const WindowQuad &quad, *this) { + const double quadLeft = quad.left(); + const double quadRight = quad.right(); + const double quadTop = quad.top(); + const double quadBottom = quad.bottom(); + + // Compute the top-left corner of the first intersecting grid cell + const double xBegin = left + qFloor((quadLeft - left) / xIncrement) * xIncrement; + const double yBegin = top + qFloor((quadTop - top) / yIncrement) * yIncrement; + + // Loop over all intersecting cells and add sub-quads + for (double y = yBegin; y < quadBottom; y += yIncrement) { + const double y0 = qMax(y, quadTop); + const double y1 = qMin(quadBottom, y + yIncrement); + + for (double x = xBegin; x < quadRight; x += xIncrement) { + const double x0 = qMax(x, quadLeft); + const double x1 = qMin(quadRight, x + xIncrement); + + ret.append(quad.makeSubQuad(x0, y0, x1, y1)); } } } + return ret; } From 76adeb6a132179831681632119f4ae08921cf63d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=B6glund?= Date: Mon, 9 Sep 2013 17:28:46 +0200 Subject: [PATCH 3/8] kwin: Optimize WindowQuadList::makeGrid() This is the same optimization that was done in makeRegularGrid() in 45782d387ab894c682b4ccc220e596c8b72c4167. --- libkwineffects/kwineffects.cpp | 55 +++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/libkwineffects/kwineffects.cpp b/libkwineffects/kwineffects.cpp index 1b921ef486..927a44e83e 100644 --- a/libkwineffects/kwineffects.cpp +++ b/libkwineffects/kwineffects.cpp @@ -997,41 +997,54 @@ WindowQuadList WindowQuadList::splitAtY(double y) const return ret; } -WindowQuadList WindowQuadList::makeGrid(int maxquadsize) const +WindowQuadList WindowQuadList::makeGrid(int maxQuadSize) const { if (empty()) return *this; - // find the bounding rectangle - double left = first().left(); - double right = first().right(); - double top = first().top(); + + // Find the bounding rectangle + double left = first().left(); + double right = first().right(); + double top = first().top(); double bottom = first().bottom(); - foreach (const WindowQuad & quad, *this) { + + foreach (const WindowQuad &quad, *this) { #ifndef NDEBUG if (quad.isTransformed()) kFatal(1212) << "Splitting quads is allowed only in pre-paint calls!" ; #endif - left = qMin(left, quad.left()); - right = qMax(right, quad.right()); - top = qMin(top, quad.top()); + left = qMin(left, quad.left()); + right = qMax(right, quad.right()); + top = qMin(top, quad.top()); bottom = qMax(bottom, quad.bottom()); } + WindowQuadList ret; - for (double x = left; - x < right; - x += maxquadsize) { - for (double y = top; - y < bottom; - y += maxquadsize) { - foreach (const WindowQuad & quad, *this) { - if (QRectF(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom())) - .intersects(QRectF(x, y, maxquadsize, maxquadsize))) { - ret.append(quad.makeSubQuad(qMax(x, quad.left()), qMax(y, quad.top()), - qMin(quad.right(), x + maxquadsize), qMin(quad.bottom(), y + maxquadsize))); - } + + foreach (const WindowQuad &quad, *this) { + const double quadLeft = quad.left(); + const double quadRight = quad.right(); + const double quadTop = quad.top(); + const double quadBottom = quad.bottom(); + + // Compute the top-left corner of the first intersecting grid cell + const double xBegin = left + qFloor((quadLeft - left) / maxQuadSize) * maxQuadSize; + const double yBegin = top + qFloor((quadTop - top) / maxQuadSize) * maxQuadSize; + + // Loop over all intersecting cells and add sub-quads + for (double y = yBegin; y < quadBottom; y += maxQuadSize) { + const double y0 = qMax(y, quadTop); + const double y1 = qMin(quadBottom, y + maxQuadSize); + + for (double x = xBegin; x < quadRight; x += maxQuadSize) { + const double x0 = qMax(x, quadLeft); + const double x1 = qMin(quadRight, x + maxQuadSize); + + ret.append(quad.makeSubQuad(x0, y0, x1, y1)); } } } + return ret; } From 4abba66bf01f5fa4a7df8acfaeb01916ed76af3b Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sat, 23 Nov 2013 06:30:36 +0000 Subject: [PATCH 4/8] SVN_SILENT made messages (.desktop file) --- effects/kscreen/kscreen.desktop | 1 + effects/slideback/slideback.desktop | 1 + kcmkwin/kwinoptions/kwinactions.desktop | 1 + kwin.notifyrc | 2 ++ tabbox/kwindesktopswitcher.desktop | 1 + tabbox/qml/desktops/informative/metadata.desktop | 1 + tabbox/qml/desktops/previews/metadata.desktop | 2 ++ 7 files changed, 9 insertions(+) diff --git a/effects/kscreen/kscreen.desktop b/effects/kscreen/kscreen.desktop index 1e30abce9f..dc2b2e2665 100644 --- a/effects/kscreen/kscreen.desktop +++ b/effects/kscreen/kscreen.desktop @@ -42,6 +42,7 @@ Comment[ca@valencia]=Efecte auxiliar pel KScreen Comment[cs]=Pomocný efekt pro KScreen Comment[da]=Hjælpeeffekt til KScreen Comment[de]=Hilfseffekt für KScreen +Comment[el]=Βοηθητικό εφέ για το KScreen Comment[es]=Efecto auxiliar para KScreen Comment[fi]=Avustajatehoste KScreenille Comment[fr]=Effet d'assistance pour KScreen diff --git a/effects/slideback/slideback.desktop b/effects/slideback/slideback.desktop index f52948bf92..0d8817ac0f 100644 --- a/effects/slideback/slideback.desktop +++ b/effects/slideback/slideback.desktop @@ -75,6 +75,7 @@ Comment[ca]=Llisca enrere les finestres quan s'eleva una altra finestra Comment[ca@valencia]=Llisca arrere les finestres quan s'eleva una altra finestra Comment[da]=Glid vinduer tilbage når et andet vinduet hæves Comment[de]=Fenster nach hinten gleiten wenn ein anderes Fenster aktiviert wird. +Comment[el]=Κύλιση παραθύρων πίσω όταν ένα άλλο παράθυρο αποκτήσει εστίαση Comment[es]=Desliza las ventanas atrás cuando una ventana pasa a primer plano Comment[fi]=Ikkunaa nostettaessa liu’uttaa muut ikkunat sen taakse Comment[fr]=Faire glisser en arrière les fenêtres lors de l'apparition d'une autre fenêtre diff --git a/kcmkwin/kwinoptions/kwinactions.desktop b/kcmkwin/kwinoptions/kwinactions.desktop index de4dee44be..e540ef6fed 100644 --- a/kcmkwin/kwinoptions/kwinactions.desktop +++ b/kcmkwin/kwinoptions/kwinactions.desktop @@ -107,6 +107,7 @@ Comment[ca@valencia]=Configura les accions de ratolí en les finestres Comment[cs]=Nastavení činností myši na oknech Comment[da]=Indstilling af musehandlinger på vinduer Comment[de]=Maus-Aktionen für Fenster einrichten +Comment[el]=Διαμόρφωση ενεργειών εισόδου στα παράθυρα Comment[es]=Configurar las acciones del ratón sobre las ventanas Comment[fi]=Ikkunoiden hiiritoimintojen asetukset Comment[fr]=Configurer les actions de souris pour les fenêtres diff --git a/kwin.notifyrc b/kwin.notifyrc index a1cbd50f0e..484ba92092 100644 --- a/kwin.notifyrc +++ b/kwin.notifyrc @@ -203,6 +203,7 @@ Name[ca@valencia]=Reinici dels gràfics Name[cs]=Resetovat grafiku Name[da]=Grafiknulstilling Name[de]=Grafik-Reset +Name[el]=Επαναφορά γραφικών Name[es]=Reinicio gráfico Name[fi]=Grafiikan nollaus Name[fr]=Réinitialisation graphique @@ -238,6 +239,7 @@ Comment[ca]=Ha ocorregut un esdeveniment de reinici dels gràfics Comment[ca@valencia]=Ha ocorregut un esdeveniment de reinici dels gràfics Comment[da]=En grafiknulstillingshændelse fandt sted Comment[de]=Ein Zurücksetzen der Grafik ist aufgetreten +Comment[el]=Συνέβη μια επαναφορά των γραφικών Comment[es]=Ha ocurrido un evento de reinicio gráfico Comment[fi]=Sattui grafiikan nollaustapahtuma Comment[fr]=Un évènement de réinitialisation graphique est intervenu diff --git a/tabbox/kwindesktopswitcher.desktop b/tabbox/kwindesktopswitcher.desktop index 769abf6208..f817b1ad13 100644 --- a/tabbox/kwindesktopswitcher.desktop +++ b/tabbox/kwindesktopswitcher.desktop @@ -9,6 +9,7 @@ Comment[ca@valencia]=Disposició del commutador d'escriptoris del KWin Comment[cs]=Rozvržení přepínače ploch KWin Comment[da]=Layout til KWins skrivebordsskifter Comment[de]=Arbeitsflächenwechsler-Layout +Comment[el]=Διάταξη εναλλαγής παραθύρων Kwin Comment[es]=Esquema del cambiador de escritorios de KWin Comment[fi]=KWinin työpöydänvalitsimen asettelu Comment[fr]=Une disposition du sélecteur de bureaux KWin diff --git a/tabbox/qml/desktops/informative/metadata.desktop b/tabbox/qml/desktops/informative/metadata.desktop index 42fe0394db..424b781b8d 100644 --- a/tabbox/qml/desktops/informative/metadata.desktop +++ b/tabbox/qml/desktops/informative/metadata.desktop @@ -49,6 +49,7 @@ Comment[ca]=Una disposició informativa del commutador d'escriptoris Comment[ca@valencia]=Una disposició informativa del commutador d'escriptoris Comment[da]=Et informativt layout til skrivebordskift Comment[de]=Ein ausführliches Fensterwechsler-Layout +Comment[el]=Ενημερωτική εναλλαγή επιφάνειας εργασίας Comment[es]=Un esquema informativo del cambiador de escritorios Comment[fi]=Informatiivinen työpöydänvalitsimen asettelu Comment[fr]=Une disposition du sélecteur informative de bureaux diff --git a/tabbox/qml/desktops/previews/metadata.desktop b/tabbox/qml/desktops/previews/metadata.desktop index 4fac6dbdbe..354a3e18f8 100644 --- a/tabbox/qml/desktops/previews/metadata.desktop +++ b/tabbox/qml/desktops/previews/metadata.desktop @@ -6,6 +6,7 @@ Name[ca@valencia]=Vistes prèvies Name[cs]=Náhledy Name[da]=Forhåndsvisninger Name[de]=Vorschauen +Name[el]=Προεπισκοπήσεις Name[es]=Vistas previas Name[fi]=Esikatselut Name[fr]=Aperçus @@ -41,6 +42,7 @@ Comment[ca]=Una disposició del commutador d'escriptori amb vistes prèvies dels Comment[ca@valencia]=Una disposició del commutador d'escriptori amb vistes prèvies dels escriptoris Comment[da]=Et layout til skrivebordsskift med forhåndsvisning af skrivebordene Comment[de]=Ein Arbeitsflächenwechsler mit Vorschauen der Arbeitsflächen +Comment[el]=Εναλλαγή επιφάνειας εργασίας με προεπισκοπήσεις των επιφανειών Comment[es]=Un esquema del cambiador de escritorios con vistas previas de los escritorios Comment[fi]=Työpöydänvalitsimen asettelu, jossa on esikatselut työpöydistä Comment[fr]=Une disposition de sélecteur de bureaux avec des aperçus de bureaux From 1885a903935e9cd0472fcc32153355fcb4d4d815 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sun, 24 Nov 2013 06:42:15 +0000 Subject: [PATCH 5/8] SVN_SILENT made messages (.desktop file) --- effects/kscreen/kscreen.desktop | 2 ++ effects/screenedge/screenedgeeffect.desktop | 2 ++ effects/sheet/sheet.desktop | 2 +- kcmkwin/kwincompositing/kwincompositing.desktop | 2 +- kcmkwin/kwinoptions/kwinactions.desktop | 3 ++- kcmkwin/kwinrules/kwinrules.desktop | 2 +- kcmkwin/kwintabbox/kwintabbox.desktop | 2 +- 7 files changed, 10 insertions(+), 5 deletions(-) diff --git a/effects/kscreen/kscreen.desktop b/effects/kscreen/kscreen.desktop index dc2b2e2665..5ee76acd04 100644 --- a/effects/kscreen/kscreen.desktop +++ b/effects/kscreen/kscreen.desktop @@ -21,6 +21,7 @@ Name[nl]=Kscreen Name[pa]=ਕੇਸਕਰੀਨ Name[pt]=Kscreen Name[pt_BR]=KScreen +Name[ro]=Kscreen Name[ru]=Kscreen Name[sk]=Kscreen Name[sl]=Kscreen @@ -57,6 +58,7 @@ Comment[nl]=Effect van hulp voor KScreen Comment[pa]=ਕੇਸਕਰੀਨ ਲਈ ਮੱਦਦ ਪ੍ਰਭਾਵ Comment[pt]=Efeito auxiliar do KScreen Comment[pt_BR]=Efeito auxiliar do KScreen +Comment[ro]=Efect ajutător pentru KScreen Comment[ru]=Вспомогательный эффект для KScreen Comment[sk]=Pomocný efekt pre KScreen Comment[sl]=Pomožni učinek za KScreen diff --git a/effects/screenedge/screenedgeeffect.desktop b/effects/screenedge/screenedgeeffect.desktop index 503cff6afe..52ec41aaa8 100644 --- a/effects/screenedge/screenedgeeffect.desktop +++ b/effects/screenedge/screenedgeeffect.desktop @@ -24,6 +24,7 @@ Name[pa]=ਸਕਰੀਨ ਕੋਨਾ Name[pl]=Krawędź ekranu Name[pt]=Extremo do Ecrã Name[pt_BR]=Borda da tela +Name[ro]=Muchia ecranului Name[ru]=Край экрана Name[sk]=Hrana obrazovky Name[sl]=Rob zaslona @@ -62,6 +63,7 @@ Comment[nl]=Accentueert een schermrand bij nadering Comment[pl]=Podświetla krawędź ekranu przy zbliżaniu się do niej Comment[pt]=Realça um extremo do ecrã ao aproximar-se Comment[pt_BR]=Destaca a borda da tela quando se aproxima +Comment[ro]=Evidențiază o muchie a ecranului la apropiere Comment[ru]=Выделяет край экрана при приближении к нему Comment[sk]=Zvýrazní okraj obrazovky pri priblížení Comment[sl]=Poudari rob zaslona, ko se mu približate diff --git a/effects/sheet/sheet.desktop b/effects/sheet/sheet.desktop index 457a9061f6..009629e3c6 100644 --- a/effects/sheet/sheet.desktop +++ b/effects/sheet/sheet.desktop @@ -107,7 +107,7 @@ Comment[lt]=Dialogai pamažu išnyksta/atsiranda jei juos prašoma parodyti arba Comment[lv]=Liek modāliem logiem vienmērīgi atlidot un aizlidot, tos parādot un noslēpjot Comment[ml]=മോഡല്‍ ജാലകങ്ങള്‍ ഒളിപ്പിയ്ക്കുമ്പോഴോ കാണിയ്ക്കുമ്പോഴോ മിനുസമായി പറന്നിറങ്ങുന്നതും പോകുന്നതും പോലെ തോന്നിയ്ക്കുക Comment[mr]=संवाद दर्शविताना किंवा लपविताना त्यांना आत व बाहेर उडवा -Comment[nb]=Gjør at modale doaloger flyr inn og ut når de vises eller skjules +Comment[nb]=Gjør at modale dialoger flyr inn og ut når de vises eller skjules Comment[nds]=Modaaldialogen bi't Wiesen oder Versteken week rin- oder rutflegen laten Comment[nl]=Laat modale dialogen vloeiend in/uitvliegen als ze worden getoond of verborgen Comment[nn]=Brett undervindauge inn og ut av skjermen diff --git a/kcmkwin/kwincompositing/kwincompositing.desktop b/kcmkwin/kwincompositing/kwincompositing.desktop index 2e19417bd3..f4c0225821 100644 --- a/kcmkwin/kwincompositing/kwincompositing.desktop +++ b/kcmkwin/kwincompositing/kwincompositing.desktop @@ -198,7 +198,7 @@ X-KDE-Keywords[ia]=kwin,fenestra,gerente,componente,effecto,effectos 3D,effectos X-KDE-Keywords[it]=kwin,finestra,gestore,composizione,effetto,effetti 3D,effetti 2D,OpenGL,XRender,impostazioni video,effetti grefici,effetti desktop,animazioni,animazioni varie, effetti del gestore delle finestre,effetto dello scambiafinestre, effetto dello scambiatore di desktop,animazioni,velocità animazioni,animazioni desktop,driver,impostazioni driver,disegno,rendering,effetto invertito,effetto vetro,effetto lente,effetto snap helper,effetto evidenzia mouse,effetto ingrandimento, effetto sfocatura,effetto quadro degli strumenti,effetto esplosione,effetto dissolvenza,effetto dissolvenza desktop,effetto caduta,effetto planatura,effetto evidenziazione finestra,effetto schermata di accesso, effetto disconnessione,effetto lampada magica,effetto animazione di minimizzazione,effetto tracciatura mouse, effetto scalatura,effetto istantanea,effetto foglio,effetto diapositiva,effetto scivolamento,effetto icone nella barra delle applicazioni,effetto miniatura su un lato,translucenza,effetto translucenza, trasparenza,effetto geometria finestra,effetto finestre tremolanti,effetto segnale di avvio,effetto finestra padre,effetto oscura finestra inattiva,effetto oscura schermo,effetto scivola all'indietro,gradevole,effetto gradevole,effetto mostra FPS,effetto ridisegno,effetto scambio cubi,effetto scambio copertina,effetto cubi del desktop,effetto animazione cubi del desktop,effetto griglia desktop,effetto scambiatore con inversione,effetto riquadro,effetto finestra presente,effetto ridimensionamento finestra X-KDE-Keywords[kk]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect X-KDE-Keywords[km]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect -X-KDE-Keywords[nb]=kwin,vindusbehandler,sammensetting,effekt,3D-effekter,2D-effekter,OpenGL,XRender,videoinnstillinger,grafiske effekter,skrivebordseffekter,animasjoner,diverse animasjoner,vindusbytteeffekter,effekter ved skrivebordsbytte,animasjoner,animasjonsfart,skrivebordsanimasjoner,drivere,driverinnstillinger,opptegning,opptegner,inverteringseffekt,speileffekt,lupeeffekt,gripehjelpereffekt,musesporeffekt,forstørreeffekt,sløreffekt,kontrollpulteffekt,eksplosjonseffekt,uttoningseffekt,skrivebordtoningseffekt,henfallseffekt,glidereffekt,framhev vindu-effekt,innlogingseffekt,utloggingsefffekt,magisk lampe-effekt, animasjonseffekt ved vindusminimering,musmerkeeffekt,innskaleringseffekt,skjermdumpeffekt,ark-effekt,lysbildeeffekt,glidende oppspretteffekt,effekt for minibilder på oppgavelinja,effekt for minibilder på siden,gjennomskinnelighetseffekt,gjennomsiktighet,vindusgeometri-effekt,skjelvende vinduer-effekt,effekt for oppstartsmelding,effekt for foreldredialog,effekt for mørk inaktiv,effekt for mørk skjerm,gli tilbake-effekt,øyesnop,snop,vis FPS-effekt,vis malingseffekt,boksbytteeffekt,lokkbytteeffekt,skrivebordsterning-effekt,effek for animert skrivebordsterning,effekt for skrivebordsruter,effekt for flipp-bytte,omriss-effekt,effekt for vinduer tilstede,effekt for vinduer som endrer størrelse +X-KDE-Keywords[nb]=kwin,vindusbehandler,sammensetting,effekt,3D-effekter,2D-effekter,OpenGL,XRender,videoinnstillinger,grafiske effekter,skrivebordseffekter,animasjoner,diverse animasjoner,vindusbytteeffekter,effekter ved skrivebordsbytte,animasjoner,animasjonsfart,skrivebordsanimasjoner,drivere,driverinnstillinger,opptegning,opptegner,inverteringseffekt,speileffekt,lupeeffekt,gripehjelpereffekt,musesporeffekt,forstørreeffekt,sløreffekt,kontrollpulteffekt,eksplosjonseffekt,uttoningseffekt,skrivebordtoningseffekt,henfallseffekt,glidereffekt,framhev vindu-effekt,innlogingseffekt,utloggingsefffekt,magisk lampe-effekt, animasjonseffekt ved vindusminimering,musmerkeeffekt,innskaleringseffekt,skjermdumpeffekt,ark-effekt,lysbildeeffekt,glidende oppspretteffekt,effekt for minibilder på oppgavelinja,effekt for minibilder på siden,gjennomskinnelighetseffekt,gjennomsiktighet,vindusgeometri-effekt,skjelvende vinduer-effekt,effekt for oppstartsmelding,effekt for foreldredialog,effekt for mørk inaktiv,effekt for mørk skjerm,gli tilbake-effekt,øyesnop,snop,vis FPS-effekt,vis malingseffekt,boksbytteeffekt,lokkbytteeffekt,skrivebordsterning-effekt,effekt for animert skrivebordsterning,effekt for skrivebordsruter,effekt for flipp-bytte,omriss-effekt,effekt for vinduer tilstede,effekt for vinduer som endrer størrelse X-KDE-Keywords[nl]=kwin,venster,beheerder,compositing,effect,3D effecten,2D effecten,OpenGL,XRender,video-instellingen,grafische effecten,bureaubladeffecten,animaties,verrschillende animaties,vensterbeheereffecten,vensteromschakeleffect, bureaublad-omschakeleffect,animaties,animatiesnelheid,bureaubladanimaties,stuurprogramma's,stuurprogramma-instellingen,rendering,render,inversieeffect,vergrootglaseffect,vergrotingseffect,snaphelpereffect,trackmuiseffect,zoomeffect,vervagingseffect,dashboardeffect,explosie-effect,uitvaageffect,uitvaagbureaubladeffect,uiteenvaleffect,glijeffect,vebsteraccentueringseffect,aanmeldeffect,afmeldeffect,magische lampeffect,animatie-effect minimaliseren,muismarkeringseffect,inschaaleffect,schermafdrukeffect,bladeneffect,diaeffect,glijdende pop-upseffect,taakbalkminiatuureffect,miniatuur-opzijeffect,doorzichtigheid,doorzichtigheidseffect,transparantie,vensterafmetingeneffect,wiebelende vensterseffect,opstartterugkoppeleffect,dialoogoudereffect,dim bij inactiviteitseffect,dim het schermeffect,schuif terugeffect,oogstrelend,snoepgoed,FPS toneneffect,verf toneneffect,vak omschakeleffect,deksel schakelaareffect,bureaublad kubuseffect,bureaublad kubus animatie-effect,bureaubladrastereffect,omschakeleffect,omrandingeffect,huidig venstereffect, wijzig grootte van venstereffect X-KDE-Keywords[pl]=kwin,okno,menadżer,kompozycje,efekt,efekty 3D,efekty 2D,OpenGL,XRender, ustawienia wideo,efekty graficzne,efekty pulpitu,animacje,różne animacje,efekty zarządzania oknami,efekty przełączania okien,efekty przełączania pulpitów,animacje, szybkość animacji,animacje pulpitu,sterowniki,ustawienia sterowników,renderowania, efekt odwrócenia,szkło powiększające,efekt powiększenia,efekt pomocnika przyciągania, efekt śledzenia myszy,efekt przybliżenia,efekt rozmycia,efekt tablicy,efekt eksplozji,efekt zanikania,efekt zanikania pulpitu,efekt rozpadania,efekt slajdu,efekt podświetlania okna, efekt logowania,efekt wylogowywania,efekt magicznej lampy,efekt animacji minimalizacji, efekt znacznika myszy,efekt skalowania,efekt zrzutu ekranu,efekt arkusza,efekt slajdu,efekt wysuwających się elementów wyskakujących,efekt prześwitywania,przezroczystość,efekt geometrii okna,efekt chwiejnych okien,efekt odczuć przy starcie,efekt okna rodzica,efekt przyciemniania nieaktywnych,efekt przyciemniania ekranu,efekt przesuwania do tył,efekt pokazania ilości klatek na sekundę X-KDE-Keywords[pt]=kwin,janela,gestor,composição,efeito,efeitos 3D,efeitos 2D,OpenGL,XRender,configuração do vídeo,efeitos gráficos,efeitos do ecrã,animações,diversas animações,~efeitos de gestão das janelas,efeito de mudança da janela,efeito de mudança de ecrã,animações,velocidade da animação,animações do ecrã,controladores,configuração do controlador,desenho,efeito de inversão,efeito de lupa,efeito de lente,efeito de ajuste,efeito de seguimento do rato,efeito de ampliação,efeito de borrão,efeito de quadro,efeito de explosão,efeito de desvanecimento,efeito de desvanecimento do ecrã,efeito de queda,efeito de deslizamento,efeito de realce da janela,efeito de autenticação,efeito de encerramento da sessão,efeito de lâmpada mágica,efeito de animação da minimização,efeito de marcação do rato,efeito de ampliação,efeito de captura do ecrã,efeito de folha,efeito de deslizamento,efeito de janelas deslizantes,efeito de miniaturas das tarefas,efeito de miniatura ao lado,translucidez,efeito de translucidez,transparência,efeito de geometria da janela,efeito de janelas ondulantes,efeito da reacção ao arranque,efeito da janela-mãe,efeito de escurecimento da janela inactiva,efeito de escurecimento do ecrã,efeito de deslize para trás,efeitos visuais,visuais,efeito para mostrar FPS,efeito de pintura,efeito de mudança em caixa,efeito de mudança em capas,efeito de cubo do ecrã,efeito de animação do cubo do ecrã,efeito da grelha do ecrã,efeito de viragem de página,efeito de realce,efeito de apresentação das janelas,feito de dimensionamento das janelas diff --git a/kcmkwin/kwinoptions/kwinactions.desktop b/kcmkwin/kwinoptions/kwinactions.desktop index e540ef6fed..16b26f46c5 100644 --- a/kcmkwin/kwinoptions/kwinactions.desktop +++ b/kcmkwin/kwinoptions/kwinactions.desktop @@ -118,11 +118,12 @@ Comment[it]=Configura le azioni del mouse sulla finestra Comment[kk]=Терезелердегі тышқанның әрекеттерін баптау Comment[ko]=창 마우스 동작 설정 Comment[lt]=Konfigūruoti pelės veiksmus langams -Comment[nb]=Sett opp musehandlingeer på vinduer +Comment[nb]=Sett opp musehandlinger på vinduer Comment[nl]=Muisacties op vensters instellen Comment[pl]=Konfiguruj działania myszy na oknach Comment[pt]=Configurar as acções do rato nas janelas Comment[pt_BR]=Configura as ações do mouse nas janelas +Comment[ro]=Configurează acțiunile mausului asupra ferestrelor Comment[ru]=Настройка действий мыши для окон Comment[sk]=Nastaviť akcie myši na oknách Comment[sl]=Nastavi dejanja miške na oknih diff --git a/kcmkwin/kwinrules/kwinrules.desktop b/kcmkwin/kwinrules/kwinrules.desktop index fbc416e351..0f1563627d 100644 --- a/kcmkwin/kwinrules/kwinrules.desktop +++ b/kcmkwin/kwinrules/kwinrules.desktop @@ -179,7 +179,7 @@ X-KDE-Keywords[it]=dimensione,posizione,stato,comportamento della finestra,fines X-KDE-Keywords[kk]=size,position,state,window behavior,windows,specific,workarounds,remember,rules X-KDE-Keywords[km]=size,position,state,window behavior,windows,specific,workarounds,remember,rules X-KDE-Keywords[ko]=size,position,state,window behavior,windows,specific,workarounds,remember,rules,크기,위치,창 행동,창,창 지정,규칙 -X-KDE-Keywords[nb]=størrelsse,plassering,vindusoppførsel,vindu,bestemt,løsninger,husk,regler +X-KDE-Keywords[nb]=størrelse,plassering,vindusoppførsel,vindu,bestemt,løsninger,husk,regler X-KDE-Keywords[nl]=grootte,positie,status,venstergedrag,vensters,specifiek,er omheen gewerkt,herinneren,regels X-KDE-Keywords[pl]=rozmiar,pozycja,stan,zachowanie okna,okna,specyficzne,obejścia,zapamiętaj,reguły X-KDE-Keywords[pt]=tamanho,posição,estado,comportamento da janela,janelas,específico,alternativas,recordar,regras diff --git a/kcmkwin/kwintabbox/kwintabbox.desktop b/kcmkwin/kwintabbox/kwintabbox.desktop index 6bc547169d..0d5ce616ed 100644 --- a/kcmkwin/kwintabbox/kwintabbox.desktop +++ b/kcmkwin/kwintabbox/kwintabbox.desktop @@ -101,7 +101,7 @@ Comment[ko]=창 탐색 효과 설정 Comment[lt]=Navigavimo tarp langų elgsenos konfigūravimas Comment[lv]=Konfigurē uzvedību, navigējot starp logiem Comment[mr]=चौकटींमध्ये संचारण करण्याचे वर्तन संयोजीत करा -Comment[nb]=Sett opp oppførselen for nevigering gjennom vinduer +Comment[nb]=Sett opp oppførselen for navigering gjennom vinduer Comment[nds]=Dat Bedregen bi't "Lopen dör de Finstern" instellen Comment[nl]=Het gedrag voor het door vensters wandelen configureren Comment[pa]=ਵਿੰਡੋਜ਼ ਵਿੱਚ ਏਧਰ-ਓਧਰ ਕਰਨ ਦੇ ਰਵੱਈਏ ਦੀ ਸੰਰਚਨਾ From 6e56dcd60a815cb3b8de7a4ecc883809658c7ea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 24 Nov 2013 14:21:35 +0100 Subject: [PATCH 6/8] remove false noop breaking branches BUG: 328007 FIXED-IN: 4.11.4 --- placement.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/placement.cpp b/placement.cpp index 2f5f222aa9..f35b9519c6 100644 --- a/placement.cpp +++ b/placement.cpp @@ -668,7 +668,6 @@ void Client::packTo(int left, int top) void Workspace::slotWindowPackLeft() { if (active_client && active_client->isMovable()) - active_client->screen(); active_client->packTo(packPositionLeft(active_client, active_client->geometry().left(), true), active_client->y()); } From 54a4a4547d8161370c9adcd86b773f58e38f6868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Tue, 12 Nov 2013 00:20:38 +0100 Subject: [PATCH 7/8] fix shortcut available check and bypass idempotent shortcut setting BUG: 327472 FIXED-IN: 4.11.4 REVIEW: 113807 --- useractions.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/useractions.cpp b/useractions.cpp index a38ebfc883..46739deecc 100755 --- a/useractions.cpp +++ b/useractions.cpp @@ -1919,6 +1919,9 @@ void Client::setShortcut(const QString& _cut) QString cut = rules()->checkShortcut(_cut); if (cut.isEmpty()) return setShortcutInternal(KShortcut()); + if (cut == shortcut().toString()) { + return; // no change + } // Format: // base+(abcdef)base+(abcdef) // E.g. Alt+Ctrl+(ABCDEF);Meta+X,Meta+(ABCDEF) @@ -1993,7 +1996,8 @@ void Client::delayedSetShortcut() bool Workspace::shortcutAvailable(const KShortcut& cut, Client* ignore) const { - + if (ignore && cut == ignore->shortcut()) + return true; Q_FOREACH (const QKeySequence &seq, cut.toList()) { if (!KGlobalAccel::getGlobalShortcutsByKey(seq).isEmpty()) { return false; From c003baee1e65f13c19b6db02290de4734e4d6780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sat, 16 Nov 2013 16:37:22 +0100 Subject: [PATCH 8/8] clamp timeline time for highlighted desktop BUG: 327539 FIXED-IN: 4.11.4 --- effects/desktopgrid/desktopgrid.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/effects/desktopgrid/desktopgrid.cpp b/effects/desktopgrid/desktopgrid.cpp index 7a53b528a2..e801653dff 100644 --- a/effects/desktopgrid/desktopgrid.cpp +++ b/effects/desktopgrid/desktopgrid.cpp @@ -914,7 +914,12 @@ void DesktopGridEffect::setHighlightedDesktop(int d) { if (d == highlightedDesktop || d <= 0 || d > effects->numberOfDesktops()) return; + if (highlightedDesktop > 0 && highlightedDesktop <= hoverTimeline.count()) + hoverTimeline[highlightedDesktop-1]->setCurrentTime(qMin(hoverTimeline[highlightedDesktop-1]->currentTime(), + hoverTimeline[highlightedDesktop-1]->duration())); highlightedDesktop = d; + if (highlightedDesktop <= hoverTimeline.count()) + hoverTimeline[highlightedDesktop-1]->setCurrentTime(qMax(hoverTimeline[highlightedDesktop-1]->currentTime(), 0)); effects->addRepaintFull(); }