when running xfdesktop without session management, pressing the quit button in the desktop menu only terminates xfdesktop, it does log you out of xfce, i.e. presents you with the logout question window. xfdesktop (and other core xfce4 components) version CVS-20041101 Nick.
yep, that's how it's supposed to work.
>> Frankly, that does not make sense to me. The normal user probably sees xfce as a whole and presenting him/her >> with a quit button in the desktop menu implies IMHO that it would log out of the current session and not just >> end the desktop. >that's a matter of opinion ^_~. That's why I wrote "IMHO" ;-) But don't you thing that it's more intuitive to consider the quit as a logout button? I mean, if you ask 100 unbiased users, I would guess at least 90 of them would not expect that just their desktop is silently vanishing. >> Shouldn't then pressing the panel quit/exit button only terminate the panel? >it does. it just so happens that the default order of app loading for a >session-manager-less start has the panel as the last app, and thus the "session >controlling app", so quitting the panel make xinitrc return, and thus makes X >quit. Right, forgot about that. So if the users adds something elso to his/her custom xinitrc that gets started after the panel, ending (e.g. accidentally) that app would terminate the session as well?! Maybe another logout mechnism should be considered? I know, just run xfce4-session... ;-) I normally do, it's disable due to debugging purposes for now. Thanks for your patience, Nick.
And I might add, that with session management running, all quit/exit buttons act the same, which is preparing for logging out of the session. Compared to the situation without session management, that does not seem strictly consistent. Nick
(In reply to comment #2) > Right, forgot about that. So if the users adds something elso to his/her custom > xinitrc that gets started after the panel, ending (e.g. accidentally) that app > would terminate the session as well?! for starters, it's hard to do this accidentally. xinitrc is just a normal shell script; it executes each line of the script sequentially, moving to the next line when the current line finishes. to load the entire environment, you have to "daemonise" all but the last process, like so: xfce-mcs-manager # runs as a daemon by default xfwm4 --daemon # runs as a daemon with the option xfdesktop & # no daemon mode, requires an '&' xfcalendar & # ditto xfce4-panel # session controlling app; must remain in the foreground so if you were to add something to the end of the list, nothing would happen. xfce4-panel would start, and "block" further exection of the script until it exits. actually, if you were then to use the "exit" item on the panel, the panel would quit, and this other app listed after it would start. then after quitting that app, X itself would quit actually xinit, the process that handles starting the X server, quits. i know this might seem unintuitive, but this is just how it works. X wasn't designed with the notion of a session manager. the idea is, you run 'xinit', and it handles starting X and loading some specified script (~/.xinitrc by default). when the script exits, xinit shuts down X. this is just how it's always worked, and desktop environments with several components and no session manager leverage this procedure to create a pseudo-session. > Maybe another logout mechnism should be > considered? I know, just run xfce4-session... ;-) I normally do, it's disable > due to debugging purposes for now. nope, definitely not. the session manager paradigm is quite mature and well-tested. this is going to be the only supported method for running xfce. i'm not sure i understand what you mean by "debugging purposes"; there's no compelling reason i see to avoid running xfce4-session. > And I might add, that with session management running, all quit/exit buttons > act the same, which is preparing for logging out of the session. Compared to > the situation without session management, that does not seem strictly > consistent. not sure what your point is here; it seems perfectly consistent now that we have a session manager. using a "quit" item on a part of the desktop environment itself should log out out from the environment. from a user's perspective, there is no xfdesktop, there is no xfce4-panel or xfmw4. there's just xfce.
> >for starters, it's hard to do this accidentally. xinitrc is just a normal Agreed, but who knows what they're trying to fiddle with ;-) >script; it executes each line of the script sequentially, moving to the next >line when the current line finishes. to load the entire environment, you have >to "daemonise" all but the last process, like so: > >xfce-mcs-manager # runs as a daemon by default >xfwm4 --daemon # runs as a daemon with the option >xfdesktop & # no daemon mode, requires an '&' >xfcalendar & # ditto >xfce4-panel # session controlling app; must remain in the foreground > >so if you were to add something to the end of the list, nothing would happen. >xfce4-panel would start, and "block" further exection of the script until it >exits. actually, if you were then to use the "exit" item on the panel, the >panel would quit, and this other app listed after it would start. then after >quitting that app, X itself would quit actually xinit, the process that handles >starting the X server, quits. Well, I know all this. I'm very familiar with the way X works, shell scripts and what xinit is doing. I tried to review things from a "normal" users perspective. > >i know this might seem unintuitive, but this is just how it works. X wasn't >designed with the notion of a session manager. the idea is, you run 'xinit', >and it handles starting X and loading some specified script (~/.xinitrc by >default). when the script exits, xinit shuts down X. this is just how it's >always worked, and desktop environments with several components and no session >manager leverage this procedure to create a pseudo-session. > >>Maybe another logout mechnism should be >>considered? I know, just run xfce4-session... ;-) I normally do, it's disable >>due to debugging purposes for now. > > >nope, definitely not. the session manager paradigm is quite mature and >well-tested. this is going to be the only supported method for running xfce. >i'm not sure i understand what you mean by "debugging purposes"; there's no >compelling reason i see to avoid running xfce4-session. > Maybe I've been a bit short. I'm not suggesting to dump the session manager, not at all. I disabled it because I was starting the panel manually in gdb via xinit (for debugging purposes, see bug 450). I was trying to say that when running the session manager, everything works as expected, so one better should be. I only noticed the behaviour we're currently discussing about when I disabled xfce4-session. That remark was a bit misleading, I admit. >>And I might add, that with session management running, all quit/exit buttons >>act the same, which is preparing for logging out of the session. Compared to >>the situation without session management, that does not seem strictly >>consistent. > > >not sure what your point is here; it seems perfectly consistent now that we have >a session manager. using a "quit" item on a part of the desktop environment >itself should log out out from the environment. from a user's perspective, >there is no xfdesktop, there is no xfce4-panel or xfmw4. there's just xfce. > Right, that was my point from the beginning (see one of the previous mails)! When the session manager is running, everything appears quite consistent/uniform for the user. But if you don't use it, all quit/exit buttons do something different: the desktop menus button ends the desktop, the panels exit button pops up the "Are you sure you wanna end this session" window. And for one not knowing about the way xinit works, that is hardly comprehensible. So my point is: Quit/exit buttons should always do the same thing: end the session, whatever way of starting up xfce you choose. Otherwise they should not be there or give a hint of what they're doing. In xfdesktops case there could pop up a note that says s.th. like "Terminating xfdesktop. Ya sure?" What about creating a dummy process in xinit, that does nothing than waiting for it's termination when logging out? I'm just suggesting this know, without thinking more deeply about it (it's getting later in Germany), so please be forbearing if it turns out to be totally foolish ;-) Hope I made myself clearer this time. Nick PS: Man, this bugzilla "Additional Comments" window is damn small
(In reply to comment #5) > > > >for starters, it's hard to do this accidentally. xinitrc is just a normal > > Agreed, but who knows what they're trying to fiddle with ;-) then i don't see why we need to support that. if the user wants to fiddle, and it breaks, they get to keep the pieces. > Well, I know all this. I'm very familiar with the way X works, shell scripts > and what xinit is doing. ah, sorry. i tend to try to explain things as fully as possible, since i usually don't know the knowledge level of my audience. > I tried to review things from a "normal" users perspective. except that you're not. the "normal" user isn't going to know about xinitrc, at least not now that we have a session manager. > Maybe I've been a bit short. I'm not suggesting to dump the session manager, > not at all. I disabled it because I was starting the panel manually in gdb via > xinit (for debugging purposes, see bug 450). not necessary. with the session manager running, just kill xfce4-panel from a terminal and restart it in gdb. much easier than fiddling with xinitrc. > I was trying to say that when running the > session manager, everything works as expected, so one better should be. I only > noticed the behaviour we're currently discussing about when I disabled > xfce4-session. That remark was a bit misleading, I admit. yep, i understand that. but my point is that users aren't going to run without the session manager anymore, and i have no desire to support those that ditch it. > Right, that was my point from the beginning (see one of the previous mails)! > When the session manager is running, everything appears quite > consistent/uniform for the user. But if you don't use it, all quit/exit > buttons do something different: the desktop menus button ends the desktop, > the panels exit button pops up the "Are you sure you wanna end this session" > window. And for one not knowing about the way xinit works, that is hardly > comprehensible. see above. users don't have to know, and under normal operation, they'll never encounter this scenario. > So my point is: Quit/exit buttons should always do the same thing: end the > session, whatever way of starting up xfce you choose. not easily implementable for the case without a session manager, since there's no way of telling which app is the session-controlling one. > Otherwise they should not > be there or give a hint of what they're doing. In xfdesktops case there could > pop up a note that says s.th. like "Terminating xfdesktop. Ya sure?" from the menu's point of view, it doesn't know anything about the session at all. the menu is designed to be a module, and it doesn't know (or care) that it's running as a part of xfdesktop or xfce4-panel. it just calls a function that has a predetermined name and that's all the interaction it has. > What about creating a dummy process in xinit, that does nothing than waiting > for it's termination when logging out? I'm just suggesting this know, without > thinking more deeply about it (it's getting later in Germany), so please be > forbearing if it turns out to be totally foolish ;-) ok, but then how does the user terminate this process? have the quit buttons do a kill()? that just seems messy to me. at any rate, it's a moot point, because it's a waste of time, as we're not going to support the case of not using the session manager. there's just no reason why you'd need to do it the other way. > PS: Man, this bugzilla "Additional Comments" window is damn small yeah, you're right. i just added another 5 lines to it. should be 80x15 now.
> >except that you're not. the "normal" user isn't going to know about xinitrc, at >least not now that we have a session manager. > >>Maybe I've been a bit short. I'm not suggesting to dump the session manager, >>not at all. I disabled it because I was starting the panel manually in gdb via >>xinit (for debugging purposes, see bug 450). > > >not necessary. with the session manager running, just kill xfce4-panel from a >terminal and restart it in gdb. much easier than fiddling with xinitrc. > Yeah of course, but I wasn't sure how long that debugging would last, so starting the panel in gdb automatically at login seemed more convenient and hacking xinitrc took a second. As I said, that whole *nix thing is not new to me ;-) >>I was trying to say that when running the >>session manager, everything works as expected, so one better should be. I only >>noticed the behaviour we're currently discussing about when I disabled >>xfce4-session. That remark was a bit misleading, I admit. > > >yep, i understand that. but my point is that users aren't going to run without >the session manager anymore, and i have no desire to support those that ditch it. > >>Right, that was my point from the beginning (see one of the previous mails)! >>When the session manager is running, everything appears quite >>consistent/uniform for the user. But if you don't use it, all quit/exit >>buttons do something different: the desktop menus button ends the desktop, >>the panels exit button pops up the "Are you sure you wanna end this session" >>window. And for one not knowing about the way xinit works, that is hardly >>comprehensible. > > >see above. users don't have to know, and under normal operation, they'll never >encounter this scenario. > >>So my point is: Quit/exit buttons should always do the same thing: end the >>session, whatever way of starting up xfce you choose. > > >not easily implementable for the case without a session manager, since there's >no way of telling which app is the session-controlling one. > >>Otherwise they should not >>be there or give a hint of what they're doing. In xfdesktops case there could >>pop up a note that says s.th. like "Terminating xfdesktop. Ya sure?" > > >from the menu's point of view, it doesn't know anything about the session at >all. the menu is designed to be a module, and it doesn't know (or care) that >it's running as a part of xfdesktop or xfce4-panel. it just calls a function >that has a predetermined name and that's all the interaction it has. > > > >>What about creating a dummy process in xinit, that does nothing than waiting >>for it's termination when logging out? I'm just suggesting this know, without >>thinking more deeply about it (it's getting later in Germany), so please be >>forbearing if it turns out to be totally foolish ;-) > > >ok, but then how does the user terminate this process? have the quit buttons >do a kill()? that just seems messy to me. at any rate, it's a moot point, >because it's a waste of time, as we're not going to support the case of not >using the session manager. there's just no reason why you'd need to do it the >other way. > It could be like a xfce4-session with no functionality at all. But no use discussing moot things. One last remark: if xfce4-session is so crucial for proper functionality (and don't get me wrong: I agree session management is a must-have), you should make it a requirement, not optional. Good night and happy voting, Nick.