<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"	>
<channel>
	<title>Comments on: Session management</title>
	<atom:link href="http://blogs.gnome.org/metacity/2008/03/08/session-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/</link>
	<description>"Many window managers are like Marshmallow Froot Loops; Metacity is like Cheerios."</description>
	<lastBuildDate>Sun, 08 Nov 2009 05:22:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Thomas Thurman</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-275</link>
		<dc:creator>Thomas Thurman</dc:creator>
		<pubDate>Tue, 18 Mar 2008 17:21:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-275</guid>
		<description>Sounds like a good plan.  Did the GTK folks ever get anything together, do you know?  Is there maybe a bug?</description>
		<content:encoded><![CDATA[<p>Sounds like a good plan.  Did the GTK folks ever get anything together, do you know?  Is there maybe a bug?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: herzi</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-274</link>
		<dc:creator>herzi</dc:creator>
		<pubDate>Tue, 18 Mar 2008 17:08:05 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-274</guid>
		<description>Actually, I haven&#039;t proposed to drop the burden of window-state-saving to the application developer, IMHO (and I think several others agree here) the toolkit should be responsible for that (so the app developer will only have to give some little hints to the toolkit).</description>
		<content:encoded><![CDATA[<p>Actually, I haven&#8217;t proposed to drop the burden of window-state-saving to the application developer, IMHO (and I think several others agree here) the toolkit should be responsible for that (so the app developer will only have to give some little hints to the toolkit).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Winship</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-247</link>
		<dc:creator>Dan Winship</dc:creator>
		<pubDate>Sun, 09 Mar 2008 20:29:52 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-247</guid>
		<description>&quot;Well, that was rather the point: the two people who I know to have suggested this think XSMP is poorly designed, so they don’t really mind what it says we should do.&quot;

Hm... I guess I meant &quot;you can&#039;t do this *now*, without breaking things&quot;, not &quot;you can&#039;t do this at all! you have to maintain that code FOREVER BWAHAHA&quot;. :)</description>
		<content:encoded><![CDATA[<p>&#8220;Well, that was rather the point: the two people who I know to have suggested this think XSMP is poorly designed, so they don’t really mind what it says we should do.&#8221;</p>
<p>Hm&#8230; I guess I meant &#8220;you can&#8217;t do this *now*, without breaking things&#8221;, not &#8220;you can&#8217;t do this at all! you have to maintain that code FOREVER BWAHAHA&#8221;. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Thurman</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-246</link>
		<dc:creator>Thomas Thurman</dc:creator>
		<pubDate>Sun, 09 Mar 2008 16:34:40 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-246</guid>
		<description>&lt;i&gt;You can’t abolish session management *just* within the window manager, because XSMP says the window manager restores window positions, so if you don’t, then session management won’t work right.&lt;/i&gt;

Well, that was rather the point: the two people who I know to have suggested this think XSMP is poorly designed, so they don&#039;t really mind what it says we should do.

Taking the fifth option would presumably require checking that all major applications (that we had some control over) were capable of restoring their windows correctly.  gedit would certainly fall into this category.

(I only made the mental connection the other day that having the WM deal with this means that everyone has a huge list on disk of the titles of the webpage they were looking at when they logged out or their laptop ran out of power, since that&#039;s kept in the window title.  That&#039;s presumably something that a browser might want to do differently, but the WM can&#039;t know any better.)</description>
		<content:encoded><![CDATA[<p><i>You can’t abolish session management *just* within the window manager, because XSMP says the window manager restores window positions, so if you don’t, then session management won’t work right.</i></p>
<p>Well, that was rather the point: the two people who I know to have suggested this think XSMP is poorly designed, so they don&#8217;t really mind what it says we should do.</p>
<p>Taking the fifth option would presumably require checking that all major applications (that we had some control over) were capable of restoring their windows correctly.  gedit would certainly fall into this category.</p>
<p>(I only made the mental connection the other day that having the WM deal with this means that everyone has a huge list on disk of the titles of the webpage they were looking at when they logged out or their laptop ran out of power, since that&#8217;s kept in the window title.  That&#8217;s presumably something that a browser might want to do differently, but the WM can&#8217;t know any better.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: http://mysterion.org/~danw/blog/</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-245</link>
		<dc:creator>http://mysterion.org/~danw/blog/</dc:creator>
		<pubDate>Sun, 09 Mar 2008 14:29:33 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-245</guid>
		<description>&gt; 5) Abolish session management (or at least session management within the window manager).

You can&#039;t abolish session management *just* within the window manager, because XSMP says the window manager restores window positions, so if you don&#039;t, then session management won&#039;t work right. Eg, I know for sure that if you resume a saved gedit state without having metacity resume its window positions, that you will end up with all of your gedit windows being 200x200 (the default size for a GtkWindow, which is much too small to be useful for gedit). I&#039;m not sure how other apps behave; some might at least default to a reasonable size, if not the actual correct size.

As for having apps remember their own state, there are two levels of that. On the one hand, there&#039;s &quot;apps should remember a default window size&quot; and/or &quot;apps should remember the window size the user last used for a given document&quot;, and apps can already do that, and I think there&#039;s a reasonable amount of agreement that they *should* do that as well.

On the other hand, there&#039;s full-blown session state saving of the sort that allegedly happens when you save-session-on-logout now, where you&#039;re trying to restore not just window size, but actually the exact global arrangement of all windows that you had previously. This is something that it&#039;s not possible for apps to handle entirely on their own currently, because in some WMs, it&#039;s not possible for apps to figure out everything that the window manager considers relevant to their position. (In particular, IIRC, in a WM that uses large desktops rather than multiple workspaces, there&#039;s no reliable way for a newly-launched app to request to be launched outside the current viewport. Likewise, if the WM offers any clever functionality beyond what the EWMH discusses, like pinning to some-but-not-all workspaces, there&#039;s no way for a window to generically be able to figure out that it&#039;s in that state and then restore it correctly later). There are also other things that it&#039;s theoretically possible for the windows to figure out on their own, but that it&#039;s much easier to get right if the WM is playing along too. (Eg, getting the window stacking order correct.)

One argument is that this latter sort of state saving is crack and we don&#039;t care. OTOH, if we *do* care, then one way to fix it so that apps can save and restore their own state would be to add a new EWMH hint, say &quot;_NET_WM_WINDOW_STATE_ATOMS&quot; or something, which the WM would set on a window, to a list of other atoms. And when the app wants to save its state, it would just fetch the values of all of the atoms listed in that property, and save their values, and then later on when it wants to recreate that state, it just creates a new window with all of those atoms set to the saved values.</description>
		<content:encoded><![CDATA[<p>&gt; 5) Abolish session management (or at least session management within the window manager).</p>
<p>You can&#8217;t abolish session management *just* within the window manager, because XSMP says the window manager restores window positions, so if you don&#8217;t, then session management won&#8217;t work right. Eg, I know for sure that if you resume a saved gedit state without having metacity resume its window positions, that you will end up with all of your gedit windows being 200&#215;200 (the default size for a GtkWindow, which is much too small to be useful for gedit). I&#8217;m not sure how other apps behave; some might at least default to a reasonable size, if not the actual correct size.</p>
<p>As for having apps remember their own state, there are two levels of that. On the one hand, there&#8217;s &#8220;apps should remember a default window size&#8221; and/or &#8220;apps should remember the window size the user last used for a given document&#8221;, and apps can already do that, and I think there&#8217;s a reasonable amount of agreement that they *should* do that as well.</p>
<p>On the other hand, there&#8217;s full-blown session state saving of the sort that allegedly happens when you save-session-on-logout now, where you&#8217;re trying to restore not just window size, but actually the exact global arrangement of all windows that you had previously. This is something that it&#8217;s not possible for apps to handle entirely on their own currently, because in some WMs, it&#8217;s not possible for apps to figure out everything that the window manager considers relevant to their position. (In particular, IIRC, in a WM that uses large desktops rather than multiple workspaces, there&#8217;s no reliable way for a newly-launched app to request to be launched outside the current viewport. Likewise, if the WM offers any clever functionality beyond what the EWMH discusses, like pinning to some-but-not-all workspaces, there&#8217;s no way for a window to generically be able to figure out that it&#8217;s in that state and then restore it correctly later). There are also other things that it&#8217;s theoretically possible for the windows to figure out on their own, but that it&#8217;s much easier to get right if the WM is playing along too. (Eg, getting the window stacking order correct.)</p>
<p>One argument is that this latter sort of state saving is crack and we don&#8217;t care. OTOH, if we *do* care, then one way to fix it so that apps can save and restore their own state would be to add a new EWMH hint, say &#8220;_NET_WM_WINDOW_STATE_ATOMS&#8221; or something, which the WM would set on a window, to a list of other atoms. And when the app wants to save its state, it would just fetch the values of all of the atoms listed in that property, and save their values, and then later on when it wants to recreate that state, it just creates a new window with all of those atoms set to the saved values.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neil J. Patel</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-244</link>
		<dc:creator>Neil J. Patel</dc:creator>
		<pubDate>Sun, 09 Mar 2008 13:05:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-244</guid>
		<description>It&#039;s interesting to hear that Metacity also needs to do the black-art of window-matching. We have the same problem in Awn (https://launchpad.net/awn), for matching launcher icons (.desktop files) to newly-opened windows.

As you stated, there&#039;s currently no good way of doing it, and the code in Awn that deals with this has had many extra matching rules bolted on it over the past year. This is something which I hope to rewrite in the next few months, but I&#039;m dreading it as there is a high chance of introducing regressions. It would be great if there was a sane way of doing this, without lots of application-specific special casing.</description>
		<content:encoded><![CDATA[<p>It&#8217;s interesting to hear that Metacity also needs to do the black-art of window-matching. We have the same problem in Awn (<a href="https://launchpad.net/awn)" rel="nofollow">https://launchpad.net/awn)</a>, for matching launcher icons (.desktop files) to newly-opened windows.</p>
<p>As you stated, there&#8217;s currently no good way of doing it, and the code in Awn that deals with this has had many extra matching rules bolted on it over the past year. This is something which I hope to rewrite in the next few months, but I&#8217;m dreading it as there is a high chance of introducing regressions. It would be great if there was a sane way of doing this, without lots of application-specific special casing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ᛏᚦ &#187; Blog Archive &#187; Everybody has won, and all must have prizes</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-238</link>
		<dc:creator>ᛏᚦ &#187; Blog Archive &#187; Everybody has won, and all must have prizes</dc:creator>
		<pubDate>Sat, 08 Mar 2008 22:30:20 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-238</guid>
		<description>[...] I know not all of you read the Metacity blog, but I would like your feedback on this discussion of session management. Would you like the ~/.metacity directory to disappear? Who should ensure that applications&#8217; [...]</description>
		<content:encoded><![CDATA[<p>[...] I know not all of you read the Metacity blog, but I would like your feedback on this discussion of session management. Would you like the ~/.metacity directory to disappear? Who should ensure that applications&#8217; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: antistress</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-237</link>
		<dc:creator>antistress</dc:creator>
		<pubDate>Sat, 08 Mar 2008 18:36:43 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-237</guid>
		<description>ok, tank you for your answer</description>
		<content:encoded><![CDATA[<p>ok, tank you for your answer</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Thurman</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-236</link>
		<dc:creator>Thomas Thurman</dc:creator>
		<pubDate>Sat, 08 Mar 2008 17:34:17 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-236</guid>
		<description>No, session management in general isn&#039;t based on Metacity-- just the placement of windows.  If Metacity isn&#039;t restoring windows to the original desktop, you have found a bug.

Devil&#039;s Pie does something separate to what Metacity does here.  This article is about how Metacity places windows when you log in.  Devil&#039;s Pie has the ability to arrange windows when you open an application at any point; the article is not about that.</description>
		<content:encoded><![CDATA[<p>No, session management in general isn&#8217;t based on Metacity&#8211; just the placement of windows.  If Metacity isn&#8217;t restoring windows to the original desktop, you have found a bug.</p>
<p>Devil&#8217;s Pie does something separate to what Metacity does here.  This article is about how Metacity places windows when you log in.  Devil&#8217;s Pie has the ability to arrange windows when you open an application at any point; the article is not about that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: antistress</title>
		<link>http://blogs.gnome.org/metacity/2008/03/08/session-management/comment-page-1/#comment-235</link>
		<dc:creator>antistress</dc:creator>
		<pubDate>Sat, 08 Mar 2008 17:17:02 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/metacity/2008/03/08/session-management/#comment-235</guid>
		<description>i&#039;m not sure to understand
GNOME has session management which allow the user to restore his windows at next start
is it based on Metacity ?
But GNOME session management doesn&#039;t allow to restore windows on their own desktop (in case of you use multiple desktops). I&#039;ve read that Devil&#039;s Pie can do that but there&#039;s no GUI for it.
Is it what this article is about ?</description>
		<content:encoded><![CDATA[<p>i&#8217;m not sure to understand<br />
GNOME has session management which allow the user to restore his windows at next start<br />
is it based on Metacity ?<br />
But GNOME session management doesn&#8217;t allow to restore windows on their own desktop (in case of you use multiple desktops). I&#8217;ve read that Devil&#8217;s Pie can do that but there&#8217;s no GUI for it.<br />
Is it what this article is about ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
