Re: [gnome-flashback] End session dialog improvements





On Mon, Oct 27, 2014 at 4:19 AM, Balló György <ballogyor gmail com> wrote:
2014-10-23 3:14 GMT+02:00 Alberts Muktupāvels <alberts muktupavels gmail com>:
>
>
> On Thu, Oct 23, 2014 at 12:25 AM, Balló György <ballogyor gmail com> wrote:
>>
>> 2014-10-22 22:53 GMT+02:00 Alberts Muktupāvels
>> <alberts muktupavels gmail com>:
>> >
>> >
>> > On Wed, Oct 22, 2014 at 11:29 PM, Balló György <ballogyor gmail com>
>> > wrote:
>> >>
>> >> 2014-10-22 20:59 GMT+02:00 Alberts Muktupāvels
>> >> <alberts muktupavels gmail com>:
>> >> >>> 1. Add support for suspend and hibernate with logind. This adds
>> >> >>> 'Suspend', 'Hibernate' and 'Hybrid Sleep' buttons to the shutdown
>> >> >>> dialog if logind is available on the system, and the user is
>> >> >>> allowed
>> >> >>> for these actions.
>> >> >>
>> >> >>
>> >> >> I agree that we should add these options, but I would like this to
>> >> >> be
>> >> >> done
>> >> >> in different way.
>> >> >>
>> >> >> 1) GNOME Flashback.
>> >> >> 1.1) Add new enums to FlashbackLogoutAction -
>> >> >> FLASHBACK_LOGOUT_ACTION_HIBERNATE, FLASHBACK_LOGOUT_ACTION_SUSPEND,
>> >> >> FLASHBACK_LOGOUT_ACTION_HYBRID_SLEEP.
>> >> >> 1.2) Update update_dialog_text, setup_dialog for new actions.
>> >> >> 1.3) Update inhibit_dialog_response to emit confirmed for new
>> >> >> actions
>> >> >> 1.4) Update org.gnome.SessionManager.EndSessionDialog.xml:
>> >> >> 1.4.1) Update summary for dialog types - 3 for .., 4 for ..., 5 for.
>> >> >> 1.4.2) Add new signals - ConfirmedHibernate, ConfirmedSuspend,
>> >> >> ConfirmedHybridSleep
>> >> >>
>> >> >> 2) GNOME Panel.
>> >> >> Did not think much here but I think that we should do something like
>> >> >> this.
>> >> >> 2.1) First i think we should update panel-session-manager.
>> >> >> 2.1.1) Add new proxy for communication directly with
>> >> >> EndSessionDialog.
>> >> >> Should connect to new signals ConfirmedHibernetate,
>> >> >> ConfirmedSuspend,
>> >> >> ConfirmedHybridSleep.
>> >> >> 2.1.2) Add new functions that will return if these new options are
>> >> >> available to user. Just like
>> >> >> panel_session_manager_is_shutdown_available.
>> >> >> 2.1.3) Add new functions to request new actions. Just like
>> >> >> panel_session_manager_request_shutdown, but only using end session
>> >> >> dialog
>> >> >> proxy and calling directly Open method.
>> >> >> 2.1.4) Update user-menu. Here I want see ubuntu style - all
>> >> >> available
>> >> >> options should be shown here. - Logout, Reboot, Shutdown, Hibernate,
>> >> >> Suspend, Hybrid Sleep.
>> >> >>
>> >> >> I would like to leave end-session-dialog for only showing dialog to
>> >> >> confirm or cancel action. Also I do not like adding extra buttons to
>> >> >> dialog.
>> >> >>
>> >> >> What do you think about this?
>> >> >
>> >> >
>> >> > I already done GNOME Flashback part.
>> >>
>> >> It's a much more complicated implementation than mine, but fine for me
>> >> if you implement this. Why don't you call logind directly from the end
>> >> session dialog rather than sending the signal back to the panel? I
>> >> would prefer if the end session dialog would be able to do
>> >> suspend/hibernate on its own, without the panel.
>> >
>> >
>> > I don't like idea to add extra buttons in that dialog. You added extra
>> > response for restart, but it is already supported by dialog. It only
>> > needs
>> > to be opened as restart dialog.
>>
>> I agree with this. I just modeled it after the old end session dialog,
>> but if you add a separated menu item for the restart action on the
>> panel, then it's not needed.
>>
>> > Also I think that lock screen button should be removed from dialog, but
>> > I
>> > will leave it at least for now. What point of opening dialog if you want
>> > lock screen? Simply choose lock screen from user menu.
>>
>> Agree.
>>
>> > Why open dialog through session manager if we are not going to use it in
>> > any
>> > way if we want simply hibernate or suspend? If you want suspend and will
>> > leave dialog open for 60 seconds it will take default action - shutdown.
>>
>> Agree. I didn't say to use the session manager for suspend/hibernate.
>> Use logind directly.
>>
>> > And gnome-flashback is not meant to be used without gnome-panel so this
>> > is
>> > not a problem in any way.
>>
>> I disagree with this. I think that flashback components should be
>> reusable as much as possible. If I understand, you want to implement
>> hibernate/suspend in the following way:
>>
>> 1. User click on the menu item in gnome-panel.
>> 2. End session dialog opens, user click on the accept button.
>> 3. End session dialog passes back the signal to gnome-panel.
>> 4. gnome-panel calls logind.
>> 5. logind do the action.
>>
>> But I would prefer this:
>>
>> 1. User click on the menu item in gnome-panel.
>> 2. End session dialog opens, user click on the accept button.
>> 3. End session dialog calls logind.
>> 4. logind do the action.
>
>
> Any real life case where it could be reused? We should focus on fixing
> broken things not focus on making it reusable to other.
>
> Most parts I have already done. GNOME Flashback part is completed, GNOME
> Panel partially - only adding actions to menu is missing...
>
> But not sure what to do next. First I want to get ride of internal objects
> making everything on panel as real applets. Secondly we are probably
> removing presence from user menu. So I think that easier would be to make
> new system menu applet that will replace user menu. Should I go with new
> applet or edit existing?

Is there any benefit of turning the internal applets into real
applets? Those internal applets are reuse their components, e.g. you
can see the user menu also in the "Main menu" applet.

Current code for main-menu, menu-bar and user-menu are big mess. I am plaining to convert menu applets similar to wnck applet. Menu applet will provide all three applets so there should not be problem to reuse some parts in all menu applets. I won't do this for 3.14 it would take too much time.

I've already sent a patch that removes telepathy integration and
presence API support from gnome-panel. You can simply rename the "User
menu" applet to "System menu". And don't forget about adding support
for user switch with LightDM (patch sent).

For 3.14 I will probably add LightDM patch and hack current user menu to add restart, suspend, hibernate and hybrid sleep menu items. I am not sure if I want remove presence for 3.14.
 
BTW, why don't you merge the 'wip/gnome-3.10+' branch into master?

Because I am not maintainer. Most work in wip branch was already in master, but was removed... But probably I will do it soon.

--
Alberts Muktupāvels


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]