Opened 11 years ago

Closed 11 years ago

Last modified 7 years ago

#602 closed task (fixed)

Switch to metacity as the window manager

Reported by: sayamindu Owned by: tomeu
Priority: Urgent Milestone:
Component: Sugar Version: Git as of bugdate
Severity: Major Keywords: windowmanagement
Cc: tomeu Distribution/OS: Unspecified
Bug Status: New

Description

We need to try to do this as early as possible in the release cycle.

There can be two approaches:

  1. We maximize any window with a _SUGAR_ACTIVITY_ID set (assuming that all activities have _SUGAR_ACTIVITY_ID set)
  1. We define a blacklist (which contains applications like the GIMP, etc), and maximize the rest of the applications (this is the policy followed by maximus Netbook Remix)

I am attaching the patch which does the first item.

Attachments (5)

enable_metacity.patch (2.3 KB) - added by sayamindu 11 years ago.
Works for me. You may need to install metacity in the sugar-jhbuild environment to make this work
Screenshot-sugar_metacity.png (117.3 KB) - added by sayamindu 11 years ago.
Screenshot (Terminal as usual, with GIMP running in the foreground)
enable_metacity_in_jhbuild.patch (1.8 KB) - added by sayamindu 11 years ago.
Patch which adds metacity as a dependency in jhbuild (this is just to ease the testing process). Use sugar-jhbuild buildone metacity to install metacity after you have applied the patch.
0001-Add-a-switch-to-disable-autofullscreen-ing-maximized.patch (4.5 KB) - added by tomeu 11 years ago.
0001-Change-window-management-stuff-so-Sugar-can-use-a-st.patch (2.8 KB) - added by tomeu 11 years ago.

Download all attachments as: .zip

Change History (13)

Changed 11 years ago by sayamindu

Works for me. You may need to install metacity in the sugar-jhbuild environment to make this work

comment:1 Changed 11 years ago by tomeu

  • Cc tomeu added

Just tried it out without installing metacity in jhbuild and it showed the following issues:

  • activity windows appear always on top, without any decoration and very small,
  • no cursors, just the default X pointer,
  • no activity icons in the top frame nor below the XO icon.

Do you see these issues as well? Which version of metacity have you tested with?

comment:2 Changed 11 years ago by sayamindu

I think you have metacity crashing since it can find the relevant GConf keys in the sugar jhbuild environment. Please install metacity in the sugar-jhbuild (either by patching the config files, or under sugar-jhbuild shell, installing it with the right --prefix).

The only thing I have seen is the cursor icon not working.

Changed 11 years ago by sayamindu

Screenshot (Terminal as usual, with GIMP running in the foreground)

Changed 11 years ago by sayamindu

Patch which adds metacity as a dependency in jhbuild (this is just to ease the testing process). Use sugar-jhbuild buildone metacity to install metacity after you have applied the patch.

comment:3 Changed 11 years ago by garycmartin

Activity testing results (from list email).

Correctly positioned:

Memorize
IRC
InfoSlicer
Write
Chat
Terminal
Browse
Joke Machine
Poll Builder
Paint
Labyrinth
View Slides
Image Viewer
Jukebox
Read

Offset, incorrectly sized and/or other related issue:

Jigsaw Puzzle
Moon
Calculate
Pippy
TurtleArt (locked up, very slow, unusable)
Record (main window OK but preview window ends up obscuring much of the UI)
Etoys (mainly black screen, very slow, unusable, would not fully stop)
FreeCell (mainly black screen, very slow, unusable, would not fully stop)
Story Builder
TamTamSynthLab
TamTamMini
TamTamEdit
Slider Puzzle
Cartoon Builder
Flipsticks
Develop
Log

Watching the re-draw as things (messily) start-up, it kind'a looks like windows are initially opened at a mix of different sizes (some too small, some too large). The activity then sets-up its UI, and only then receive some late window manager event to go fullscreen. Activities that don't expect their window to be dynamically resized stay offset and/or incorrectly sized.

comment:4 Changed 11 years ago by garycmartin

Other issues noted (from list email):

  • When activities are started you initially see a sugar-session window with traditional widget decoration (close/minimise/etc) and title, again after a few seconds delay the pulsing activity icon begins and then the window decorations switch off and the window re-adjusts its size/layout.
  • All activities end up with a 3-4 pixel grey boarder around their outer edge (Fitts's law issue as right/bottom scroll bars are no longer at the edge of the screen).
  • You can still drag a fullscreen activity window around using the top grey boarder.
  • Holding alt down and dragging, drags a fullscreen window around from anywhere.
  • A few times when clicking the grey boarders I managed to trigger the window manager's context palette and window resizing cursors.
  • Watch out for some window manager shortcut keys Alt+F9, Alt+F7, Alt+F8, Alt+F4.

comment:5 Changed 11 years ago by tomeu

Added a switch to metacity so we don't need that grey border around windows. We'll need to fix some activities though.

comment:6 Changed 11 years ago by tomeu

Watching the re-draw as things (messily) start-up, it kind'a looks like windows are initially opened at a mix of different sizes (some too small, some too large). The activity then sets-up its UI, and only then receive some late window manager event to go fullscreen. Activities that don't expect their window to be dynamically resized stay offset and/or incorrectly sized.

  • When activities are started you initially see a sugar-session window with traditional widget decoration (close/minimise/etc) and title, again after a few seconds delay the pulsing activity icon begins and then the window decorations switch off and the window re-adjusts its size/layout.

This is because the launching window is decorated, we should make it undecorated as well.

  • All activities end up with a 3-4 pixel grey boarder around their outer edge (Fitts's law issue as right/bottom scroll bars are no longer at the edge of the screen).
  • You can still drag a fullscreen activity window around using the top grey boarder.
  • A few times when clicking the grey boarders I managed to trigger the window manager's context palette and window resizing cursors.

The grey border was a workaround because of http://bugzilla.gnome.org/show_bug.cgi?id=586600 that is not needed any more.

  • Holding alt down and dragging, drags a fullscreen window around from anywhere.

We should look at this one next.

  • Watch out for some window manager shortcut keys Alt+F9, Alt+F7, Alt+F8, Alt+F4.

We can disable keybindings through GConf

comment:7 Changed 11 years ago by tomeu

  • Resolution set to fixed
  • Status changed from new to closed

Closing this as the metacity switch is working fine except for activities with sizing bugs. Let's open new tickets for each issue we find next.

comment:8 Changed 7 years ago by dnarvaez

  • Milestone 0.86 deleted

Milestone 0.86 deleted

Note: See TracTickets for help on using tickets.