This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Discussion of possible bugs and problems (Plasma, Oxygen, …)

Tags: None
(comma "," separated)
sakayo
Registered Member
Posts
4
Karma
0
Hello,

I've upgraded my system a few days ago from KDE 4.14 to KDE 5 (i.e. Apps 14.12, Plasma 5.1.2 and Frameworks 5.5.0 using Qt 5.4) and noticed a few (often smaller) problems. I would like to know if anybody else can confirm a few of them and what was probably intended, thus not being a real bug (and if so, why).

Of course for KDE 4 / Qt 4 based applications I still have a few old binaries (4.11 and 4.14). So far this combination works quite good (sometimes I see smaller rendering artifacts and generally increased video memory usage at around 300 MB for a basic desktop).

For the first few questions I use old / new descriptions, the rest is each item as a whole.

I decided against splitting this topic into 20 tiny ones because I want to get a basic overview here. For more in-depth discussion I've no problem with creating new ones dedicated to particular items of the following list. If anyone wants to create a bug report for some issues feel free to do so, because I won't create an bug tracker account (at least for now). A few days ago I checked the bug tracker a bit, but probably missed entries, so sorry if that's the case. Didn't have the time to go through it again.

I can test patches against the versions noted above (or master for small divergence) if someone has already fixed any items of the list (to confirm the fix).

1. Desktop symbol (dashboard, activities, leave, …) at screen edge / corner
Old: The default is to have it with text if placed on a edge and without if placed in a corner. If placed in a corner it is rendered fine as a cashew with a bit background stuff (without visual artifacts).

New: Can't be placed in a corner (at least not while using all Oxygen styles with Air desktop theme) and having a shortened panel at a adjacent edge. If I try to place it in a corner adjacent to the panel the new menu icon (three thick lines) is misplaced and rendered bad. Sometimes it's rendered bad too (but not as bad as in the first case) if placed anywhere else (see next image).

Additionally if I click to open the menu, click again to close the menu, the last active application has no focus (disabling focus stealing prevention doesn't help). Behavior with KDE 4 was to restore all visible windows with correct focusing. If possible, where can I configure the effect that while the menu is open all active windows are minimized?

Image is desktop-symbols. Top row is always top left corner, bottom row is always bottom left corner. There is a middle high panel at the top of the screen (not visible here).

2. Oxygen theme is too loosely spaced
Old: Very compact (yes, a bit too compressed)

New: Much more spaced. I've read the threads [1, 2, 3], but I think at least Oxygen in KDE 5 should be in big characteristics the way it was in KDE 4 (currently it is more a mix of 60% old theme style and 40% new or so – see next items).
I've modified it to be more like the old Qt 4 style by adjusting most spacings / margins to be scaled by 1.2 - 1.4 (instead of roughly 1.6 - 2.0 by default?) and I'm pretty happy with that (reverted back to KDE 5 default for reporting here). Maybe it's possible to add configuration options (possibly with a warning as some KWin settings have) for important spacings / margins, so that more people can be happy? I really think that at least for Oxygen KDE needs a solution regarding KDE 4 and 5 spacing changes (which isn't totally reverting to the KDE 4 nor keeping the current KDE 5 state).
For those interested the metrics file of the Oxygen Widget style is at "kstyle/oxygen.h" ("oxygen" package) and was at "kstyles/oxygen/oxygenmetrics.h" ("kde-workspace" package). What was the reason to add that much additional spacing to Oxygen? I've seen the commits in Git which was about aligning it with Breeze (where the spacing looks mostly ok), but why?

[1] Breeze style takes up more than 50% space than Oxygen
[2] Fixing sparseness in default KDE theme
[3] Breeze: Listviews use too much vertical space

3. Oxygen in KDE 5 is missing a few black shadows and thus looks very flat
Old: Tooltips, menus and (while by far not being that "critical" to me) tabs (e.g. in Konsole) have drop shadows / shading that go hand in hand with the shadows around windows, the rounded corners and the blue hover / focus shadows of editor windows, buttons and so on.

New: Those black shadows are (nearly) completely missing thus creating a flat look which Oxygen never was to me (while the new Breeze style is and thus looks nice because it's not so strongly mixed and more focused to its design idea). The worst part are the missing popup menu shadows, because that prevents menus to visually stand out).
In Breeze there are thin lines around them (which is good), in Oxygen there should be the good old outer shadows I think.

Note that I'm not sure whether that was intended because I haven't found official KDE 5 screenshots with Oxygen and open menus. Assuming it was intended how can I revert it on my own? It's quite difficult to find the correct place (KWin, Plasma or Oxygen – the KDE 4.11 based Qt 4 style still has the shadows, so probably somewhere in Oxygen?) without further knowledge about the code base.

Images are oxygen-demo-5vs4 and shadowless-inactive-tabs.

4. New Oxygen icons in desktop panel (using Air desktop theme)
Old: Kickoff button is colored (blue / white) and system tray icons have a white / gray three-dimensional appearance (fits to Oxygen being a shadow based theme)

New: All those icons are gray and flat (see entry above).
So I now have:
  1. monochrome, flat, shadowless icons at both ends of the panel (left / Kickoff and right / system tray)
  2. shadowed, colored icons in between (application icons) and in nearly every running application (menus, toolbars, …)

What was the reason to change the old desktop theme? Maybe introducing a new "Oxygen monochrome" would have been better? I haven't found the old one in the additional artwork package. The old icons can be found in the "kde-runtime" package at "desktoptheme/air/icons" for those interested.

5. Desktop pin
Oxygen window decoration is missing the desktop pin while it works with Breeze.

6. Blur effect
The background of most plasmoids isn't blurred while e.g. the panel itself is. Note that I disabled the "Improve contrast" KWin effect (produces white appearance with translucent Oxygen panels / plasmoids) and that this only happens if the panel containing the plasmoids is placed at the top or on the right desktop edge. On the left side or the default bottom edge all backgrounds are correctly blurred.
That applies to most panel plasmoids (e.g. digital clock, KMix, device manager, …) while their tooltips are blurred everywhere.

Image is launcher-panels. If zooming to 200 % one can see blurred backgrounds on all bottom placed elements, while in the top row only the button background is blurred. The opened menu is not (cf. thin white line next to favorites star).

7. Window decoration cursor
This issue can be reproduced consistently if the middle mouse cursor (scroll wheel) is configured to minimize windows (in system settings, window behavior, titlebar actions).
If a window is minimized that way and restored the cursor hovering over the top window decoration (title bar) will be the change window size one. Start dragging with left mouse button and it'll back to normal.

8. Window previews of the icons-only task bar
If this taskbar is configured to show tooltips those tooltips are relatively wide for applications with short names / descriptions. E.g. for Kate without any open document there is a centered preview (well, sometimes not, even with "keep previews for minimized applications" enabled), the text "Untitled – Kate" plus desktop information below. There is free space to both sides which could (in my opinion) reduced by one third / quarter (by lowering the default minimal width).
Additionally there are (a) unparsed "<br />" tags (only if all "Show only tasks from…" but the "current screen" or all options together are disabled) which I would replace with a long dash (cf. window titles) and (b) the missing preview (even with enabled "always keep window preview thumbnails", but only sometimes).

Image is icons-only-tasks-preview.

9. Battery indicator incorrectly rendered
The percentage bar seems to have top and bottom style element switched.

Image is battery-indicator.

10. Adding plasmoids into panels sometimes places them at invisible / unreachable regions
If I open the plasmoids bar to drag-drop them into the main panel (e.g. system tray icons) they're not displayed there but visually vanish. They're still running, because in the plasmoids bar (from where I started dragging) there is a new small green tick. If plasmashell crashes later and is restored those "lost" plasmoids are correctly shown in the panel.
Seems to happen mostly if they're dropped extremely near the screen edge but still inside the panel.

11. Delete icon in edit lines
Konsole uses a new icon (round and gray / white) for rename tab inputs which seems inconsistent with all the other uses of the old icon (hard corners and black / white).

Image is konsole-input-delete.

12. Qt 4 applications have bad selection / hover colors
E.g. Qt Designer (the Qt 4 based one) or VLC (again Qt 4 based) show a very intensive blue and incorrect colors for selected / hovered items in the file picker and various other places.
The crazy thing is if I open the Qt 4 application first, then the Oxygen settings (standalone Qt 4 "oxygen-settings") and switch the menu highlighting settings there, hitting apply, the dark blue changes to a lighter blue. Additionally the item border in the file picker around the selected file is normal again. Closing the application and opening it again – well, hello you ugly blue.
I'm not sure here whether I should run Qt 4 Oxygen widget style build from KDE 4.11 or KDE 5.1.2? I noticed the latter has build support for both, while the old one still runs without any other issues here. I've not tested Oxygen 5.1.2 built as Qt 4 here because (a) there are currently no prepared packages available (as far as I know, but for testing I could do that myself) and more important (b) the issues in (2) and (3).

The only way to change this color by default is switching from a light color scheme to a dark (inverted) one. But here it's white, not a light blue (which it will become after using the above "oxygen-settings" trick).

Image is qt4-list-background-colors.jpg.

13. Can't bring desktop panel to foreground
With KDE 4 and the panel configured to "Windows can cover" it was possible to bring it above fullscreen applications by moving the mouse to the screen edge but currently it doesn't react, thus there is no way to get the panel based Kickoff, task bar or system tray without minimizing fullscreen windows first or abusing Alt-Tab.

I've noticed the old special handling in file "plasma/desktop/shell/panelview.cpp" of the "kde-workspace" package (KDE 4.11). Main function of this feature is "PanelView::createUnhideTrigger" called from "PanelView::startAutoHide" if panel visibility is "LetWindowsCover" which this item is about.
With KDE / Plasma 5 the file now is in the "plasma-workspace" package at "shell/panelview.cpp" but without the old handling. Can't find it anywhere else.

14. Active widget in Kate
If Kate is started and the file side bar is open the main editor widget hasn't focus. I must press Tab at least once (up to three times with enabled tab bar) to start typing text into the default document.

15. No desktop wallpaper previews
If I open the desktop settings by opening the context menu I only see placeholder images (even for custom images while those have the small top-right "Remove wallpaper" icon). Is there a way to start this widget from terminal to watch its output? I don't see output in ".xsession-errors" – what kDebug / qCDebug category does it have, if any? Plasma, libplasma? Where to see such output?

Image is desktop-wallpaper.

16. Notification placement
Notifications are placed at the bottom right or top left corner of the screen, regardless of where the notification icon (system tray) actually is. It should be placed above, below or at the side of the notification icon.

E.g. imagine a panel with a system tray:
  • Case 1: Panel is placed at bottom and its width is shorter than the screen, icons are on the left. Notifications are displayed on the bottom right. Panel height is correctly taken into account (notification place moves up / down with de- and increasing panel height).
  • Case 2: Panel is placed on the left side and has full height. Notifications are again at the bottom right regardless of the system tray position (top, bottom or middle).

Test with:
Code: Select all
notify-send -i kde 'KDE 5' 'This is a notification used for testing.'


Image is notifications.

17. Klipper with longer text contents
If a very long text is copied then hovering over the system tray icon (Klipper) shows the full contents for a very short time and then (because it doesn't fit) collapses to a small tooltip which then nearly immediately vanishes. It should be shown as long as shorter texts. The required text length for reproducing this problem depends on the screen height for horizontal panels (I copied the first KDE about text paragraph around ten times).

18. KDE sounds with disabled notification sounds
I configured the player settings to no audio output, but if I close unsaved KWrite documents or not applied options in most system settings components a sound is played. This happens with the Phonon VLC and GStreamer backends independent of their order.
Setting the volume to 0 % doesn't help if using the VLC backend while with GStreamer that seems to be a workaround.

19. KRunner history
KRunner had a very useful history feature, remembering old values. Are there any plans to reimplement that or am I missing a plugin?

20. Video memory usage
A final question about video memory usage (in my case with NVIDIA drivers): The NVIDIA SMI tool shows the values below where I used one non-fullscreen instance of both KWrite and Konsole running on a ~2 Megapixel monitor. Can anyone confirm those?
"Keep window thumbnails" is set to "Never" in the compositor settings.

  • Compositing disabled: 280 MB
  • Compositing enabled: 330 MB

With compositing and more windows I get 520 MB, without compositing 380 MB. Sadly I can't remember how high those values were with KDE 4 and going back to it isn't an option here.
I've computers here with 512 MB video memory and less which scares me a bit (currently running fine with KDE 4). Are there any ways to keep KDE compositing and visual appearance together on such cards? If I remember correctly video memory usage was around 120 MB on those machines with enabled effects, basic applications but smaller screens (~1.3 MP).
It's clear that a 2 MP pixmap with four 8 bit channels takes around 64 MB but maybe the base value could be reduced?

Is there a way to query such information outside of the NVIDIA SMI tool? Xrestop shows only around 35 MB pixmap usage for the basic use case and around 100 MB for the advanced one. Are most of the differences OpenGL resources which won't be shown with that tool? Is there another one?

I left out a few other minor issues, maybe I'll ask for them at a later time.

Beside any issues I really like Plasma 5 and the very nice work (the renewed Klipper plasmoid is great). Thanks so far!
sakayo
Registered Member
Posts
4
Karma
0
I've small updates on two items.

Item 20: After a cold start video memory usage was around 100 MB less (around 200 MB instead of 300 MB even with a few additional applications) but after a few hours it is between 400 and 500 MB again. I'm not sure whether it's related to other applications, so does anyone has values from other KDE 5 installations for comparison?

Item 2: I've played with the style metrics of Oxygen (and Breeze too) a bit more and included screenshots / unified patch files against default 5.1.2.

My downscaled Oxygen is between the size of the old KDE 4 and the new KDE 5 one, so some still might want it a bit smaller.

A few things are not the way I'd like them to be, maybe someone has an idea (all related to Oxygen of KDE 5).
  • Left margin for labels could be higher (while keeping top and bottom margins)
  • Outer margins of popup menus could be higher (notice the difference between the old Qt4 based and the new Oxygen)
  • the lines around the tree view arrow are too short (in my patched and the original Oxygen)

Patched Breeze also needs a few additional corrections related to downscaling (e.g. spinbox arrows).

What follows are screenshots of the "oxgen-demo" tool (Qt4 / Qt5) with default and patched styles (001 is my "revision number"). Note that I'm using non-default fonts but they should be roughly equal in size.

Input widgets: Oxygen Qt4 / Oxygen Qt5 / Breeze Qt5 / Oxygen 001 / Breeze 001
Tab widgets: Oxygen Qt4 / Oxygen Qt5 / Breeze Qt5 / Oxygen 001 / Breeze 001
Buttons: Oxygen Qt4 / Oxygen Qt5 / Breeze Qt5 / Oxygen 001 / Breeze 001
Lists: Oxygen Qt4 / Oxygen Qt5 / Breeze Qt5 / Oxygen 001 / Breeze 001

Code: Select all
--- kstyle/oxygen.h   2015-01-05 00:00:00.000000000 +0000
+++ kstyle/oxygen.h   2015-01-05 00:00:00.000000000 +0000
@@ -60,45 +60,45 @@
         // layout
         Layout_TopLevelMarginWidth = 10,
         Layout_ChildMarginWidth = 6,
-        Layout_DefaultSpacing = 6,
+        Layout_DefaultSpacing = 4,
 
         // line editors
-        LineEdit_FrameWidth = 6,
+        LineEdit_FrameWidth = 4,
 
         // menu items
-        MenuItem_MarginWidth = 4,
-        MenuItem_ItemSpacing = 4,
+        MenuItem_MarginWidth = 2,
+        MenuItem_ItemSpacing = 2,
         MenuItem_AcceleratorSpace = 16,
         MenuButton_IndicatorWidth = 20,
 
         // combobox
-        ComboBox_FrameWidth = 6,
+        ComboBox_FrameWidth = 4,
 
         // spinbox
         SpinBox_FrameWidth = LineEdit_FrameWidth,
-        SpinBox_ArrowButtonWidth = 20,
+        SpinBox_ArrowButtonWidth = 16,
 
         // groupbox title margin
-        GroupBox_TitleMarginWidth = 4,
+        GroupBox_TitleMarginWidth = 3,
 
         // buttons
         Button_MinWidth = 80,
-        Button_MarginWidth = 6,
-        Button_ItemSpacing = 4,
+        Button_MarginWidth = 4,
+        Button_ItemSpacing = 3,
 
         // tool buttons
-        ToolButton_MarginWidth = 6,
-        ToolButton_ItemSpacing = 4,
+        ToolButton_MarginWidth = 5,
+        ToolButton_ItemSpacing = 3,
         ToolButton_InlineIndicatorWidth = 12,
 
         // checkboxes and radio buttons
-        CheckBox_Size = 23,
+        CheckBox_Size = 21,
         CheckBox_FocusMarginWidth = 2,
-        CheckBox_ItemSpacing = 8,
+        CheckBox_ItemSpacing = 4,
 
         // menubar items
-        MenuBarItem_MarginWidth = 10,
-        MenuBarItem_MarginHeight = 6,
+        MenuBarItem_MarginWidth = 8,
+        MenuBarItem_MarginHeight = 4,
 
         // scrollbars
         ScrollBar_MinSliderHeight = 21,
@@ -117,7 +117,7 @@
         ProgressBar_ItemSpacing = 4,
 
         // mdi title bar
-        TitleBar_MarginWidth = 4,
+        TitleBar_MarginWidth = 3,
 
         // sliders
         Slider_TickLength = 8,
@@ -126,17 +126,17 @@
         Slider_ControlThickness = 21,
 
         // tabbar
-        TabBar_TabMarginHeight = 6,
-        TabBar_TabMarginWidth = 12,
+        TabBar_TabMarginHeight = 4,
+        TabBar_TabMarginWidth = 8,
         TabBar_TabMinWidth = 80,
         TabBar_TabMinHeight = 28,
-        TabBar_TabItemSpacing = 8,
+        TabBar_TabItemSpacing = 6,
         TabBar_TabOverlap = 1,
         TabBar_TabOffset = 4,
         TabBar_BaseOverlap = 7,
 
         // tab widget
-        TabWidget_MarginWidth = 4,
+        TabWidget_MarginWidth = 3,
 
         // toolbox
         ToolBox_TabMinWidth = 80,
@@ -146,13 +146,13 @@
         ToolTip_FrameWidth = 3,
 
         // list headers
-        Header_MarginWidth = 8,
-        Header_ItemSpacing = 4,
-        Header_ArrowSize = 10,
+        Header_MarginWidth = 6,
+        Header_ItemSpacing = 3,
+        Header_ArrowSize = 8,
 
         // tree view
-        ItemView_ArrowSize = 10,
-        ItemView_ItemMarginWidth = 4,
+        ItemView_ArrowSize = 8,
+        ItemView_ItemMarginWidth = 2,
 
         // splitter
         Splitter_SplitterWidth = 3,



Code: Select all
--- kstyle/breeze.h   2015-01-05 00:00:00.000000000 +0000
+++ kstyle/breeze.h   2015-01-05 00:00:00.000000000 +0000
@@ -60,45 +60,45 @@
         // layout
         Layout_TopLevelMarginWidth = 10,
         Layout_ChildMarginWidth = 6,
-        Layout_DefaultSpacing = 6,
+        Layout_DefaultSpacing = 4,
 
         // line editors
         LineEdit_FrameWidth = 6,
 
         // menu items
-        MenuItem_MarginWidth = 4,
-        MenuItem_ItemSpacing = 4,
+        MenuItem_MarginWidth = 2,
+        MenuItem_ItemSpacing = 2,
         MenuItem_AcceleratorSpace = 16,
         MenuButton_IndicatorWidth = 20,
 
         // combobox
-        ComboBox_FrameWidth = 6,
+        ComboBox_FrameWidth = 4,
 
         // spinbox
         SpinBox_FrameWidth = LineEdit_FrameWidth,
-        SpinBox_ArrowButtonWidth = 20,
+        SpinBox_ArrowButtonWidth = 16,
 
         // groupbox title margin
-        GroupBox_TitleMarginWidth = 4,
+        GroupBox_TitleMarginWidth = 3,
 
         // buttons
         Button_MinWidth = 80,
-        Button_MarginWidth = 6,
-        Button_ItemSpacing = 4,
+        Button_MarginWidth = 4,
+        Button_ItemSpacing = 3,
 
         // tool buttons
-        ToolButton_MarginWidth = 6,
-        ToolButton_ItemSpacing = 4,
+        ToolButton_MarginWidth = 5,
+        ToolButton_ItemSpacing = 3,
         ToolButton_InlineIndicatorWidth = 12,
 
         // checkboxes and radio buttons
         CheckBox_Size = 20,
         CheckBox_FocusMarginWidth = 2,
-        CheckBox_ItemSpacing = 8,
+        CheckBox_ItemSpacing = 4,
 
         // menubar items
-        MenuBarItem_MarginWidth = 10,
-        MenuBarItem_MarginHeight = 8,
+        MenuBarItem_MarginWidth = 8,
+        MenuBarItem_MarginHeight = 4,
 
         // scrollbars
         ScrollBar_Extend = 20,
@@ -122,7 +122,7 @@
         ProgressBar_ItemSpacing = 4,
 
         // mdi title bar
-        TitleBar_MarginWidth = 4,
+        TitleBar_MarginWidth = 3,
 
         // sliders
         Slider_TickLength = 8,
@@ -135,12 +135,12 @@
         TabBar_TabMarginWidth = 8,
         TabBar_TabMinWidth = 80,
         TabBar_TabMinHeight = 28,
-        TabBar_TabItemSpacing = 8,
+        TabBar_TabItemSpacing = 6,
         TabBar_TabOverlap = 1,
         TabBar_BaseOverlap = 2,
 
         // tab widget
-        TabWidget_MarginWidth = 4,
+        TabWidget_MarginWidth = 3,
 
         // toolbox
         ToolBox_TabMinWidth = 80,
@@ -151,13 +151,13 @@
 
         // list headers
-        Header_MarginWidth = 8,
-        Header_ItemSpacing = 4,
-        Header_ArrowSize = 10,
+        Header_MarginWidth = 6,
+        Header_ItemSpacing = 3,
+        Header_ArrowSize = 8,
 
         // tree view
-        ItemView_ArrowSize = 10,
-        ItemView_ItemMarginWidth = 4,
+        ItemView_ArrowSize = 8,
+        ItemView_ItemMarginWidth = 2,
         SidePanel_ItemMarginWidth = 4,
 
         // splitter

User avatar
einar
Administrator
Posts
3402
Karma
7
OS
Please file bug reports where you have patches, and attach them to the report (one issue per patch). Not all developers check here, and by going to bugs.kde.org you'll likely have better exposure.

Alternatively you could post your patches to KDE's Review Board and add Hugo Pereira Da Costa (Breeze/Oxygen developer) to the list of "people" needed for the review.


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot], rblackwell