Bug 355918 - Plasma panel sometimes don't respect "autohide" option in plasma/layout-templates/*/contents/layout.js
Summary: Plasma panel sometimes don't respect "autohide" option in plasma/layout-templ...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 5.4.3
Platform: openSUSE Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-26 06:43 UTC by opensuse.lietuviu.kalba
Modified: 2015-12-28 16:24 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description opensuse.lietuviu.kalba 2015-11-26 06:43:56 UTC
Plasma panel don't respect "autohide" option in plasma/layout-templates/*/contents/layout.js,
if script execution is trigered for new user at first login into KDE Plasma 5.

Reproducible: Always

Steps to Reproduce:
1. Open plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js
2. insert line:
panel.hiding = "autohide" ;
3. Save file.
4. Create new user.
5. Login with new user into KDE Plasma 5 desktop

Actual Results:  
Panel not auto-hiden

Expected Results:  
Panel is auto-hiden

P.S. To workaround I try:
 sleep(4000) ;

but this not helped – no pause while creation panel  for new user at first login into KDE Plasma 5.
Comment 1 David Edmundson 2015-12-05 18:28:39 UTC
Same bug as we had for min, max length.

Will fix, thanks.
Comment 2 David Edmundson 2015-12-28 16:24:09 UTC
Git commit 0dc7f6c3e5d62f6d8211e5d024ee3080b2baae37 by David Edmundson.
Committed on 28/12/2015 at 16:23.
Pushed by davidedmundson into branch 'master'.

Don't rely graphic objects in panel script engine

The basic design of Plasma is that scripts and and the shell (in theory)
manipulate a tree of basic applet geometry and configs.

Plasmashell then reacts to those changes and displays them visually with
a distinct separation between the layout and UI.

Panel's scriptengine seemed to do away with all, and try and manipulate
the graphic object directly..which might not exist and that leads to
complex code.

This changes it to read/write from the same config object as
PanelView will use. More akin to how the script engine for applet and
contiainment works.

If there's a view for this panel, we update immediately, otherwise it'll
just get loaded when it's needed. PanelView::reload() has the error
checking/bounds management so no point duplicating that.
REVIEW: 125921

M  +12   -35   shell/panelview.cpp
M  +3    -0    shell/panelview.h
M  +89   -277  shell/scripting/panel.cpp
M  +1    -0    shell/scripting/panel.h

http://commits.kde.org/plasma-workspace/0dc7f6c3e5d62f6d8211e5d024ee3080b2baae37