Bug 353615

Summary: unwanted part of the panel and crash if i remove second panel
Product: [Plasma] plasmashell Reporter: ibrahim <thegoldeneagle2012>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal CC: kde, notmart
Priority: NOR    
Version: 5.4.1   
Target Milestone: 1.0   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: installed Panel.qml file

Description ibrahim 2015-10-06 19:55:08 UTC
The unwanted ( area or part ) of the panel height appear in this image http://s29.postimg.org/jt5ns17vr/Desktop_1_056.png between two red arrows and runs along panel width.

Reproducible: Always

Steps to Reproduce:
Here is what happen to get this unwanted area and what lead to plasmashell crash:

1. I moved the panel to top edge.

2. Then i Added that line
BorderlessMaximizedWindows=true
under [Windows] section in file  $HOME/.config/kwinrc to remove title bar from maximized windows and it worked :)

3. Now the panel have shadow that cover my windows so i removed the shadow from breeze theme, through an edit to panel background file located in /usr/share/plasma/desktoptheme/default/widgets/panel-background.svgz

I delete this lines from the file
    <rect
       style="opacity:0.875;fill:#008000;fill-opacity:1;stroke:none"
       id="shadow-hint-bottom-margin"
       width="4"
       height="12"
       x="44.08107"
       y="-162.30389"
       transform="scale(1,-1)"
       inkscape:label="#rect3884" />
then the panel shadow was gone :) and i ended up to the first image with the unwanted area http://s29.postimg.org/jt5ns17vr/Desktop_1_056.png

I spend a lot of time trying to cut this area from the panel here is what i tried:

1- I removed the background of this area from panel background file /usr/share/plasma/desktoptheme/default/widgets/panel-background.svgz

I delete this lines from the file
    <g
       style="opacity:0.97899996"
       id="bottom"
       transform="matrix(0,2,-2.4615385,0,439.53847,-77.00061)">
      <path
         inkscape:connector-curvature="0"
         id="path3169"
         d="m 62,129 0,13 2,0 c 6.68e-4,-0.0217 0,-0.0406 0,-0.0625 l 0,-12.875 c 0,-0.0219 6.68e-4,-0.0408 0,-0.0625 l -2,0 z"
         style="fill:currentColor;fill-opacity:1"
         class="ColorScheme-Background" />
      <path
         class="ColorScheme-Background"
         inkscape:connector-curvature="0"
         style="fill:currentColor"
         d="m 63.500223,129 0,13 0.5,0 c 1.67e-4,-0.0217 0,-0.0406 0,-0.0625 l 0,-12.875 c 0,-0.0219 1.67e-4,-0.0408 0,-0.0625 l -0.5,0 z"
         id="path3171" />
      <path
         id="path3173"
         d="m 63.500223,129 0,13 0.5,0 c 1.67e-4,-0.0217 0,-0.0406 0,-0.0625 l 0,-12.875 c 0,-0.0219 1.67e-4,-0.0408 0,-0.0625 l -0.5,0 z"
         style="opacity:0.65;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
         inkscape:connector-curvature="0" />
    </g>
Then it become with no backgroud (transparency) so it shows part of my desktop bakground http://s29.postimg.org/pilwcce1z/Desktop_1_057.png

2- I added new default panel and it apeared at the bottom edge. then the unwanted area gone and it now look exactly like what i want http://s29.postimg.org/md5vzvktj/Desktop_1_058.png

but ofcorse with another panel in the bottom edge of the screen! so i removed the new defalut panel and a crash happened to plasmashell, then  the unwanted area of the panel come back again : (



Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f1f593a8940 (LWP 873))]

Thread 7 (Thread 0x7f1f44503700 (LWP 874)):
#0  0x00007f1f53b5f52d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f1f57b89252 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f1f57b8addf in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f1f4601b2f9 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
#4  0x00007f1f5424825e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f1f533680a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f1f53b6806d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 6 (Thread 0x7f1f41ec8700 (LWP 904)):
#0  0x00007f1f542471a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007f1f5447e3aa in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f1f5091f3fd in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1f5091fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f1f5091ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f1f5447ee4b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f1f544252ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f1f54243374 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f1f56a52055 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f1f5424825e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f1f533680a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007f1f53b6806d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7f1f396eb700 (LWP 906)):
#0  0x00007f1f5091fe76 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1f5091ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1f5447ee4b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f1f544252ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f1f54243374 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f1f56a52055 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007f1f5424825e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f1f533680a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007f1f53b6806d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7f1f2eda2700 (LWP 913)):
#0  0x00007f1f50964719 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1f5091f409 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1f5091fde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1f5091ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f1f5447ee4b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f1f544252ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f1f54243374 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f1f56a52055 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f1f5424825e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f1f533680a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f1f53b6806d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f1f2d50d700 (LWP 914)):
#0  0x00007f1f5336c08f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f1f58df9144 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f1f58df9189 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f1f533680a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f1f53b6806d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f1f26a25700 (LWP 922)):
#0  0x00007f1f5091ee5e in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f1f5091fd75 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f1f5091ffcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1f5447ee4b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f1f544252ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f1f54243374 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f1f573cfc26 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f1f5424825e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f1f533680a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007f1f53b6806d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f1f593a8940 (LWP 873)):
[KCrash Handler]
#6  0x00007f1f569982b0 in QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f1f56a5406c in QV8Engine::fromVariant(QVariant const&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f1f56a45417 in QV4::QmlContextWrapper::get(QV4::Managed*, QV4::String*, bool*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f1f56930d2a in QV4::ExecutionContext::getProperty(QV4::String*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f1f2c10992e in ?? ()
#11 0x00007f1f3b8bd950 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#12 0x00007f1f3b8bda38 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#13 0x000000003a888889 in ?? ()
#14 0x0000000000000000 in ?? ()



So that become a report for plasmashell crash and a report for my problem with this unwanted part of the panel.

I care about every pixel i have so i want to remove this ( area or part ) from the panel. is this possible?

Thanks.
Comment 1 David Edmundson 2015-10-07 00:46:57 UTC
as for the borders:
Easier thing to do is find the installed panel.qml and change adjustBorders function to instantly return

and add enabledBorders:  


As for the crash I think it's completely unrelated.
We're getting a few in a similar trace, and never reproducible.

If you can make it continually crash in that same way with some steps I would love to hear it

*** This bug has been marked as a duplicate of bug 353031 ***
Comment 2 ibrahim 2015-10-07 20:51:54 UTC
Created attachment 94883 [details]
installed Panel.qml file
Comment 3 ibrahim 2015-10-07 20:56:30 UTC
Here is my /usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml
Attachment #94883 [details]

and that what i edit
    function adjustBorders() {
        return;
        var borders = PlasmaCore.FrameSvg.AllBorders;
        if (!containment) {
            return;
        }

        switch (containment.location) {
        case PlasmaCore.Types.TopEdge:
            borders = borders & ~PlasmaCore.FrameSvg.TopBorder;
            break;
        case PlasmaCore.Types.LeftEdge:
            borders = borders & ~PlasmaCore.FrameSvg.LeftBorder;
            break;
        case PlasmaCore.Types.RightEdge:
            borders = borders & ~PlasmaCore.FrameSvg.RightBorder;
            break;
        case PlasmaCore.Types.BottomEdge:
        default:
            borders = borders & ~PlasmaCore.FrameSvg.BottomBorder;
            break;
        }

        if (panel.x <= panel.screen.geometry.x) {
            borders = borders & ~PlasmaCore.FrameSvg.LeftBorder;
        }
        if (panel.x + panel.width >= panel.screen.geometry.x + panel.screen.geometry.width) {
            borders = borders & ~PlasmaCore.FrameSvg.RightBorder;
        }
        if (panel.y <= panel.screen.geometry.y) {
            borders = borders & ~PlasmaCore.FrameSvg.TopBorder;
        }
        if (panel.y + panel.height >= panel.screen.geometry.y + panel.screen.geometry.height) {
            borders = borders & ~PlasmaCore.FrameSvg.BottomBorder;
        }

        root.enabledBorders = borders;
    }
    enabledBorders: 

and that what happen http://s12.postimg.org/aw9ls0qn1/Desktop_1_055.png

thank you.
Comment 4 ibrahim 2015-10-08 23:10:29 UTC
so what i did wrong and how i remove this borders?
Comment 5 David Edmundson 2015-10-09 08:44:42 UTC
try:
 function adjustBorders() {
 root.enabledBorders  = PlasmaCore.FrameSvg.NoBorders;
}
Comment 6 ibrahim 2015-10-09 12:36:00 UTC
same result no panel
http://s29.postimg.org/7yxl99jrb/Desktop_1_058.png
Comment 7 Marco Martin 2015-10-14 14:40:55 UTC

*** This bug has been marked as a duplicate of bug 353364 ***