Bug 513272 - Kickoff's NEW tag is clipped on items with long names
Summary: Kickoff's NEW tag is clipped on items with long names
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Launcher (Kickoff) widget (other bugs)
Version First Reported In: 6.5.3
Platform: Other Linux
: HI normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-13 00:35 UTC by fallbork
Modified: 2026-01-02 15:37 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.6.0
Sentry Crash Report:


Attachments
Current VS Expected (259.86 KB, image/png)
2025-12-13 00:35 UTC, fallbork
Details

Note You need to log in before you can comment on or make changes to this bug.
Description fallbork 2025-12-13 00:35:11 UTC
Created attachment 187567 [details]
Current VS Expected

SUMMARY
Kickoff's NEW tag is clipped when the name of the application is too long (see attachment for current behaviour).

STEPS TO REPRODUCE
1. Install an application (or make a .desktop yourself) with a really long name.

OBSERVED RESULT
The NEW tag is being clipped.

EXPECTED RESULT
The NEW tag should clip INTO the name of the application (possibly hiding part of it or sending it to a new line), with an absolute positioning - see attachment for the expected outcome.

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 43
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1
Kernel Version: 6.17.9-300.fc43.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i5-9300H CPU @ 2.40GHz
Memory: 16 GiB of RAM (15.4 GiB usable)
Graphics Processor 1: Intel® UHD Graphics 630 (integrated)
Graphics Processor 2: NVIDIA GeForce GTX 1650 (discrete)
Manufacturer: Dell Inc.
Product Name: G3 3590

ADDITIONAL INFORMATION
Hello friends!

I hope this bug report finds you all well and healthy. After installing a game with a really long name from Steam, I noticed this funny behaviour of the NEW tag getting clipped out of bounds from Kickoff. I tried looking up to see if this has already been reported, but after a couple of minutes of filtering issues with "New" in the bug title, I ended up finding nothing.

As always, I'll be available in case any questions arise, and I'm wishing you all a lovely day! :D
Comment 1 Bug Janitor Service 2025-12-18 23:13:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3405
Comment 2 cwo 2026-01-01 21:57:13 UTC
Git commit b1823bb170e3869fdaf75391803fae748f82b3dd by Christoph Wolk.
Committed on 01/01/2026 at 21:32.
Pushed by cwo into branch 'master'.

applets/kickoff: correctly position New badge with long names

Kickoff's list delegates set the label name to Layout.fillWidth true if
and only if the description is not visible. As far as I can tell, this
is to support the compact mode, to ensure that as much of the name is
visible as possible, and the description is cut completely if necessary.
This means that with a description present, the label can grow without
bounds, and because of the upward propagation of implicit sizes and the
precise way that nested Layouts interact with this, setting Layout.fill
on the GridLayout will not limit this to the actually available width.
To keep this in check a maximum size is calculated by hand
to match the delegate width.

This is a somewhat unusual construction, and it's not trivial to notice
that adding something else to the delegate would mean that this
calculation has to be updated. As was the case with the New badge for
freshly installed applications - if the name is very long and only the
name is visible, everything is fine, but if both name and description
are present, the label is pushed partially or completely outside the
bounds of the delegate.

We could simply add the relevant width to the calculation, but this
leaves a trap for any future addition to the delegate. Instead,we fix
the cause of the problem, the propagation of implicit sizes, by wrapping
the gradLayout inside an Item (which is sized as usual by the parent
Layout, without regard to the implicitWidth of its contents). This allows
us to remove the manual size calculation with a much simpler and more
robust binding to the minimum of wrapper width and name implicit width,
and should work without further modifications if more badges or other
elements are added in the future.

M  +1    -1    applets/kickoff/AbstractKickoffItemDelegate.qml
M  +44   -37   applets/kickoff/KickoffListDelegate.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/b1823bb170e3869fdaf75391803fae748f82b3dd