Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#10539 closed defect (fixed)

Gnome: users can remove top panel

Reported by: godiard Owned by: martin.langhoff
Priority: normal Milestone: 10.1.3
Component: gnome-desktop Version: not specified
Keywords: Cc: martin.langhoff, sridhar
Blocked By: Blocking: #10409
Deployments affected: Action Needed: no action
Verified: no

Description

If the user remove the top panel can't start applications / change NetworkManager connections, etc

Attachments (1)

0001-Add-functions-to-olpc-session-to-check-gnome-configu.patch (2.3 KB) - added by godiard 4 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 4 years ago by godiard

  • Action Needed changed from never set to code

We can detect the it the top panel was removed doing:

gconftool-2 -g /apps/panel/general/toplevel_id_list

if the panel was removed returns:

[bottom_panel]

if not

[top_panel,bottom_panel]

to get the default panels again, we can do:

gconftool-2 --recursive-unset /apps/panel

The bottom panel can't be removed.

I need to see where place this code.

comment:2 Changed 4 years ago by pgf

why do you say the bottom panel can't be removed? (i just did it.)

comment:3 Changed 4 years ago by godiard

Because i tried after removing the top panel...

Now tried removing the bottom panel first, and is possible.

Conclusion, the last panel can't be removed.

comment:4 Changed 4 years ago by godiard

  • Action Needed changed from code to review
  • Cc martin.langhoff added
  • Component changed from not assigned to gnome-desktop
  • Owner set to martin.langhoff

Agreed with martin_xsa, we will check for existence of systray, window_list and menu_bar

We need add to /usr/bin/olpc-session in the Non Sugar Desktop section:

# Check existence of  systray, window_list and menu_bar applets
fix_gnome=false
if ! /usr/bin/gconftool-2 -g /apps/panel/general/applet_id_list | grep -q systray; 
then 
    fix_gnome=true
fi
if ! /usr/bin/gconftool-2 -g /apps/panel/general/applet_id_list | grep -q window_list;
then 
    fix_gnome=true 
fi
if ! /usr/bin/gconftool-2 -g /apps/panel/general/object_id_list | grep -q menu_bar;
then 
    fix_gnome=true
fi
if [ $fix_gnome = true ] ; then
    echo "ARREGLAR"
    gconftool-2 --recursive-unset /apps/panel
fi

comment:5 Changed 4 years ago by martin.langhoff

  • Action Needed changed from review to add to build

Patch, with minor tweaks, in olpc-utils 1.0.36 - awaiting next build... thanks Gonzalo!

comment:6 Changed 4 years ago by erikos

  • Action Needed changed from add to build to test in build

Is in 359.

comment:7 Changed 4 years ago by godiard

|TestCase|
Remove Main Menu, sys tray or window list, or the panels containing them, reboot X (or go to Sugar and return to Gnome) and the default panels will be restored.

comment:8 Changed 4 years ago by greenfeld

  • Action Needed changed from test in build to no action
  • Resolution set to fixed
  • Status changed from new to closed

Removing the Window list, Start Menu, and/or the panels containing these items as subitems is detected and corrected by restoring all these to the default settings. Tested in 10.1.3 os360.

Of note:

  • You can delete a panel without resetting everything if it does not contain an item we consider critical. You can also control which screen border a panel is on safely.
  • We cannot detect if someone deletes an item we consider critical and then adds it in a different spot. This forces a restore. Users need to move items (unlocking it if necessary from the same right-click menu used to allow moving) instead.
  • Alternatives items (such as using the Window Selector instead of Window List) which might be safe currently are not supported.

comment:9 Changed 4 years ago by sridhar

  • Cc sridhar added
Note: See TracTickets for help on using tickets.