Linked by Thom Holwerda on Sat 15th Aug 2009 17:55 UTC
Over the past couple of months, and especially over the past couple of weeks, I've been working very hard to write and complete my thesis. I performed all the work on Windows 7, but now that the thesis is finally done, submitted, and accepted, I installed Ubuntu - and immediately I was reminded of why I do not do any serious work on Linux: the train wreck that is X.org.
Permalink for comment 378962
To read all comments associated with this story, please click here.
Maybe it can be at the xlib level so that all toolkits can benefit...
Maybe, but in the long term it will be better to move away from Xlib as the base for toolkits to something more appropriate, e.g. XCB, which is intendend to be used by toolkits, not as a direct application level API.
It's probably a bit tough to design though because it could be difficult when a new xserver starts up to enumerate all the apps which need to reconnect and tell them who to reconnect to (basically, how do you know which apps belong to which session)?
I don't think this is a problem because the process restarting is the server and the clients can still use the same address to connect to.
Depending on the type of connection the clients either have to try to reconnect (remote connection) or wait for the local socket to become available again (or similar for whatever transport they happend to use).
I don't really understand why the toolkits need to be particularly involved.
It mostly depends on what resources the application used in its UI. All drawing of text and graphics primitives can just be repeated, just like when repainting the window due to being unhidden, etc.
More problematic are things like images, which have to be "uploaded" again (in quotes since when using shared memory they might not move at all).
Of course the process of "uploading" is also repeatable, the question is if the application still has access to the image data. It might have deleted it to not have it in memory twice (in case of a real transfer), etc.
Actually, while thinking about it, the application developer might want to know when disconnect and reconnect happen. Maybe for suspending certain operations of the software, e.g. similar to networked applications not attempting further network operations when they are notified that the network went down.
Member since:
2005-07-07
Maybe, but in the long term it will be better to move away from Xlib as the base for toolkits to something more appropriate, e.g. XCB, which is intendend to be used by toolkits, not as a direct application level API.
I don't think this is a problem because the process restarting is the server and the clients can still use the same address to connect to.
Depending on the type of connection the clients either have to try to reconnect (remote connection) or wait for the local socket to become available again (or similar for whatever transport they happend to use).
It mostly depends on what resources the application used in its UI. All drawing of text and graphics primitives can just be repeated, just like when repainting the window due to being unhidden, etc.
More problematic are things like images, which have to be "uploaded" again (in quotes since when using shared memory they might not move at all).
Of course the process of "uploading" is also repeatable, the question is if the application still has access to the image data. It might have deleted it to not have it in memory twice (in case of a real transfer), etc.
Actually, while thinking about it, the application developer might want to know when disconnect and reconnect happen. Maybe for suspending certain operations of the software, e.g. similar to networked applications not attempting further network operations when they are notified that the network went down.