Plasma issueshttps://invent.kde.org/groups/plasma/-/issues2023-08-18T13:16:09Zhttps://invent.kde.org/plasma/kwin/-/issues/115Possibly rewrite the blur effect2023-08-18T13:16:09ZVlad ZahorodniiPossibly rewrite the blur effectLeaving here before putting any real work in it...
The problem: after changing how surface damage and buffer damage are tracked, the blur effect regressed as it used to rely on the fact that it gets the repair region in prePaintWindow()...Leaving here before putting any real work in it...
The problem: after changing how surface damage and buffer damage are tracked, the blur effect regressed as it used to rely on the fact that it gets the repair region in prePaintWindow() to expand the damage. Now, the repair region is not included in the surface damage so the blur effect cannot expand the repainted region to ensure that the entire background behind the window is repainted, i.e. the blur effect can blur already blurred background.
Fortunately, it's not really noticeable with the default setup where the panel is usually the top-most window.
Fixing the bug is challenging. First of all, we cannot pass the repair region in the pre-paint pass, it's a no-no because the final painted region will be known only after walking through render layers. The most feasible (imho) way to fix it would be to cache the background behind the window. It has several advantages - improved memory usage and background blurred strictly beneath the window. However, making that work efficiently with animated windows can be notoriously difficult. The third option is to keep things as is except that every window will have its own allocated offscreen render targets, it's a huge memory waste though, e.g. on my machine kwin would waste 36M of VRAM per window.
Prior to the "Kawase" changes, the blur effect used to cache the blurred background, we need unblurred background though. https://invent.kde.org/plasma/kwin/-/blob/Plasma/5.10/effects/blur/blur.cpp#L618https://invent.kde.org/plasma/kactivitymanagerd/-/issues/1KActivities TODO2022-12-16T17:59:38ZEric Edlundericedlund2017@gmail.comKActivities TODOThis issue is for all KActivity related things throughout kde.
1. [ ] Read through the backlog of bugs
2. [ ] Get https://invent.kde.org/plasma/plasma-workspace/-/issues/35 closed
3. [ ] Add activity switcher widget/plasmoid thing to de...This issue is for all KActivity related things throughout kde.
1. [ ] Read through the backlog of bugs
2. [ ] Get https://invent.kde.org/plasma/plasma-workspace/-/issues/35 closed
3. [ ] Add activity switcher widget/plasmoid thing to default panel
4. [ ] Move "remember last desktop" feature into kwin BUG: 427579
Areas to Look at:
- Application favorites in launchers https://bugs.kde.org/show_bug.cgi?id=414717
- Window management handling activities
- Activity switching UI/feedback
- Session management
- Dolphin
Shared documentation document: https://docs.google.com/document/d/1ham9yJm-89tfPmYXj784fsSBnEozJ_Nti0jO46sT1tM/edit?usp=sharinghttps://invent.kde.org/plasma/plasma-workspace-wallpapers/-/issues/1Convert png to webp2023-05-14T08:14:39ZFushan WenConvert png to webpgnome-backgrounds has switched to webp as the format for its wallpapers. I think Plasma should also do the same" for all the backgrounds in this repository.
Ref: https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/issues/29 https://gitla...gnome-backgrounds has switched to webp as the format for its wallpapers. I think Plasma should also do the same" for all the backgrounds in this repository.
Ref: https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/issues/29 https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/502 https://pagure.io/fedora-workstation/issue/3276https://invent.kde.org/plasma/plasma-workspace/-/issues/48Add support for dynamic wallpaper2023-10-17T15:46:49ZFushan WenAdd support for dynamic wallpaperThis issue is used to track the development of dynamic wallpaper.
# Tasks
- [x] Define metadata.json format (https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1862)
- [x] Format parser
- [x] Time of day
- [ ] Solar
- [ ] ...This issue is used to track the development of dynamic wallpaper.
# Tasks
- [x] Define metadata.json format (https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1862)
- [x] Format parser
- [x] Time of day
- [ ] Solar
- [ ] Support other wallpaper formats
- [ ] An editor to easily customize dynamic wallpapers
It may take a long time to finish all those mentioned tasks as I don't have enough time to work on them.Fushan WenFushan Wen2023-08-01https://invent.kde.org/plasma/kwin/-/issues/88Kill `Deleted` with fire2023-03-28T08:46:41ZVlad ZahorodniiKill `Deleted` with fireWhen a window is closed, kwin is going to create a `Deleted` object, copy data from the original window to the deleted object and discard the original window.
Such lifecycle makes code in some places tedious because one has to replace a...When a window is closed, kwin is going to create a `Deleted` object, copy data from the original window to the deleted object and discard the original window.
Such lifecycle makes code in some places tedious because one has to replace an instance of the live window with the deleted object. It's easy to forget to copy some value from the original window to the deleted one, etc.
After merging AbstractClient and Toplevel, there's an open opportunity to simplify how kwin handles closed windows. Ideally, when a window is closed, it should be enough to make the `isDeleted()` and the `isClient()` functions return `true` and `false`, respectively. We may also need to add reference counting in the window class.
The main disadvantage of this proposal is that you could theoretically do something that's not allowed to perform on deleted windows, e.g. resize. However, many places where kwin wants to have managed windows are marked with corresponding checks.https://invent.kde.org/plasma/plasma-mobile/-/issues/194[osd/audio] Slow performance2023-03-31T04:27:17ZDevin Lin[osd/audio] Slow performanceThe audio OSD needs profiling and investigation on improving performance, as it is slow to trigger when audio buttons are pressed.The audio OSD needs profiling and investigation on improving performance, as it is slow to trigger when audio buttons are pressed.https://invent.kde.org/plasma/plasma-mobile/-/issues/190Add "reduced animations" setting2022-04-30T00:02:47ZDevin LinAdd "reduced animations" settingAdd a setting in the shell kcm to have "reduced animations", and implement it throughout the shell.Add a setting in the shell kcm to have "reduced animations", and implement it throughout the shell.https://invent.kde.org/plasma/plasma-mobile/-/issues/186[taskswitcher] Port to KWin script?2023-03-16T04:16:04ZDevin Lin[taskswitcher] Port to KWin script?Would it make sense to port the task switcher to a KWin script? Seeing how the new desktop "overview" effect seems to be going well, perhaps it would make sense to port the mobile task switcher.
If this were done, the navigation panel s...Would it make sense to port the task switcher to a KWin script? Seeing how the new desktop "overview" effect seems to be going well, perhaps it would make sense to port the mobile task switcher.
If this were done, the navigation panel should probably remain a containment that can trigger the task switcher effect to open.
Benefits:
- Can make use of KWin scripting API for window thumbnails, desktop switching, etc.
- Infrastructure (seems to?) exist within KWin to implement realtime touch gestures, which would allow us to replace the invisible panel hack currently being used, not sure though if touch edge gestures exist
- Wallpaper blur would be easy to implement https://invent.kde.org/plasma/kwin/-/blob/master/src/effects/overview/qml/ScreenView.qml#L516https://invent.kde.org/plasma/kwin/-/issues/80Make autotests create fake input devices2022-03-17T09:12:27ZVlad ZahorodniiMake autotests create fake input devicesInstead of sending input events using the Platform, send them via `InputDevice`s in order to match how input events are processed when running full plasma wayland session, i.e. with the DRM and libinput backends.
The test suite would ne...Instead of sending input events using the Platform, send them via `InputDevice`s in order to match how input events are processed when running full plasma wayland session, i.e. with the DRM and libinput backends.
The test suite would need to create input devices under the hood and kwinApp()->platform()->pointerMotion()/... must be replaced with Test::sendPointerMotion(), etc.https://invent.kde.org/plasma/plasma-mobile/-/issues/158[quicksettings] Make wifi quicksetting description show the SSID of the curre...2022-04-30T15:08:56ZDevin Lin[quicksettings] Make wifi quicksetting description show the SSID of the currently connected wifi networkhttps://invent.kde.org/plasma/plasma-workspace/-/issues/23Merge Langauage and Formats KCM2023-11-28T14:35:08ZGhost UserMerge Langauage and Formats KCMBoth Language and Formats KCM set `$LANG` env. And we have some issues with Formats KCM. This is the issue that sum up all the to-dos, and we can discuss them here.
## Formats
### What doesn't work
#### Examples
- [x] Currently, example...Both Language and Formats KCM set `$LANG` env. And we have some issues with Formats KCM. This is the issue that sum up all the to-dos, and we can discuss them here.
## Formats
### What doesn't work
#### Examples
- [x] Currently, examples is a trailing component in Kirigami.BasicListItem. While this works perfectly fine on desktop, on PinePhone the trailing overlaps with the item title. There isn't enough space for long examples like date/time format. We need to figure out another way to display examples.
#### Not all env is settable
- [ ] We only have `Lang` `Measurement` `Time` `Number` `Monementary`, POSIX defines a wider range of envs, we should support them. The only problem is with `LC_COLLATE` because the difficulty of how can we display its example.
#### The locale list is ICU locale list
- [x] On Unicode charset, ICU locales is a superset of Glibc locales. Valid ICU locales may be invalid Glibc locale, which will lead to programs that use `gettext` complains about invalid locale. We should only let user choose POSIX locales. However, Glibc does support other charsets, which ICU doesn't. But ICU accepts locale with other charset, it will pick the Unicode version of that locale. No problem here.
#### We can't generate the Glibc locale
- [x] Glibc locale needs to be generated first. Which requires root permission. There is a systemd-localed DBus methods can do that, but we don't explicitly depends on systemd. Besides, on some distributions, we need to install the corresponding langauge package first. I can't come up with a universal solution to this. So maybe we can display a message with link to "how to generate locale on various distributions" like webpage?
## Language
- [x] Haven't looked into the code yet. IIRC @ngraham said we should just copy the existing UI into a subpage of Formats and set `LC_MESSAGE` according to the language hierarchy?
## Locale Installation/Generation
- [x] Ubuntu
We can check 'check-language-support' to determine if it's an Ubuntu based distro, old KCM compare name
http://manpages.ubuntu.com/manpages/trusty/man1/check-language-support.1.html + PackageKit
Already supported in Language KCM, copy the code over.
- [x] Other glibc distro
edit `/etc/locale.gen`, call locale-gen, help message to info manual font installation
we have to edit `/etc/locale.gen`, since distro like Arch run `locale-gen` every time. `locale-gen` purge locales not enabled in `locale.gen`
- [x] None systemd/musl distro
musl uses musl-locale, can't automate any part of it, display message
## Related:
https://invent.kde.org/frameworks/kdeclarative/-/merge_requests/87https://invent.kde.org/plasma/plasma-mobile/-/issues/83[panel] Add screen recorder2022-06-22T15:49:35ZDevin Lin[panel] Add screen recorderAdd a screen recorder interface that can be opened from the quick settings.Add a screen recorder interface that can be opened from the quick settings.https://invent.kde.org/plasma/plasma-mobile/-/issues/76[homescreens/folio] Screen rotation messes up homescreen layout2023-10-23T05:59:15ZDevin Lin[homescreens/folio] Screen rotation messes up homescreen layoutRotating the screen, and back again messes up the homescreen layout.
Before:
![Screenshot_20210505_160052](/uploads/f6ced37229137b497f86b45dbce06237/Screenshot_20210505_160052.png)
While rotated (entries from other pages seem to come ...Rotating the screen, and back again messes up the homescreen layout.
Before:
![Screenshot_20210505_160052](/uploads/f6ced37229137b497f86b45dbce06237/Screenshot_20210505_160052.png)
While rotated (entries from other pages seem to come in):
![Screenshot_20210505_160117](/uploads/b59ebde4f9c25f1a54a8699e5791dd6d/Screenshot_20210505_160117.png)
After (some entries are underneath the "pinned" bar):
![Screenshot_20210505_160137](/uploads/f1b9b02eb5ad7c4f0c8cc9880ce01709/Screenshot_20210505_160137.png)https://invent.kde.org/plasma/kwin/-/issues/32Handling initial screen configuration and kwin2021-12-20T15:14:01ZDavid EdmundsonHandling initial screen configuration and kwin# Current state
Kwin_wayland loads, and applies a very basic configuration.
KScreen starts to load
Plasma loads
Then kscreen changes all the screens.
If Plasma loads quickly it loads at the wrong scale/size/screen count and ends up i...# Current state
Kwin_wayland loads, and applies a very basic configuration.
KScreen starts to load
Plasma loads
Then kscreen changes all the screens.
If Plasma loads quickly it loads at the wrong scale/size/screen count and ends up in a mess.
Ideally plasma should handle this, but even then we're making Plasma do more work.
kscreen's setup is very async.
* getInitialConfig is queued
* the fetching of this is then async
* then it applies what it deems to be the "correct" state, this is also aync
Our bootup does ensure that plasmashell comes after kscreen is started, but not after kscreen has finished starting (if that difference makes sense)
Kwin does have a user-defined static map it can use for initial screen loading with a basic config. The file format is not helpful to distributors (plasma-mobile vendors) as UUIDs are not consistent.
# Option 1
Block in kded when we do our initial load until the kscreen state is applied.
Our bootup sequence will make sure kded's first phase is up before plasmashell starts
It doesn't matter if kwin at the start if it has the wrong screen information if it's just showing ksplash fullscreen anyway.
# Option 2
Block in plasma to kscreen with some bespoke kscreen<--> plasma iface.
We sort of did this in very early Plasma 5.0, where we fetched kscreen's config which means we block on kscreen having at least started up.
# Option 3
Move initial config loading from kscreen to kwin_wayland, this could be as little as adding a way to parse the kscreen config file into kwin. When kscreen does finally load it sees that the applied config matches what it would apply in this situation and no-ops
This won't help the first-run case.
# Option 4
Move half all of the daemon aspects of kscreen into kwin.
Fixes the initial config problem, but now kwin is turned into even more of a monolith. It makes kscreen more complex too.https://invent.kde.org/plasma/plasma-mobile/-/issues/60Taskpanel sometimes goes into disabled state while there are still apps open2022-02-11T05:31:11ZJonah BrĂ¼chertTaskpanel sometimes goes into disabled state while there are still apps openAfter using the phone for a longer time, sometimes the taskpanel goes into disabled state (buttons are not clickable), so it is not easily possible to close and switch apps. The only button that stays enabled is the app overview, but it ...After using the phone for a longer time, sometimes the taskpanel goes into disabled state (buttons are not clickable), so it is not easily possible to close and switch apps. The only button that stays enabled is the app overview, but it doesn't work in this case. Pressing it repeatedly sometimes seems to force the taskpanel to re-evaluate and fix itself.https://invent.kde.org/plasma/plasma-bigscreen/-/issues/11Add screencast receiver support with Nymphcast2021-08-14T18:59:16ZBart RibbersAdd screencast receiver support with Nymphcast[NymphCast](http://nyanko.ws/nymphcast.php) is a complete FOSS alternative to Google's Chromecast: you can send audio and video from a client to a receiver and has support for custom applications.
It would be amazing if Plasma Bigscreen...[NymphCast](http://nyanko.ws/nymphcast.php) is a complete FOSS alternative to Google's Chromecast: you can send audio and video from a client to a receiver and has support for custom applications.
It would be amazing if Plasma Bigscreen could implement itself as a receiver in combination with various Plasma Mobile applications as senders, so you can cast any video or audio to a Plasma Bigscreen device.https://invent.kde.org/plasma/plasma-mobile/-/issues/54No notifications in shade2021-03-01T18:18:55ZIvan RancicNo notifications in shadeNotifications are available in pop-up form but are not shown in notification shadeNotifications are available in pop-up form but are not shown in notification shadehttps://invent.kde.org/plasma/kwin/-/issues/20Allow locking the software cursor per individual output2023-08-29T12:58:27ZVlad ZahorodniiAllow locking the software cursor per individual outputIf kwin can't use hardware cursors on one or two outputs, it doesn't mean that we should fall back to rendering the software cursor on all outputs. Instead, we just need to fall back to the software cursor code path only for outputs/gpus...If kwin can't use hardware cursors on one or two outputs, it doesn't mean that we should fall back to rendering the software cursor on all outputs. Instead, we just need to fall back to the software cursor code path only for outputs/gpus that do not support hardware cursors.https://invent.kde.org/plasma/plasma-mobile/-/issues/47Add night color toggle to notification shade2020-11-20T10:02:24ZDevin LinAdd night color toggle to notification shadeAdd the ability to toggle night colours from the top panel.Add the ability to toggle night colours from the top panel.https://invent.kde.org/plasma/plasma-mobile/-/issues/34GPS toggle in drop down panel does not work2023-02-11T18:42:05ZBrian AbertsGPS toggle in drop down panel does not workCurrently, the GPS toggle does not function at least on the Pinephone.Currently, the GPS toggle does not function at least on the Pinephone.