After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305871 - The prototype session should be embedded in a Sabayon toplevel window
The prototype session should be embedded in a Sabayon toplevel window
Status: RESOLVED FIXED
Product: sabayon
Classification: Deprecated
Component: general
SVN trunk
Other Linux
: Normal normal
: ---
Assigned To: Maintainers of sabayon
Maintainers of sabayon
Depends on:
Blocks:
 
 
Reported: 2005-05-29 22:06 UTC by Rosanna Yuen
Modified: 2007-09-19 19:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Rosanna Yuen 2005-05-29 22:06:11 UTC
1) Start Sabayon
2) Edit a profile
3) Close the edit window
4) No prompt appears and all edits disappear

user should be prompted to save changes
Comment 1 Mark McLoughlin 2005-06-09 13:44:45 UTC
Okay, the way we fix this I think is that we should create our own toplevel
window and run Xnest -parent $(our_window_id) ... i.e. embed the Xnest window in
our toplevel.

If we do that, it might we worth re-considering the UI of the monitor window.
Instead of having the monitor running inside the session, it could just be a
pane underneath the embedded session.

At the very least, the toplevel window needs to talk to the monitor window in
order to do the save confirmation stuff.
Comment 2 Mark McLoughlin 2005-06-10 14:54:01 UTC
First step is done:

2005-06-10  Mark McLoughlin  <markmc@redhat.com>

        Embed Xnest in a window which we create. First step
        towards making the monitor window contain the prototype
        session rather than the other way around.

        * admin-tool/Makefile.am: add sessionwindow.py and
        remove sabayon-session.

        * lib/protosession.py: allow passing a parent window id
        which Xnest should embed itself in.

        * admin-tool/sessionwindow.py: add. Creates a toplevel
        window and embeds Xnest in it.

        * admin-tool/profilesdialog.py: open a SessionWindow
        rather than running sabayon-session

        * admin-tool/sabayon-session: remove. I don't think
        we've needed to run the protosession code from a
        separate process for quite a while now. The original
        problem was that we couldn't open an X connection
        with the Xnest server if we already had an open X
        connection, but we solved that with the open_x_connection()
        hack in protosession.py (I think)

        * lib/config.py.in: remove SESSION_TOOL_ARGV

Comment 3 Mark McLoughlin 2005-06-21 15:34:05 UTC
Fixed on HEAD now:

2005-06-21  Mark McLoughlin  <markmc@redhat.com>

        Move the monitoring window out into the session
        window itself. Things still look a bit funny; more
        work needed.

        Fixes "closing session window doesn't ask me if I
        want to save". Bug #305871

        * admin-tool/sabayon-session: add this back again.
        The session window now runs as the sabayon user
        rather than as root.

        * admin-tool/Makefile.am: add sabayon-session

        * admin-tool/profilesdialog.py: run sabayon-session
        as the sabayon user. Need to setup the temporary homedir,
        copy/chown the xauth file and copy/chown the profile
        beforehand.

        * admin-tool/sabayon: check to see if the sabayon user
        exists and pop up an error if not.

        * admin-tool/sabayon.glade: re-name some widgets; pack
        the monitor output at the end of the vbox so we can
        stick the session widget in there.

        * admin-tool/sessionwindow.py: merge everything from
        monitorwindow.py in here and add a save confirmation
        dialog.

        * admin-tool/monitorwindow.py: remove.

        * lib/config.py.in: add SESSION_TOOL_ARGV and rename
        ADMIN_TOOL_TIMEOUT to XNEST_USR1_TIMEOUT.

        * lib/protosession.py: substantially re-work so as to
        split up the code into the stuff that needs to be run
        by sabayon as root and the stuff that gets run by
        sabayon-session as the sabayon user.

        * lib/dirmonitor.py, lib/storage.py: fix debug spew.