- 13 Sep, 2022 1 commit
-
-
re-trigger the edge *only* if the user keeps the mouse still for at least edges()->reActivationThreshold() - edges()->timeThreshold() so that the user has to actually keep moving. if the user keeps moving the cursor in the direction of the edge, it wion't continuously retrigger it BUG:457280
-
- 11 Sep, 2022 6 commits
-
-
Vlad Zahorodnii authored
This reverts commit d29c7a6c. It was pushed with unreviewed changes and not fully resolved issues.
-
Vlad Zahorodnii authored
This reverts commit bc15b72e. It was pushed with unreviewed changes and not fully resolved issues.
-
Vlad Zahorodnii authored
This reverts commit 5de6c507. It was pushed with unreviewed changes and not fully resolved issues.
-
Eric Edlund authored
-
Eric Edlund authored
I've added VerticalAxis, HorizontalAxis, DirectionlessSwipe and BiDirectionalPinch gestures directions. These are all combinations of other gesture directions that semantically work well together. I've implemented these gestures as well as changed some labels and improved documentation, Also, Add vector signal to SwipeGesture
-
Eric Edlund authored
- Now only 1 GestureDirection enum - Now only 1 registerGesture() call - The 4 kinds of gesture (Pinch/Swipe) and (Touchpad/Touchscreen) in globalshortcuts.h/cpp are merged into 1 GestureShortcut - Change from range to set of finger counts in gestures No behavior should change, just a refactor.
-
- 06 Sep, 2022 1 commit
-
-
Vlad Zahorodnii authored
Things such as Output, InputDevice and so on are made to be multi-purpose. In order to make this separation more clear, this change moves that code in the core directory. Some things still link to the abstraction level above (kwin), they can be tackled in future refactors. Ideally code in core/ should depend either on other code in core/ or system libs.
-
- 02 Aug, 2022 1 commit
-
-
Xaver Hugl authored
-
- 21 Jul, 2022 1 commit
-
-
Vlad Zahorodnii authored
This change adjusts the window management abstractions in kwin for the drm backend providing more than just "desktop" outputs. Besides that, it has other potential benefits - for example, the Workspace could start managing allocation of the placeholder output by itself, thus leading to some simplifications in the drm backend. Another is that it lets us move wayland code from the drm backend.
-
- 14 Jul, 2022 1 commit
-
-
David Edmundson authored
With fractional scaling integer based logical geometry may not match device pixels. Once we have a floating point base we can fix that. This also is important for our X11 scale override, with a scale of 2 we could get logical sizes with halves. We already have all input being floating point, this doubles down on it for all remaining geometry. - Outputs remain integer to ensure that any screen on the right remains aligned. - Placement also remains integer based for now. - Repainting is untouched as we always expand outwards (QRectF::toAdjustedRect(). - Decoration is untouched for now - Rules are integer in the config, but floating in the adjusting/API This should also be fine. At some point we'll add a method to snap to the device pixel grid. Effectively `round(value * dpr) / dpr` though right now things mostly work. This also gets rid of a lot of hacks for QRect right and bottom which are very confusing. Parts to watch out in the port are: QRectF::contains now includes edges QRectF::right and bottom are now sane so previous hacks have to be removed QRectF(QPoint, QPoint) behaves differently for the same reason QRectF::center too In test results some adjusted values which are the result of QRect.center because using QRectF's center should behave the same to the user.
-
- 13 Jun, 2022 1 commit
-
-
Vlad Zahorodnii authored
Currently, if the screen edge is blocked and the cursor is inside its approach geometry, kwin is going to paint screen edge glow. It doesn't look good and it can have some performance penalties with fullscreen video games because the direct scanout path will be blocked. BUG: 454503
-
- 04 Jun, 2022 1 commit
-
-
Xaver Hugl authored
There are a few benefits to using smart pointers from the standard library: - std::unique_ptr has move semantics. With move semantics, transfer of ownership can be properly expressed - std::shared_ptr is more efficient than QSharedPointer - more developers are used to them, making contributions for newcomers easier We're also already using a mix of both; because Qt shared pointers provide no benefits, porting to standard smart pointers improves consistency in the code base. Because of that, this commit ports most of the uses of QSharedPointer to std::shared_ptr, and some uses of QScopedPointer to std::unique_ptr
-
- 25 May, 2022 1 commit
- 24 May, 2022 1 commit
- 11 May, 2022 1 commit
-
-
Aleix Pol Gonzalez authored
At the moment we trigger the edges even when the active window is full screen which is unfortunate when running certain games, for example when you're attacking the village at the north-east in Age of Empires and you have the Overview effect on. This changes the default to inhibit them (like we used to just do for sides but not corners for some reason) and adds a checkbox to restore them even in that case. BUG: 441464
-
- 10 May, 2022 1 commit
-
-
- 03 May, 2022 1 commit
-
-
Marco Martin authored
Possibility to implement realtime screenedges gestures in scripted effects, implement it in the windowsaperture show desktop effect. * Expose registerRealtimeScreenEdge to JavaScript, the callback will be a JS function. * Add the concept of freezeInTime() in the animation js bindings, it will either create an animation frozen at a given time or freeze a running animation that can be restored and ran to completition at any time * add an edges property only for showdesktop as it's not directly on the effect configuration
-
- 25 Apr, 2022 1 commit
-
-
Vlad Zahorodnii authored
-
- 23 Apr, 2022 1 commit
-
-
Vlad Zahorodnii authored
The word "client" means different things in wayland and kwin. Use a better word to refer to windows.
-
- 22 Apr, 2022 1 commit
-
-
- 15 Apr, 2022 1 commit
-
-
Vlad Zahorodnii authored
AbstractOutput is not so Abstract and it's common to avoid the word "Abstract" in class names as it doesn't contribute any new information. It also significantly reduces the line width in some places.
-
- 28 Mar, 2022 1 commit
-
-
Vlad Zahorodnii authored
This fixes style issues in old code.
-
- 25 Mar, 2022 1 commit
-
-
Vlad Zahorodnii authored
The .clang-format file is based on the one in ECM except the following style options: - AlwaysBreakBeforeMultilineStrings - BinPackArguments - BinPackParameters - ColumnLimit - BreakBeforeBraces - KeepEmptyLinesAtTheStartOfBlocks
-
- 22 Mar, 2022 1 commit
-
-
support realtime activation for screenedges gestures, making it possible for effects to show half-triggered states while dragging from the edge with a finger, making them much more usable
-
- 15 Mar, 2022 1 commit
-
-
- 28 Feb, 2022 1 commit
-
-
Alex Richardson authored
This ensures that we get a warning if the config header is not included instead of compiling the code as if it was disabled. Interestingly, some checks already used #if KWIN_BUILD_*, so those were generating -Wundef warnings when the feature is disabled. Commit 886173ca assumed that all those features were already 01, so this unbreaks the build if any of the features is disabled. Fixes: 886173ca ("Reduce ifdefs in Workspace::supportInformation()")
-
- 23 Feb, 2022 1 commit
-
-
Kai Uwe Broulik authored
Allows to build KWin without lockscreen support and thus drops the kscreenlocker dependency. Signed-off-by:
Eike Hein <eike.hein@mbition.io>
-
- 25 Jan, 2022 1 commit
-
-
Vlad Zahorodnii authored
-
- 08 Dec, 2021 1 commit
-
-
Vlad Zahorodnii authored
-
- 06 Oct, 2021 1 commit
-
-
Andrey Butirsky authored
Edge geometry has width and height, so we need the correction for approach geometry of bottom and right corners. The other edges are fixed as well. BUG: 442973
-
- 20 Sep, 2021 1 commit
-
-
- 31 Aug, 2021 2 commits
-
-
-
Vlad Zahorodnii authored
-
- 30 Aug, 2021 2 commits
-
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
Due to the screen edges test not being an integration test, it's very hard to change output related code in libkwin. screens.cpp needs to have a few ifdefs to successfully compile. This change rewrites the screen edges test as an integration test in order to allow us using other components of kwin in screens.cpp and screenedge.cpp without ifdef guards. It's not a one-to-one port.
-
- 16 Aug, 2021 1 commit
-
-
Vlad Zahorodnii authored
This ports relevant apis in WindowRules to the VirtualDesktop class. If the client has no desktop rule, the desktop list that has been passed to the checkDesktops() function will be returned. If the client has a desktop window rule, the checkDesktop() function will return a list with a single VirtualDesktop object or none if the window is forced to be on all virtual desktops.
-
- 08 Jun, 2021 1 commit
-
-
Vlad Zahorodnii authored
In C++20, there will be emit() class member, which can conflict with the emit keyword. Given that, there are plans to enable QT_NO_KEYWORDS by default in the future. See also https://lists.qt-project.org/pipermail/development/2020-February/038812.html
-
- 16 May, 2021 1 commit
-
-
Vlad Zahorodnii authored
This is to improve code readability and make it easier to differentiate between methods that are used during interactive move-resize and normal move-resize methods in the future.
-
- 10 Feb, 2021 1 commit
-
-
Vlad Zahorodnii authored
Once in a while, we receive complaints from other fellow KDE developers about the file organization of kwin. This change addresses some of those complaints by moving all of source code in a separate directory, src/, thus making the project structure more traditional. Things such as tests are kept in their own toplevel directories. This change may wreak havoc on merge requests that add new files to kwin, but if a patch modifies an already existing file, git should be smart enough to figure out that the file has been relocated. We may potentially split the src/ directory further to make navigating the source code easier, but hopefully this is good enough already.
-