Commit graph

23672 commits

Author SHA1 Message Date
l10n daemon script
b18a3b3625 GIT_SILENT Sync po/docbooks with svn 2022-12-04 02:08:51 +00:00
l10n daemon script
2f49029e40 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-04 01:50:24 +00:00
Hongfei Shang
ebafdc4400 [x11] root window support _NET_WM_WINDOW_OPACITY
java gui will check this property on root window.

see:
6b55ef3b58/src/java.desktop/unix/classes/sun/awt/X11/XNETProtocol.java (L328)

Signed-off-by: Hongfei Shang <shanghongfei@kylinos.cn>
2022-12-03 17:09:18 +00:00
Xaver Hugl
09a41d3851 workspace: slightly simplify tilemanager interactions 2022-12-03 15:33:23 +00:00
Vlad Zahorodnii
7939352fb7 backends/x11: Provide a cursor per output
The main motivation behind this change is to allow setting the cursor
per output, which eases up implementing things such as cursor output layers.

It also has another advantage - output related code is more
encapsulated. Furthermore, we could decouple output backends from Cursor.
2022-12-03 15:17:49 +00:00
Xaver Hugl
6e6caa1021 workspace: move desktopResized after adding new outputs
Otherwise it crashes because the tile manager on the added outputs don't
exist yet

BUG: 462568
2022-12-03 15:42:40 +01:00
Vlad Zahorodnii
d93b1d4943 effects/tileseditor: Specify effect chain pos
The explicit effect chain position is needed to ensure that the effect
is properly ordered with other effects such as screenshot.
2022-12-03 13:02:29 +00:00
Jan Grulich
47732c54b6 Screencast: properly renegotiate stream when window size changes
We need to completely renegotiate stream parameters in case of window
size gets changed, otherwise no renegotiation will happen and clients
will not accommodate to our changes.

Fixes: https://github.com/obsproject/obs-studio/issues/7875
2022-12-03 02:40:30 +00:00
l10n daemon script
75720785a0 GIT_SILENT Sync po/docbooks with svn 2022-12-03 02:15:33 +00:00
l10n daemon script
0c6d62a2ec SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-03 01:55:31 +00:00
Natalie Clarius
8ebe9c7981 kconf_update: replace cascaded by zero-cornered placement 2022-12-02 14:05:32 +00:00
Natalie Clarius
b6412454c2 placement: remove cascaded placement policy
becomes redundant with cascade-if-covering for zero-cornered placement
2022-12-02 14:05:32 +00:00
Natalie Clarius
b08ef54727 placement: apply cascade-if-covering to placement modes: random, centered, zero-cornered, under mouse 2022-12-02 14:05:32 +00:00
Natalie Clarius
274922caaf placement: cascade if window would completely overlap another window
BUG: 58063
2022-12-02 14:05:32 +00:00
Harald Sitter
bcfd735808 effects/screenshot: offer an opt out of permission checking
in a CI context the paths are mutable between installation and use
and as such the permission checks can just not ever work. for use
in such scenarios allow completely disabling the permission checks
2022-12-02 10:58:05 +00:00
Vlad Zahorodnii
0047dfc596 backends/wayland: Drop WaylandBackend::getOutputAt()
It's unused.
2022-12-02 08:49:04 +00:00
Xaver Hugl
00b21992c4 backends/drm: don't leak gbm surface if creating egl surface fails 2022-12-02 08:28:46 +00:00
l10n daemon script
07a2ef4273 GIT_SILENT Sync po/docbooks with svn 2022-12-02 03:11:46 +00:00
l10n daemon script
c0461f6b48 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-02 02:02:52 +00:00
Vlad Zahorodnii
245dcd2b80 backends/wayland: Provide a cursor per output
It allows us to track cursor state per output and make it more
straightforward to introduce cursor layers in general.
2022-12-01 16:46:27 +00:00
Marco Martin
68517a5806 remove unused member variable 2022-12-01 16:59:27 +01:00
Marco Martin
e4507861f7 Custom quick tiling with configuration ui
* Allow to do quick tiling to custom tile geometries, windows will be snapped to tiles when dragged with the shift modifier pressed.
* Tile geometries are screen specific.
* The global shortcut Meta+T will trigger a fullscreen configuration ui as a QML effect for the tiles which allows to add, remove and resize tiles
* UI and behavior is a bit similar to the Windows Fancy Zones addon: https://docs.microsoft.com/en-us/windows/powertoys/fancyzones
* Its main scope is to help the workflow with very big monitors, especially ultra wide ones, where most application don't make sense maximized to the full screen (eventually also support games to be full screened to a given tile instead of the whole screen)
* it should get also some bindings for scripting, as its ain goal is not to replicate other popular tiling window managers, but should give the popular kwin tiling scripts to have a more robust infrastructure
* it will eventually get support for a set of predefined layouts, but this is for a second phase

BUG: 438788
2022-12-01 14:39:22 +00:00
Samuel Dionne-Riel
81ff7e6316 libinput/connection: Ensure touchpad defaults are used
The previous logic would set `defaults` to the last found group.

Since a touchpad is a pointer, it would set `defaults` to point
to `[Libinput][Defaults][Pointer]`, and thus the next clause would
try to find `[Libinput][Defaults][Pointer][Touchpad]`, instead of the
expected `[Libinput][Defaults][Touchpad]`. That is, only if a default
was set for Pointer.

Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
2022-12-01 12:31:02 +00:00
Nicolas Fella
5cab7c79b4 Revert "plugins/idletime: Adjust the poller to deprecation of simulateUserActivity()"
simulateUserActivity was un-deprecated

This reverts commit 4610aaf614.
2022-12-01 10:24:11 +00:00
Vlad Zahorodnii
8d04733682 plugins/nightcolor: Register its own service name
In order to make monitoring Night Color appearing and disappearing robust,
make Night Color register its own dbus service.

CCBUG: 428854
2022-12-01 09:56:15 +00:00
Nicolas Fella
a6a022f00f Port away from deprecated KWindowSystem API 2022-12-01 08:08:54 +00:00
l10n daemon script
1d640cc013 GIT_SILENT Sync po/docbooks with svn 2022-12-01 02:08:42 +00:00
l10n daemon script
3e13c516c4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-01 01:50:26 +00:00
Vlad Zahorodnii
7c0cdcf472 backends/wayland: Fix input timestamp in relative motion events
RelativePointer::relativeMotion already provides us timestamps with
microseconds granularity, so we need to convert timestamps in vice versa
order.
2022-11-30 11:20:39 +00:00
l10n daemon script
a93ccbd7e7 GIT_SILENT Sync po/docbooks with svn 2022-11-29 02:12:05 +00:00
l10n daemon script
e691c169de SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-11-29 01:51:31 +00:00
l10n daemon script
f0660a01dc GIT_SILENT Sync po/docbooks with svn 2022-11-28 02:12:17 +00:00
Vlad Zahorodnii
65cd40e85d backends/wayland: Call wl_pointer.set_cursor when pointer enters an output
We must always call wl_pointer.set_cursor when the pointer enters the
surface.
2022-11-27 11:30:03 +00:00
Vlad Zahorodnii
c784217eae backends/wayland: Use software cursor when pointer is locked
Currently, if the pointer is locked, the wayland backend will create a
subsurface. However, when the cursor moves to one of the screen edges,
it looks weird because the xdg window geometry is computed as bounding
geometry of the main surface and its subsurfaces. However, even after
calling xdg_surface.set_window_geometry, it still looks weird because
subsurfaces are stacked above window decoration.

With the proposed change, when the pointer is locked, the wayland
backend will hide the host compositor and use the software cursor. If
the pointer is unlocked, it will go back to using host cursor.

Long term goal is to make every output have its own cursor to make
output layer logic simpler.
2022-11-27 11:30:03 +00:00
l10n daemon script
2fd9cc4fc1 GIT_SILENT Sync po/docbooks with svn 2022-11-27 02:05:46 +00:00
Luigi Toscano
c18a0b80bf Install translated documentation from po/ too
... when KDocTools is found.
2022-11-27 00:05:59 +01:00
Vlad Zahorodnii
711cdc7825 backends/wayland: Try to reallocate output layer data on beginFrame()
Mesa's implementation of wl_egl_window_resize() is pretty smart. It
avoids immediately resizing the buffers. On the other hand, its API
doesn't enforce that behavior and other implementations of wayland-egl
may choose to use a different strategy.

This change moves wl_egl_window_resize() to beginFrame() to make buffer
resizing handling more nicer. Also, for the record, the drm backend
works in similar fashion.
2022-11-26 13:54:22 +02:00
Vlad Zahorodnii
d8c42ec540 backends/wayland: Simplify pointer locking
At the moment, once the first output gets pointer locked, other outputs
release their locks. It's unnecessary, other outputs can keep their locks.
2022-11-26 11:36:02 +00:00
l10n daemon script
613cedcc15 GIT_SILENT Sync po/docbooks with svn 2022-11-26 02:06:16 +00:00
l10n daemon script
79b35e1070 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-11-26 01:50:13 +00:00
Vlad Zahorodnii
7a1f97754f wayland: Simplify implementation of xdg_toplevel.set_minimized 2022-11-25 07:43:45 +00:00
Vlad Zahorodnii
0987b55cdd wayland: Prefer input()->pointer()->pos() over cursor pos
On Wayland, the cursor primarily visual role, not functional.
Interactive move resize should get the position from the corresponding
input device.
2022-11-25 07:43:45 +00:00
l10n daemon script
777c2bdb18 GIT_SILENT Sync po/docbooks with svn 2022-11-25 02:13:15 +00:00
l10n daemon script
738820d438 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-11-25 01:51:47 +00:00
Vlad Zahorodnii
9e97c7383c Add support for DecoratedClient::windowClass() 2022-11-24 10:18:05 +00:00
Vlad Zahorodnii
b867f76d41 backends/wayland: Stop forwarding keymap and modifiers
These concepts are hard to map to InputDevice abstractions, so remove
them and let kwin use its own internal keymap instead (rather than
get it overridden by the host compositor's keymap) and track modifiers
based on the events it receives.

If the goal is to have these at any cost, I think the way out of it
would be to provide wayland backend specific signals. I would like to
avoid doing that though because it breaks encapsulation and we would
need some casts in kwin to wire in these events.
2022-11-24 09:34:53 +00:00
l10n daemon script
c1ecce9ec3 GIT_SILENT Sync po/docbooks with svn 2022-11-24 02:08:12 +00:00
l10n daemon script
d4b6c8f911 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-11-24 01:51:45 +00:00
Vlad Zahorodnii
b4569f5985 Add ShapeCursorSource
ShapeCursorSource provides the contents of the given cursor shape in the
Xcursor theme.

If the given cursor shape is animated, ShapeCursorSource will keep
updating its content based on the value of current sprite's delay value.
2022-11-23 20:10:59 +00:00
Vlad Zahorodnii
e552be6cb1 Add CursorSource
CursorSource acts as a black box providing the contents of the cursor.
That's it, the image and the hotspot.
2022-11-23 20:10:59 +00:00