Currently, FolderView always opens its context menu at the pointer position. This makes sense for opening the menu with a right-click, but the same logic is used when the Menu key is pressed. (If nothing is selected and we open the containment's context menu instead, the menu opens at (0,0). This is not how the Menu key works in Dolphin (where it appears to the bottom right of the current item), somewhat inconvenient with keyboard navigation (as the pointer position may be far from where the user is looking) and can be misleading, as it makes it seem like the menu applies to the file where the context menu is attached to, rather than the currently selected files. Instead, we pass in whether the menu should open at the cursor position or not, and if not, open at the bottom right of the visualParent. This gives almost identical behavior to Dolphin with regard to where the menu pops up (with rubberband selection, the two may disagree which is the currentItem). BUG: 526282 |
||
|---|---|---|
| .gitlab/merge_request_templates | ||
| .reuse | ||
| .well-known | ||
| appiumtests | ||
| applets | ||
| attica-kde | ||
| cmake/modules | ||
| containments | ||
| design | ||
| desktoppackage | ||
| doc | ||
| emojier | ||
| imports/activitymanager | ||
| kaccess | ||
| kcms | ||
| kconf_update | ||
| kded | ||
| knetattach | ||
| layout-templates | ||
| LICENSES | ||
| po | ||
| runners | ||
| sddm-theme | ||
| solid-device-automounter | ||
| toolboxes | ||
| .contextProperties.ini | ||
| .git-blame-ignore-revs | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .kde-ci.yml | ||
| CMakeLists.txt | ||
| CODEMAP.md | ||
| config-workspace.h.cmake | ||
| ConfigureChecks.cmake | ||
| COPYING.DOC | ||
| kde-mimeapps.list | ||
| logo.png | ||
| Mainpage.dox | ||
| org.kde.plasmashell.metainfo.xml | ||
| README.md | ||
Plasma Desktop
Plasma for the desktop form factor. This repository contains code for many of the widgets, KCMs, and other parts of the Plasma Desktop.
See the CODEMAP to get an idea of the layout of this repository.
See Also
This repository contains only components specific to the desktop form factor. Components which are more generic can be found elsewhere under the Plasma group or in individual repositories. For example:
- Plasma Workspace contains more generic code shared between Desktop, Mobile, and other form factors of Plasma. If you can't find what you're looking for in plasma-desktop, look here first.
- libplasma includes the building blocks for Plasma widgets.
- Plasma NetworkManager Applet has code for the network manager widget.
- Plasma PulseAudio Applet is where the code for the PulseAudio KCM and widget lives.
- Plasma Add-ons is the home of the rest of the widgets that aren't in plasma-desktop, plasma-workspace, or another specific repository. For example: Web Browser, Comics, and Sticky Notes.
Building
The easiest way to make changes and test Plasma Desktop during development is to build it with kde-builder.
Contributing
Like other projects in the KDE ecosystem, contributions are welcome from all. This repository is managed on KDE Invent, our GitLab instance.
- Want to contribute code? See the GitLab wiki page for a tutorial on how to send a merge request.
- Reporting a bug? Please submit it on the KDE Bugtracking System. Please do not use the Issues tab to report bugs.
- Is there a part of Plasma Desktop that's not translated? See the Getting Involved in Translation wiki page to see how you can help translate!
If you get stuck or need help with anything at all, head over to the KDE New Contributors room on Matrix. For questions specifically about Plasma Desktop, please ask in the KDE Development room. See Matrix for more details.