From 1cc5c2ff3febf2d2182aa96902727b9c2a2e46a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Mon, 4 Feb 2013 16:46:34 +0100 Subject: [PATCH 1/7] react on screenCountChanged to re-validate lists includes fixing commit 1ac2f407c67c5740fb79cb11b610814a056b3268 BUG: 314409 REVIEW: 108775 FIXED-IN: 4.10.1 (cherry picked from commit e4ef2f072336a59039b1372266e4a5ab05d29cc0) --- effects/presentwindows/presentwindows.cpp | 41 ++++++++++++++++------- effects/presentwindows/presentwindows.h | 1 + 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/effects/presentwindows/presentwindows.cpp b/effects/presentwindows/presentwindows.cpp index 2f937f418c..7a59aece8c 100755 --- a/effects/presentwindows/presentwindows.cpp +++ b/effects/presentwindows/presentwindows.cpp @@ -42,6 +42,8 @@ along with this program. If not, see . #include #include #include +#include +#include #include #include #include @@ -102,6 +104,8 @@ PresentWindowsEffect::PresentWindowsEffect() connect(effects, SIGNAL(windowDeleted(KWin::EffectWindow*)), this, SLOT(slotWindowDeleted(KWin::EffectWindow*))); connect(effects, SIGNAL(windowGeometryShapeChanged(KWin::EffectWindow*,QRect)), this, SLOT(slotWindowGeometryShapeChanged(KWin::EffectWindow*,QRect))); connect(effects, SIGNAL(propertyNotify(KWin::EffectWindow*,long)), this, SLOT(slotPropertyNotify(KWin::EffectWindow*,long))); + + connect (qApp->desktop(), SIGNAL(screenCountChanged(int)), SLOT(screenCountChanged())); } PresentWindowsEffect::~PresentWindowsEffect() @@ -1540,19 +1544,7 @@ void PresentWindowsEffect::setActive(bool active) m_hasKeyboardGrab = effects->grabKeyboard(this); effects->setActiveFullScreenEffect(this); - m_gridSizes.clear(); - for (int i = 0; i < effects->numScreens(); ++i) { - m_gridSizes.append(GridSize()); - if (m_dragToClose) { - const QRect screenRect = effects->clientArea(FullScreenArea, i, 1); - EffectFrame *frame = effects->effectFrame(EffectFrameNone, false); - KIcon icon("user-trash"); - frame->setIcon(icon.pixmap(QSize(128, 128))); - frame->setPosition(QPoint(screenRect.x() + screenRect.width(), screenRect.y())); - frame->setAlignment(Qt::AlignRight | Qt::AlignTop); - m_dropTargets.append(frame); - } - } + screenCountChanged(); rearrangeWindows(); setHighlightedWindow(effects->activeWindow()); @@ -1930,6 +1922,29 @@ bool PresentWindowsEffect::isActive() const return m_activated || m_motionManager.managingWindows(); } +void PresentWindowsEffect::screenCountChanged() +{ + if (!isActive()) + return; + while (!m_dropTargets.empty()) { + delete m_dropTargets.takeFirst(); + } + m_gridSizes.clear(); + for (int i = 0; i < effects->numScreens(); ++i) { + m_gridSizes.append(GridSize()); + if (m_dragToClose) { + const QRect screenRect = effects->clientArea(FullScreenArea, i, 1); + EffectFrame *frame = effects->effectFrame(EffectFrameNone, false); + KIcon icon("user-trash"); + frame->setIcon(icon.pixmap(QSize(128, 128))); + frame->setPosition(QPoint(screenRect.x() + screenRect.width(), screenRect.y())); + frame->setAlignment(Qt::AlignRight | Qt::AlignTop); + m_dropTargets.append(frame); + } + } + rearrangeWindows(); +} + /************************************************ * CloseWindowView ************************************************/ diff --git a/effects/presentwindows/presentwindows.h b/effects/presentwindows/presentwindows.h index e891715aa4..0906455cab 100644 --- a/effects/presentwindows/presentwindows.h +++ b/effects/presentwindows/presentwindows.h @@ -224,6 +224,7 @@ public slots: private slots: void closeWindow(); void elevateCloseWindow(); + void screenCountChanged(); protected: // Window rearranging From c016589fcdbe9027ac21aec5ebb99f4c56485958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Wed, 30 Jan 2013 17:26:19 +0100 Subject: [PATCH 2/7] Try to keep the labels in the expanded geometry and ensure to repaint labels for very tiny windows Also move to LayerRepaints BUG: 278137 FIXED-IN: 4.10.1 REVIEW: 108676 (cherry picked from commit 1365f04435f0bbbc74301988b778f7fdf1ad4fd8) --- effects/windowgeometry/windowgeometry.cpp | 24 +++++++++++++++++++---- effects/windowgeometry/windowgeometry.h | 1 + 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/effects/windowgeometry/windowgeometry.cpp b/effects/windowgeometry/windowgeometry.cpp index b33a05d533..91c1baff53 100644 --- a/effects/windowgeometry/windowgeometry.cpp +++ b/effects/windowgeometry/windowgeometry.cpp @@ -116,7 +116,10 @@ void WindowGeometry::slotWindowFinishUserMovedResized(EffectWindow *w) if (iAmActive && w == myResizeWindow) { iAmActive = false; myResizeWindow = 0L; - effects->addRepaint(myCurrentGeometry.adjusted(-20, -20, 20, 20)); + w->addRepaintFull(); + if (myExtraDirtyArea.isValid()) + w->addLayerRepaint(myExtraDirtyArea); + myExtraDirtyArea = QRect(); } } @@ -139,6 +142,11 @@ static inline QString number(int n) void WindowGeometry::slotWindowStepUserMovedResized(EffectWindow *w, const QRect &geometry) { if (iAmActivated && iAmActive && w == myResizeWindow) { + if (myExtraDirtyArea.isValid()) + w->addLayerRepaint(myExtraDirtyArea); + + myExtraDirtyArea = QRect(); + myCurrentGeometry = geometry; const QRect &r = geometry; const QRect &r2 = myOriginalGeometry; @@ -152,7 +160,7 @@ void WindowGeometry::slotWindowStepUserMovedResized(EffectWindow *w, const QRect myMeasure[0]->setText( i18nc(myCoordString_1, r.x(), r.y(), number(dx), number(dy) ) ); else myMeasure[0]->setText( i18nc(myCoordString_0, r.x(), r.y() ) ); - myMeasure[0]->setPosition(geometry.topLeft()); + myMeasure[0]->setPosition(w->expandedGeometry().topLeft() + QPoint(6,6)); // "6" is magic number because the unstyled effectframe has 5px padding // center ---------------------- if (w->isUserResize()) { @@ -181,9 +189,17 @@ void WindowGeometry::slotWindowStepUserMovedResized(EffectWindow *w, const QRect myMeasure[2]->setText( i18nc(myCoordString_1, r.right(), r.bottom(), number(dx), number(dy) ) ); else myMeasure[2]->setText( i18nc(myCoordString_0, r.right(), r.bottom() ) ); - myMeasure[2]->setPosition(geometry.bottomRight()); + myMeasure[2]->setPosition(w->expandedGeometry().bottomRight() - QPoint(6,6)); // "6" is magic number because the unstyled effectframe has 5px padding - effects->addRepaint(geometry.adjusted(-20, -20, 20, 20)); + myExtraDirtyArea |= myMeasure[0]->geometry(); + myExtraDirtyArea |= myMeasure[1]->geometry(); + myExtraDirtyArea |= myMeasure[2]->geometry(); + myExtraDirtyArea.adjust(-6,-6,6,6); + if (w->expandedGeometry().contains(myExtraDirtyArea)) + myExtraDirtyArea = QRect(); + + if (myExtraDirtyArea.isValid()) + w->addLayerRepaint(myExtraDirtyArea); } } diff --git a/effects/windowgeometry/windowgeometry.h b/effects/windowgeometry/windowgeometry.h index 5362b1f762..3211fdd7e7 100644 --- a/effects/windowgeometry/windowgeometry.h +++ b/effects/windowgeometry/windowgeometry.h @@ -58,6 +58,7 @@ private: EffectWindow *myResizeWindow; EffectFrame *myMeasure[3]; QRect myOriginalGeometry, myCurrentGeometry; + QRect myExtraDirtyArea; bool iAmActive, iAmActivated, iHandleMoves, iHandleResizes; QString myCoordString[2], myResizeString; }; From 199f14d578ce4ec0ba8ff6293e36a6c1a8bd29b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Fri, 8 Feb 2013 20:59:35 +0100 Subject: [PATCH 3/7] do not try to raise possible panel proxies but drop screenedges below the supportWindow instead that's why it exists, that's deterministic, that's faster BUG: 314625 FIXED-IN: 4.10.1 REVIEW: 108867 --- effects.cpp | 2 +- layers.cpp | 23 +++++++++++++++++++++++ screenedge.cpp | 49 ------------------------------------------------- screenedge.h | 5 ----- workspace.h | 1 + 5 files changed, 25 insertions(+), 55 deletions(-) diff --git a/effects.cpp b/effects.cpp index eaab46ff32..f99f1a16f2 100644 --- a/effects.cpp +++ b/effects.cpp @@ -1027,7 +1027,7 @@ void EffectsHandlerImpl::destroyInputWindow(Window w) if (pos.second == w) { XUnmapWindow(display(), w); #ifdef KWIN_BUILD_SCREENEDGES - Workspace::self()->screenEdge()->raisePanelProxies(); + Workspace::self()->stackScreenEdgesUnderOverrideRedirect(); #endif return; } diff --git a/layers.cpp b/layers.cpp index 5104e19d1d..1a88ad3b1b 100644 --- a/layers.cpp +++ b/layers.cpp @@ -140,6 +140,29 @@ void Workspace::updateStackingOrder(bool propagate_new_clients) } } +#ifdef KWIN_BUILD_SCREENEDGES +/*! + * Some fullscreen effects have to raise the screenedge on top of an input window, thus all windows + * this function puts them back where they belong for regular use and is some cheap variant of + * the regular propagateClients function in that it completely ignores managed clients and everything + * else and also does not update the NETWM property. + * Called from Effects::destroyInputWindow so far. + */ +void Workspace::stackScreenEdgesUnderOverrideRedirect() +{ + QVector stack; + stack << supportWindow->winId(); + QVector edges(m_screenEdge.windows()); + stack.reserve(edges.count() + 1); + for (QVector::const_iterator it = edges.constBegin(), end = edges.constEnd(); it != end; ++it) { + if (*it != None) { + stack << *it; + } + } + XRestackWindows(display(), stack.data(), stack.count()); +} +#endif + /*! Propagates the managed clients to the world. Called ONLY from updateStackingOrder(). diff --git a/screenedge.cpp b/screenedge.cpp index a1507c3543..80a3931d81 100644 --- a/screenedge.cpp +++ b/screenedge.cpp @@ -398,55 +398,6 @@ void ScreenEdge::ensureOnTop() delete [] windows; } -/* - * NOTICE THIS IS A HACK - * or at least a quite cumbersome way to handle conflictive electric borders - * (like for autohiding panels or whatever) - * the SANE solution is a central electric border daemon and a protocol - * what this function does is to search for windows on the screen edges that are - * * not our own screenedge - * * either very slim - * * or InputOnly - * and raises them on top of everything else, including our own screen borders - * this is typically (and for now ONLY) called when an effect input window is destroyed - * (which raised our electric borders) - */ - -void ScreenEdge::raisePanelProxies() -{ - XWindowAttributes attr; - Window dummy; - Window* windows = NULL; - unsigned int count = 0; - QRect screen = QRect(0, 0, displayWidth(), displayHeight()); - QVector proxies; - XQueryTree(display(), rootWindow(), &dummy, &dummy, &windows, &count); - for (unsigned int i = 0; i < count; ++i) { - if (m_screenEdgeWindows.contains(windows[i])) - continue; - if (XGetWindowAttributes(display(), windows[i], &attr)) { - if (attr.map_state == IsUnmapped) // a thousand Qt group leader dummies ... - continue; - const QRect geo(attr.x, attr.y, attr.width, attr.height); - if (geo.width() < 1 || geo.height() < 1) - continue; - if (!(geo.width() > 1 || geo.height() > 1)) - continue; // random 1x1 dummy windows, all your corners are belong to us >-) - if (attr.c_class != InputOnly && (geo.width() > 3 && geo.height() > 3)) - continue; - if (geo.x() != screen.x() && geo.right() != screen.right() && - geo.y() != screen.y() && geo.bottom() != screen.bottom()) - continue; - proxies << windows[i]; - } - } - if (!proxies.isEmpty()) { - XRaiseWindow(display(), proxies.data()[ 0 ]); - XRestackWindows(display(), proxies.data(), proxies.count()); - } - if (windows) - XFree(windows); -} const QVector< Window >& ScreenEdge::windows() { diff --git a/screenedge.h b/screenedge.h index b2cda7b545..d7da6e90f3 100644 --- a/screenedge.h +++ b/screenedge.h @@ -91,11 +91,6 @@ public: * to do this if an effect input window is active. */ void ensureOnTop(); - /** - * Raise FOREIGN border windows to the real top of the screen. We usually need - * to do this after an effect input window was active. - */ - void raisePanelProxies(); /** * Called when the user entered an electric border with the mouse. * It may switch to another virtual desktop. diff --git a/workspace.h b/workspace.h index ff37842213..f435ef1ceb 100644 --- a/workspace.h +++ b/workspace.h @@ -207,6 +207,7 @@ public: Outline* outline(); #ifdef KWIN_BUILD_SCREENEDGES ScreenEdge* screenEdge(); + void stackScreenEdgesUnderOverrideRedirect(); #endif //------------------------------------------------- From e36e5efab8461642ec9aaea9fd12a8eedaa868c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 10 Feb 2013 06:56:38 +0100 Subject: [PATCH 4/7] catch releases without presses happens when the polling misses the press when doing more important things also shortcut buttons == oldButtons BUG: 314762 FIXED-IN: 4.10.1 REVIEW: 108883 --- effects/mouseclick/mouseclick.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/effects/mouseclick/mouseclick.cpp b/effects/mouseclick/mouseclick.cpp index 7f13a2045d..b756e623bf 100644 --- a/effects/mouseclick/mouseclick.cpp +++ b/effects/mouseclick/mouseclick.cpp @@ -173,12 +173,16 @@ void MouseClickEffect::slotMouseChanged(const QPoint& pos, const QPoint&, Qt::MouseButtons buttons, Qt::MouseButtons oldButtons, Qt::KeyboardModifiers, Qt::KeyboardModifiers) { + if (buttons == oldButtons) + return; + MouseEvent* m = NULL; for (int i = 0; i < BUTTON_COUNT; ++i) { MouseButton* b = m_buttons[i]; if (isPressed(b->m_button, buttons, oldButtons)) { m = new MouseEvent(i, pos, 0, createEffectFrame(pos, b->m_labelDown), true); - } else if (isReleased(b->m_button, buttons, oldButtons) && b->m_time > m_ringLife) { + } else if (isReleased(b->m_button, buttons, oldButtons) && (!b->m_isPressed || b->m_time > m_ringLife)) { + // we might miss a press, thus also check !b->m_isPressed, bug #314762 m = new MouseEvent(i, pos, 0, createEffectFrame(pos, b->m_labelUp), false); } b->setPressed(b->m_button & buttons); From b233288439a740c99f4d3a461a6c39aff8aa4e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 10 Feb 2013 07:05:08 +0100 Subject: [PATCH 5/7] fix mouse button order X counts the middle button as 2 and right as 3, Qt as 4 and 2 resp. the flags ... we shall at least match our GUI ;-) BUG: 314756 FIXED-IN: 4.10.1 REVIEW: 108883 --- effects/mouseclick/mouseclick.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/effects/mouseclick/mouseclick.cpp b/effects/mouseclick/mouseclick.cpp index b756e623bf..f42ac453ad 100644 --- a/effects/mouseclick/mouseclick.cpp +++ b/effects/mouseclick/mouseclick.cpp @@ -58,8 +58,8 @@ MouseClickEffect::MouseClickEffect() reconfigure(ReconfigureAll); m_buttons[0] = new MouseButton(i18n("Left"), Qt::LeftButton); - m_buttons[1] = new MouseButton(i18n("Right"), Qt::RightButton); - m_buttons[2] = new MouseButton(i18n("Middle"), Qt::MiddleButton); + m_buttons[1] = new MouseButton(i18n("Middle"), Qt::MiddleButton); + m_buttons[2] = new MouseButton(i18n("Right"), Qt::RightButton); } MouseClickEffect::~MouseClickEffect() From e796399cd41525d31bf915c0680f33dc1331d465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 10 Feb 2013 12:53:09 +0100 Subject: [PATCH 6/7] restore inputfocus after assigning window shortcut BUG: 314760 FIXED-IN: 4.10.1 REVIEW: 108887 (cherry picked from commit e71774897d092327b6d860353658fdaca79f7d0f) --- useractions.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/useractions.cpp b/useractions.cpp index 3617d2938c..7fa2225484 100755 --- a/useractions.cpp +++ b/useractions.cpp @@ -890,6 +890,8 @@ void Workspace::setupWindowShortcutDone(bool ok) client_keys_dialog->deleteLater(); client_keys_dialog = NULL; client_keys_client = NULL; + if (active_client) + active_client->takeFocus(Allowed); } void Workspace::clientShortcutUpdated(Client* c) From 0bd6e413b2136f7cbdc906691ea4c0f50a350932 Mon Sep 17 00:00:00 2001 From: Script Kiddy Date: Wed, 13 Feb 2013 00:36:34 +0100 Subject: [PATCH 7/7] SVN_SILENT made messages (.desktop file) --- data/fsp_workarounds_1.kwinrules | 4 ++-- effects/dialogparent/dialogparent.desktop | 2 +- effects/flipswitch/flipswitch.desktop | 4 ++-- effects/flipswitch/flipswitch_config.desktop | 2 +- effects/magnifier/magnifier.desktop | 2 +- effects/mouseclick/mouseclick.desktop | 4 ++-- effects/mouseclick/mouseclick_config.desktop | 2 +- effects/mousemark/mousemark.desktop | 2 +- effects/mousemark/mousemark_config.desktop | 2 +- effects/trackmouse/trackmouse.desktop | 4 ++-- effects/trackmouse/trackmouse_config.desktop | 2 +- kcmkwin/kwinoptions/kwinactions.desktop | 2 +- kwin.notifyrc | 4 ++-- 13 files changed, 18 insertions(+), 18 deletions(-) diff --git a/data/fsp_workarounds_1.kwinrules b/data/fsp_workarounds_1.kwinrules index d1b2dde2ed..ef4753c598 100644 --- a/data/fsp_workarounds_1.kwinrules +++ b/data/fsp_workarounds_1.kwinrules @@ -7,7 +7,7 @@ Description[bg]=(По подразбиране) Изключване откра Description[bs]=(Podrazumijevano) Isključi zaštitu od krađe fokusa za IksV Description[ca]=(Per omissió) Desactiva la prevenció de robatori del focus a l'XV Description[ca@valencia]=(Per omissió) Desactiva la prevenció de robatori del focus a l'XV -Description[cs]=(Výchozí) Vypnout ochranu proti vyskakování oken do popředí v XV +Description[cs]=(Výchozí) Vypnout prevenci ztráty zaměření v XV Description[csb]=(Domëslno) Wëłãczô przejãcé aktiwòwaniô dlô XV Description[da]=(Standard) Deaktivér forhindring af fokustyveri for XV Description[de]=(Standard) Aktivierungsübernahme verhindern für XV @@ -42,7 +42,7 @@ Description[lt]=(Numatyta) Išjungti XV fokuso praradimo prevenciją Description[lv]=(Noklusējums) Atslēgt fokusa zagšanas aizsardzību priekš XV Description[mai]=(पूर्वनिर्धारित) एक्स वी क' लेल फोकस स्टीलिंग प्रीवेंशनकेँ अक्षम करैत अछि Description[ml]=(സഹജം) എക്സ്‌വിയ്ക്കു് വേണ്ടി ഫോക്കസ് മോഷണം പ്രവര്‍ത്തനരഹിതമാക്കുക -Description[mr]=(मुलभूत) XV करिता "लक्ष केंद्रीत करण्यास परावृत्त करणे" हे अकार्यान्वित करतो +Description[mr]=(मूलभूत) XV करिता "लक्ष केंद्रीत करण्यास परावृत्त करणे" हे अकार्यान्वित करतो Description[nb]=(Standard) Tillat XV å stjele fokus Description[nds]=(Standard) För XV de Fokusverleer-Schuul utmaken Description[ne]=(पूर्वनिर्धारण) XV का लागि फोकस चोरी भइरहेको रोकथाम अक्षम गर्नुहोस् diff --git a/effects/dialogparent/dialogparent.desktop b/effects/dialogparent/dialogparent.desktop index 2dd7f61d88..b5711213d2 100644 --- a/effects/dialogparent/dialogparent.desktop +++ b/effects/dialogparent/dialogparent.desktop @@ -42,7 +42,7 @@ Name[lt]=Dialogo savininkas Name[lv]=Dialoga vecāks Name[mai]=मूल संवाद Name[ml]=മാതൃജാലകം -Name[mr]=मुळ संवाद +Name[mr]=मूळ संवाद Name[nb]=Dialog-mor Name[nds]=Överornt Finster Name[ne]=प्रमूल संवाद diff --git a/effects/flipswitch/flipswitch.desktop b/effects/flipswitch/flipswitch.desktop index bb8f7a20eb..3c90b436ee 100644 --- a/effects/flipswitch/flipswitch.desktop +++ b/effects/flipswitch/flipswitch.desktop @@ -39,7 +39,7 @@ Name[lt]=Kartotekos imitacijos keitiklis Name[lv]=Flip pārslēdzējs Name[mai]=स्विच पलटू Name[ml]=ഫ്ലിപ് സ്വിച്ച് -Name[mr]=फ्लिप स्विच +Name[mr]=पलटी करून बदल Name[nb]=Bla-bytter Name[nds]=Dreihwesseln Name[nl]=Flip Switch @@ -107,7 +107,7 @@ Comment[ko]=스택에 쌓여 있는 창을 Alt+Tab 창 전환기를 통하여 Comment[lt]=Rodo langus kaip kartotekos korteles naudojant Alt+Tab langų keitimo būdą Comment[lv]=Pālūko logus sakrautus kaudzē Alt+Tabl logu pārslēdzējā Comment[ml]=ജാലക സ്വിച്ചര്‍ - alt+tab ഉപയോഗിച്ചു് ഒരു സ്റ്റാക്കിലുള്ള ജാലകങ്ങള്‍ തമ്മില്‍ മാറ്റുക. -Comment[mr]=alt+tab हा चौकट बदलणारा शॉर्टकट वापरताना चौकटी फ्लिप करा +Comment[mr]=alt+tab हा चौकट बदलणारा शॉर्टकट वापरताना चौकटी पलटी करा Comment[nb]=Bla gjennom vinduer som ligger stablet, for alt+tab-vindusbytteren Comment[nds]=Dör de Finstern gahn, de för't Wesseln mit Alt+Tabtast opstapelt sünd Comment[nl]=Laat de vensters gestapeld zien tijdens het wandelen door de vensters via Alt+Tab diff --git a/effects/flipswitch/flipswitch_config.desktop b/effects/flipswitch/flipswitch_config.desktop index 0386a22241..b6835b326e 100644 --- a/effects/flipswitch/flipswitch_config.desktop +++ b/effects/flipswitch/flipswitch_config.desktop @@ -46,7 +46,7 @@ Name[lt]=Kartotekos imitacijos keitiklis Name[lv]=Flip pārslēdzējs Name[mai]=स्विच पलटू Name[ml]=ഫ്ലിപ് സ്വിച്ച് -Name[mr]=फ्लिप स्विच +Name[mr]=पलटी करून बदल Name[nb]=Bla-bytter Name[nds]=Dreihwesseln Name[nl]=Flip Switch diff --git a/effects/magnifier/magnifier.desktop b/effects/magnifier/magnifier.desktop index 3aa81df4a1..c593fe83b8 100644 --- a/effects/magnifier/magnifier.desktop +++ b/effects/magnifier/magnifier.desktop @@ -126,7 +126,7 @@ Comment[lt]=Padidina ekrano dalį, esančią netoli pelės Comment[lv]=Rāda palielinātu daļu no ekrāna zem peles kursora Comment[mk]=Го зголемува делот од екранот што е близу покажувачот од глушецот Comment[ml]=മൌസിനടുത്തുള്ള സ്ക്രീനിന്റെ ഭാഗം വലുതാക്കിക്കാണിക്കുന്നു. -Comment[mr]=माउस कर्सरच्या जवळील स्क्रीनचा भाग मोठा करा +Comment[mr]=माऊस कर्सरच्या जवळील स्क्रीनचा भाग मोठा करा Comment[nb]=Forstørrer den delen av skjermen som er nær musepekeren Comment[nds]=Den Deel vun den Schirm rund den Muuswieser grötter maken Comment[nl]=Vergroot het deel van het scherm dat zich onder de muis bevindt diff --git a/effects/mouseclick/mouseclick.desktop b/effects/mouseclick/mouseclick.desktop index 9e04f9a55a..0dbbea31c2 100644 --- a/effects/mouseclick/mouseclick.desktop +++ b/effects/mouseclick/mouseclick.desktop @@ -19,7 +19,7 @@ Name[it]=Animazione del clic del mouse Name[kk]=Тышқанды түрту анимациясы Name[ko]=마우스 클릭 애니메이션 Name[lt]=Spragtelėjimo pele animacija -Name[mr]=माउस क्लिक ऍनीमेशन +Name[mr]=माऊस क्लिक ऍनीमेशन Name[nb]=Animer ved museklikk Name[nl]=Animatie van muisklik Name[pa]=ਮਾਊਸ ਕਲਿੱਕ ਐਨੀਮੇਸ਼ਨ @@ -59,7 +59,7 @@ Comment[ia]=Crea un animation quando un button de mus es pressate. Isto es util Comment[it]=Crea un'animazione ogni volta che viene premuto un pulsante del mouse. Utile per registrazioni dello schermo o presentazioni. Comment[kk]=Тышқанның батырмасын түрткенде анимацияны жасайды.Экраннан демонстацияны түсіргнде/презентацияны жасағанда ыңғайлы. Comment[ko]=마우스 단추를 눌렀을 때 애니메이션을 표시합니다. 화면 녹화/프리젠테이션에서 유용합니다. -Comment[mr]=जेव्हा माउस बटन क्लिक केले जाईल तेव्हा ऍनीमेशन करा. स्क्रीन रेकोर्डींग व प्रेझेंटेशनच्या वेळी हे उपयोगी आहे. +Comment[mr]=जेव्हा माऊस बटन क्लिक केले जाईल तेव्हा ऍनीमेशन करा. स्क्रीन रेकोर्डींग व प्रेझेंटेशनच्या वेळी हे उपयोगी आहे. Comment[nb]=Lager en animasjon hver gang en museknapp trykkes. Dette er nyttig for skjermopptak/presentasjoner. Comment[nl]=Maakt een animatie wanneer een op een muisknop wordt geklikt. Dit is nuttig voor schermopnamen/presentaties. Comment[pl]=Tworzy animację przy każdym kliknięciu myszy. Jest to użyteczne przy nagrywaniu ekranu/prezentacjach diff --git a/effects/mouseclick/mouseclick_config.desktop b/effects/mouseclick/mouseclick_config.desktop index 26bbdcafb7..cae09ac21d 100644 --- a/effects/mouseclick/mouseclick_config.desktop +++ b/effects/mouseclick/mouseclick_config.desktop @@ -26,7 +26,7 @@ Name[it]=Animazione del clic del mouse Name[kk]=Тышқанды түрту анимациясы Name[ko]=마우스 클릭 애니메이션 Name[lt]=Spragtelėjimo pele animacija -Name[mr]=माउस क्लिक ऍनीमेशन +Name[mr]=माऊस क्लिक ऍनीमेशन Name[nb]=Animer ved museklikk Name[nl]=Animatie van muisklik Name[pa]=ਮਾਊਸ ਕਲਿੱਕ ਐਨੀਮੇਸ਼ਨ diff --git a/effects/mousemark/mousemark.desktop b/effects/mousemark/mousemark.desktop index 9bc7a23e26..2983987b84 100644 --- a/effects/mousemark/mousemark.desktop +++ b/effects/mousemark/mousemark.desktop @@ -45,7 +45,7 @@ Name[lv]=Peles zīmēšana Name[mai]=माउस मार्क Name[mk]=Цртање со глушец Name[ml]=മൌസിന്റെ അടയാളം -Name[mr]=माउस मार्क +Name[mr]=माऊस मार्क Name[nb]=Musemerke Name[nds]=Muus-Mark Name[ne]=माउस मार्क diff --git a/effects/mousemark/mousemark_config.desktop b/effects/mousemark/mousemark_config.desktop index 184d4c9dc5..6cdee2f8de 100644 --- a/effects/mousemark/mousemark_config.desktop +++ b/effects/mousemark/mousemark_config.desktop @@ -52,7 +52,7 @@ Name[lv]=Peles zīmēšana Name[mai]=माउस मार्क Name[mk]=Цртање со глушец Name[ml]=മൌസിന്റെ അടയാളം -Name[mr]=माउस मार्क +Name[mr]=माऊस मार्क Name[nb]=Musemerke Name[nds]=Muus-Mark Name[ne]=माउस मार्क diff --git a/effects/trackmouse/trackmouse.desktop b/effects/trackmouse/trackmouse.desktop index 0c3f185e54..1634258d53 100644 --- a/effects/trackmouse/trackmouse.desktop +++ b/effects/trackmouse/trackmouse.desktop @@ -46,7 +46,7 @@ Name[lv]=Sekot pelei Name[mai]=माउस ट्रैक करू Name[mk]=Следење на глушецот Name[ml]=മൌസിനെ നിരീക്ഷിക്കുക -Name[mr]=माउसचा मागोवा घ्या +Name[mr]=माऊसचा मागोवा घ्या Name[nb]=Spor mus Name[nds]=Muusspoor Name[ne]=ट्रयाक माउस @@ -122,7 +122,7 @@ Comment[lt]=Rodo pelės žymeklio vietos nustatymo efektą Comment[lv]=Kad aktivizēts, rāda peles kursora atrašanās vietu Comment[mk]=Прикажува ефект за лоцирање на покажувачот на глушецот Comment[ml]=സജീവമാക്കുമ്പോള്‍ മൌസ് കര്‍സറിന്റെ സ്ഥാനം കാണിക്കുന്ന എഫക്ട് കാണിക്കുക -Comment[mr]=सक्रिय केल्यावर माउस कर्सर शोध परिणाम दर्शवा +Comment[mr]=सक्रिय केल्यावर माऊस कर्सर शोध परिणाम दर्शवा Comment[nb]=Vis en effekt som finner musepekeren når dette er slått på Comment[nds]=Wenn anmaakt, de Steed vun den Muuswieser rutheven Comment[nl]=Toont de positie van de muisaanwijzer wanneer geactiveerd diff --git a/effects/trackmouse/trackmouse_config.desktop b/effects/trackmouse/trackmouse_config.desktop index f5e15aecaf..6e135af7eb 100644 --- a/effects/trackmouse/trackmouse_config.desktop +++ b/effects/trackmouse/trackmouse_config.desktop @@ -53,7 +53,7 @@ Name[lv]=Sekot pelei Name[mai]=माउस ट्रैक करू Name[mk]=Следење на глушецот Name[ml]=മൌസിനെ നിരീക്ഷിക്കുക -Name[mr]=माउसचा मागोवा घ्या +Name[mr]=माऊसचा मागोवा घ्या Name[nb]=Spor mus Name[nds]=Muusspoor Name[ne]=ट्रयाक माउस diff --git a/kcmkwin/kwinoptions/kwinactions.desktop b/kcmkwin/kwinoptions/kwinactions.desktop index 652092893a..6f2d2c7557 100644 --- a/kcmkwin/kwinoptions/kwinactions.desktop +++ b/kcmkwin/kwinoptions/kwinactions.desktop @@ -151,7 +151,7 @@ Comment[lv]=Šeit jūs varat konfigurēt tastatūras un peles parametrus Comment[mai]=कुंजीपट आओर माउस सेटिंग बिन्यस्त करू Comment[mk]=Конфигурирајте ги поставувањата на тастатурата и глушецот Comment[ml]=കീബോര്‍ഡ്, മൌസ് സജ്ജീകരണങ്ങള്‍ ക്രമീകരിക്കുക -Comment[mr]=कळफलक व माउस संयोजना संयोजीत करा +Comment[mr]=कळफलक व माऊस संयोजना संयोजीत करा Comment[nb]=Innstillinger for tastatur og mus Comment[nds]=Tastatuur un Muus instellen Comment[ne]=कुञ्जीपाटी र माउस सेटिङ कन्फिगर गर्नुहोस् diff --git a/kwin.notifyrc b/kwin.notifyrc index 39c5e5b19f..00550fc19b 100644 --- a/kwin.notifyrc +++ b/kwin.notifyrc @@ -4792,7 +4792,7 @@ Name[lt]=Panaikinti lango sumažinimą Name[lv]=Loga atminimizēšana Name[mk]=Врати прозорец Name[ml]=ജാലകം ചെറുതാക്കിയത് ഒഴിവാക്കുക -Name[mr]=चौकट मुळ स्थितीत आणा +Name[mr]=चौकट मूळ स्थितीत आणा Name[nb]=Vindu tilbakestilles Name[nds]=Finster wedderherstellen Name[ne]=सञ्झ्याललाई सानो नबनाउनुहोस् @@ -5127,7 +5127,7 @@ Name[lt]=Sumažinti langą Name[lv]=Loga atmaksimizēšana Name[mk]=Одрашири прозорец Name[ml]=ജാലകം വലുതാക്കിയതൊഴിവാക്കുക -Name[mr]=चौकट मुळ स्थितीत आणा +Name[mr]=चौकट मूळ स्थितीत आणा Name[nb]=Vindu ikke maksimert Name[nds]=Finster demaximeren Name[ne]=सञ्झ्याल ठूलो नबनाउनुहोस्