Commit graph

14838 commits

Author SHA1 Message Date
Akseli Lahtinen
a2a72d5e13 Positioner: Remove invalid or nonexistant files
Adds a signal so that whenever a file is deleted/moved to trash, we
know to remove it from positioner configuration.

On listing completion, we now get a list of items that actually
exist, so that positioner can remove the extraneous files.

Iterate over all resolutions and skip files that do not exist
in our position array during saving.

BUG: 469445
CCBUG: 507079
FIXED-IN: 6.8.3
2026-10-27 14:57:08 +02:00
Niccolò Venerandi
761476d81b applets/kickoff: Tie sidebar item spacing to the compact list style
BUG: 524003
2026-10-27 11:08:04 +01:00
Ramil Nurmanov
6bb1998379 taskmanager: Use a single loader for tooltip thumbnails 2026-10-27 09:41:17 +00:00
Ramil Nurmanov
376e7e7e63 taskmanager: Hide previews of capture-excluded windows 2026-10-27 09:41:17 +00:00
l10n daemon script
474751ac51 GIT_SILENT Sync po/docbooks with svn 2026-10-27 02:22:44 +00:00
l10n daemon script
7ab21c175a 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"
2026-10-27 02:06:16 +00:00
Nate Graham
b4c0de304f applets/taskmanager: wrap labels anywhere
Previously we were using Text.Wrap, which means "prefer word boundaries
for wrapping, but wrap in the middle of a word if that's impossible".

In Qt 6.12, dashes and em-dashes are now more aggressively considered to
be word boundaries. There's nothing wrong per se about this change, but
it doesn't work super well for the task manager where there's a lot of
punctuation and space is very limited. So let's switch to
Text.WrapAnywhere to maximize space efficiency.

BUG: 526972
FIXED-IN: 6.8.2
2026-10-26 17:23:09 -04:00
Sebastian Sauer
689b35bad8 dwellclicker: fix after click keep open when pinned
When the "Keep Open" button pins the Dwell Clicker window
then choosing the next type of click should not close
the applets window.

This enables to pin the window and use it as floating
dwellclicker window to switch between the clicks saving
one additional click otherwise needed.
2026-10-26 10:39:45 -04:00
Marcin Krycki
bc0c80db4b applets/kicker: use the containment's screen for the popup size limit
When the screen with the panel goes away for a moment, for example when
the monitor is turned on only after the computer has resumed, the panel
is moved to another screen and back. When the popup is shown afterwards,
its Screen attached property still refers to the other screen, so the
height is limited by that screen. Screen is updated right after that,
but the popup keeps the smaller size and the menu stays too short, also
when it is opened again.

It only shows when the other screen is small enough. In my setup the
panel is on a 2560x1440 screen and a 1024x600 screen is placed below it.
The menu needs about 640 px, but 90% of 600 px is only 540 px, so the
list has to be scrolled.

This became visible with b8fc07ab80, which limited the popup height
to a fraction of Screen.height.

Use the containment's screen geometry instead, for the height and the
width limits. It follows the panel when it moves between screens and
does not depend on the popup window, so it already refers to the right
screen when the popup is shown. The task manager also relies on it to
know which screen it is on. For a widget on the desktop the containment
is that screen's desktop, so the limit still comes from the screen the
widget is on.

BUG: 527385
2026-10-26 10:57:45 +00:00
l10n daemon script
ceb70c08e5 GIT_SILENT Sync po/docbooks with svn 2026-10-26 02:04:50 +00:00
l10n daemon script
a828367cc3 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"
2026-10-26 01:55:31 +00:00
Niccolò Venerandi
6ddedc3e53 kcms: Make "drag and drop" find General Behavior instead of Mouse
Searching System Settings for "drag and drop" (or "drag", "drop")
lists the Mouse page, which has no drag-and-drop setting, and does not
list General Behavior, which has the "Drag and Drop" group that
controls what happens when files are dropped.

BUG: 518455
2026-10-25 16:01:58 +01:00
l10n daemon script
60c30430af 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"
2026-10-25 01:48:09 +00:00
l10n daemon script
083c7508e8 GIT_SILENT Sync po/docbooks with svn 2026-10-24 02:00:32 +00:00
Niccolò Venerandi
0c45326f57 activitymanager: Crop activity wallpapers instead of stretching them
We use PreserveAspectCrop for the 16:9 card preview of the wallpaper
instead of stretching them. We also request a square thumbnail so that
wallpapers narrower than 16:9 come at least as wide as the card and do
no need to be upscaled.

BUG: 478784
2026-10-23 11:52:39 +02:00
l10n daemon script
a7d27c6218 GIT_SILENT Sync po/docbooks with svn 2026-10-23 02:03:39 +00:00
l10n daemon script
d2f101ea16 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"
2026-10-23 01:46:45 +00:00
Niccolò Venerandi
c4ba517adf containments/panel: Use the panel length as the spacer size limit
On a vertical panel, the size spinbox shown in edit mode for a
non-flexible Panel Spacer cannot go beyond the panel's thickness;
we instead use the panel length regardless of orientation.

BUG: 518799
2026-10-22 22:57:33 +02:00
Niccolò Venerandi
64b9cc4f13 applets/pager: Keep desktop labels and window icons bound to the model
The label is created with a createObject call, which fixes the
label and icon values in place on creation. This commits adds
a binding so that they update over time.

BUG: 522322
BUG: 501660
BUG: 506247
2026-10-22 22:32:15 +02:00
Niccolò Venerandi
71b7f850e0 Do not use wallpaper context variable binding as it changes value incorrectly
BUG: 527569
2026-10-22 15:18:41 +02:00
Christoph Wolk
c582464b4c applets/kickoff: directly scroll list in ListOfGridsView
ListOfGridsView is used for the All Apps page if kickoff is set to show
everything as a grid. As the name suggests, it's a ListView whose
delegates are full size gridviews, so themselves are not scrollable.
They each contain their own Kirigami.WheelHandler, which is set to not
blockTargetWheel. This works sort of ok for scrolling with an actual
wheel but totally breaks when using a pointing stick/push to scroll,
where it only works if you start over a ListView section header and
not over any content, and with touchpad scrolling it's incomprehensible
jank: sometimes it works, sometimes it doesn't at all, sometimes it
scrolls but at a glacially slow pace, sometimes it works but only with
a second delay...

Instead, we can just tell the Kirigami.WheelHandlers to scroll the
ListView directly, rather than hoping no blockTargetWheel works out.
This makes it work properly with wheel, push to scroll, touchpads and
touch. And as this is the only thing that uses blockTargetWheel, we can
get rid of that now.

BUG: 526911
FIXED-IN: 6.8.2
2026-10-22 09:25:16 +00:00
l10n daemon script
c6638c4f7c GIT_SILENT Sync po/docbooks with svn 2026-10-22 01:56:38 +00:00
Marco Martin
9eff3057ef Shell package: correct size and position for the activity switcher
since the activity switcher/widget explorer are dock windows,
positioning
is completely managed by layershell, and we can't put it on top
of another panel, so if there are horizontal panels, make the
window less tall to accomodate that.

BUG:527158
2026-10-21 15:32:36 +02:00
Vlad Zahorodnii
a0853e26c1 runners/keys: Use KGlobalAccel QKeySequence (de)serialization code
It properly handles invalid inputs.

SENTRY: KWIN-13AS
2026-10-21 11:53:01 +00:00
Christoph Wolk
f579c260a9 applets/taskmanager: fix highlight effect signal order issue
When the highlight effect is enabled, task manager sends Kwin
instructions to highlight a window when a tooltip is hovered, and
to clear it if it is not hovered. This works fine, but only as long
as the unhover signal is always emitted before the hover signal for a
different window. If not, when moving between tooltips, it will flash
the second window and immediately unhighlight it when the previous
tooltip sends its unhover signal. This can happen rarely with thumbnails
enabled (as there is a safety area between the tooltips that usually
gives enough time to get the signals in order), but is trivial to
trigger if the effect is enabled without thumbnails.

Instead, store the last set of window ids that are highlighted, and
cancel the highlight effect only if an unhover event actually applies to
the current highlight. This reimplements parts of !2816, which also
handled the signal race as part of a larger change that was never
merged, in a more targeted fashion.

BUG: 527229
FIXED-IN: 6.8.2
2026-10-21 10:50:22 +00:00
Brodi Elwood
eb1eef2ae2 Fix disappearing desktop icons
A replacement FolderModel can register its screen before the previous
model is destroyed. The old model then removes the registration used
by its replacement, causing desktop icons to disappear.

Track registrations by owner and remove the mapping when the last
matching owner releases it. Disconnect mapping signals while changing
a model's folder URL, then refresh its filter after registration.

Add regression tests for overlapping models and final-owner cleanup.

BUG: 527226
FIXED-IN: 6.8.2
2026-10-21 12:59:25 +03:00
l10n daemon script
195b4ab3b5 GIT_SILENT Sync po/docbooks with svn 2026-10-21 02:09:14 +00:00
l10n daemon script
886a6d9572 GIT_SILENT Sync po/docbooks with svn 2026-10-20 02:18:43 +00:00
l10n daemon script
cbe53cdc78 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"
2026-10-20 02:07:07 +00:00
Christoph Wolk
73bd55e978 applets/kicker: set drag mimedata url only if we have one
ItemGridDelegate (for kickerdash) and SideBarItem (for kicker) use
attached Drag. We set the mimeData from the url (as well as an internal
one where appropriate). But not all delegates have an url; in particular
the system actions (power/session) do not; they're only internal to
kicker and don't have an url representing them for elsewhere. This
causes a runtime warning that an empty Url is not a valid Url, as
attached Drag actually parses the test/uri-list mimetype.

Instead, we only add that mimetype if the url is not empty.
2026-10-19 16:39:28 +00:00
Christoph Wolk
562c95b88f applets/kicker: inherit LayoutMirroring
Kicker, when placed on a panel oriented at the end of the reading sense
(i.e right-edge in LtR, left-edge in RtL) flips the arrangement of most
parts of the widget to match the new orientation of the popup: favorites
and higher-ranked runner columns start closer to the applet. But not
everything should be mirrored; the delegates themselves should still
look normal (and have e.g. icon-text order in reading direction). We
currently implement this by passing things around and setting
LayoutMirroring a-la-carte as needed. But it's tricky to get everything
right. In particular, if we end up with a scrollable popup, it places
the scroll bar not in the area reserved for that, but overlaps the
content on the other side.

Instead, use the simpler approach and have LayoutMirroring inherit down
from the top, and only set it again right when we need to change it
again - on the delegate. This solves the issue and is a bit shorter too.

BUG: 525994
FIXED-IN: 6.8.1
2026-10-19 14:56:17 +00:00
Christoph Wolk
dc57e9a3c4 applets/kicker: add ItemListView inner right margin if scrollable
fae19c97e5 added inner right margins to
ItemListView when used in runner columns to provide consistent spacing
between the listview and surrounding elements. (Except for the final
column, where the applet popup margin can take that role.) But that fix
does not cover the regular menu and its popups, which still have the
highlight bump into the scrollbar if the menu is larger than the
available space, and similarly if the final runner column is scrollable.

Instead, also add the inner right margin also if the listview is
scrollable, whether as the final column or not.
2026-10-19 12:54:05 +00:00
Christoph Wolk
78c1422741 containments_desktop: don't always forward Shift+key to krunner
Folder View on the desktop forwards unhandled key presses to the
containment, which again forwards it to Krunner. We allow users to
configure this and opt into type-ahead find instead (at least for
Folder View desktops), which handles some key presses and prevents
them from being forwarded. But this is too strict; not only does
the key event need to contain text, it also needs to have no modifiers.
Not handling modified presses is generally reasonable (in case we want
to add shortcuts on the containment level), but shift is also a modifier
and typing a capital letter will interrupt type-ahead find and launch
the krunner window.

Instead, also allow handling (exclusively) shift-modified key events
(still requiring event text). The containment itself will not forward
Ctrl/Alt/Meta-modified events.
2026-10-19 08:32:52 +00:00
l10n daemon script
53698305ce 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"
2026-10-18 02:00:49 +00:00
Raresh Rus
983f93a53a README.md: kdesrc-build -> kde-builder 2026-10-17 15:56:19 -04:00
l10n daemon script
652d3f2e60 GIT_SILENT Sync po/docbooks with svn 2026-10-17 02:09:50 +00:00
l10n daemon script
74914f1ce3 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"
2026-10-17 01:57:20 +00:00
Jakob Petsovits
0e796b7558 kcms/mouse: Move QML property lines for better readability
`id` should generally be the listed first.
2026-10-16 18:33:22 -04:00
Jakob Petsovits
70bfb3faa8 kcms/mouse: Fix indentation of scroll-button behavior options
Indent them to the level of the corresponding checkbox's text.
Make this work also for right-to-left layouts.

Modeled after "Disable while (...)" checkboxes in Touchpad KCM.
2026-10-16 16:35:08 -04:00
Jakob Petsovits
531c62f321 kcms/touchpad: Indent checkboxes with indicator width and spacing
`contentItem` padding works in Breeze, but cannot be relied upon;
the Union style does not set it in the same way.
Using indicator width plus spacing is more widely compatible.

Also, use "mirrored" property for more compact phrasing.
2026-10-16 16:33:04 -04:00
Oleg Tsvetkov
90f507b7e2 kcms/landingpage: Drop the buddy binding of the most used grid
Amends d6d785e4a1

children[1] is undefined while the grid is created, so every time the
page opens it logs "Unable to assign [undefined] to QQuickItem*". The
Repeater's onItemAdded already makes the first item the buddy.
2026-10-16 10:49:24 +03:00
l10n daemon script
778f45dff2 GIT_SILENT Sync po/docbooks with svn 2026-10-16 02:08:35 +00:00
l10n daemon script
6372e5d0b2 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"
2026-10-16 01:55:45 +00:00
Nate Graham
dd124d0def kcms: follow HIG for list items with inline actions
Use raised buttons and alternating backgrounds, as recommended by ths
HIG; this helps distinguish interactive buttons from list items'
decorative icons, and helps the eye associate the controls on the right
with the text and icons on the left.
2026-10-15 09:46:37 -04:00
Tobias Fella
1d5be3d338 kcms/qtquicksettings: Drop 2026-10-15 10:51:04 +00:00
l10n daemon script
8c1c0e0744 GIT_SILENT Sync po/docbooks with svn 2026-10-15 02:03:52 +00:00
l10n daemon script
dd5473a924 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"
2026-10-15 01:54:31 +00:00
Kai Uwe Broulik
fd814f7b4d applets/taskmanager: Use a normal Component {} for the ContextMenu
Unlike the PulseAudio stuff (which used to randomly load plasma-pa stuff),
there's no point in gracefully failing when the ContextMenu fails. It just
makes debugging problems harder.

It's also not loading it on demand or anything.
2026-10-14 05:37:23 +00:00
l10n daemon script
d61e361117 GIT_SILENT Sync po/docbooks with svn 2026-10-14 02:15:15 +00:00
l10n daemon script
e19adfb295 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"
2026-10-14 02:05:06 +00:00