Description of problem: xinitrc is the only package in FC depending on switchdesk, which should be removed (bug 103465). The attached patch removes the need for the dependency. The patch results in no behavior change, it simply embeds the /usr/share/apps/switchdesk/* scripts to Xsession directly. Therefore the files shipped with switchdesk are not needed. If someone added custom files to /usr/share/apps/switchdesk, the modified script will still execute them. The only time when a behavior would change is if someone modified files in /usr/share/apps/switchdesk, but the files are not marked %config and so would be overwritten on any upgrade anyway. Version-Release number of selected component (if applicable): xinitrc-3.35-1.
Created attachment 96654 [details] Inline the original switchdesk scripts directly in Xsession.
Ok, I've just investigated this a bit, and some of the changes seem to be safe to me, but it's based off of xinitrc-3.35-1 which is much older than what we've got now. A lot has changed since then, and so many of the changes don't fit in right. The enlightenment/fvwm and other unsupported window manager stuff can just be dropped. Currently, since this isn't really a blocker issue, I'm going to play it safe and remove the FC3Target status from this one, and retarget it to FC4Target. than) Can you look at the patch and give me your opinion on the KDE change? Once FC3 is out the door, I'll try to merge this into our early rawhide where it's ok to risk breaking things. ;) Thanks in advance.
I've re-reviewed this issue, and basically what is being requested, is to add hard coded stuff to Xsession for various window managers, in order to be able to remove a dependancy on switchdesk. While I initially thought this was reasonable, now that I've thought about it for longer, I think this is the wrong thing to do. In order to keep xinitrc package maintenance down, I'm trying to modularize it over time, so that it is just a generic core set of X startup scripts, which can handle any desktop environment or window manager setup. Part of that goal, is to have as little knowledge about individual desktop environments and window managers in the xinitrc scripts, and to instead provide a generic way that desktop environment / window manager rpm packages can "drop in" configuration files or shell scripts to "plug in" outside of the xinitrc package, and work within the framework provided. Currently, the switchdesk package is the "drop in generic functionality", however something else could replace that easily enough. I'm open to suggestions if anyone has any. One step, would simply be to just remove the hard coded switchdesk Requires from the spec file. The rest of xinitrc seemingly can handle things if switchdesk isn't installed. To summarize, I think the following goals are amiable and preferred for the long term: 1) Increase the modularity of the xinitrc package to minimize maintenance and provide better "plug in" architecture for window managers and desktop environments. 2) Continue to clean up the xinitrc script code, and reduce it wherever it can be done cleanly without violating #1 above. 3) Reduce the number of dependancies of the xinitrc packaging without violating #1 or #2 above. I'm open to thoughts and suggestions for how we might best achieve these goals. It might even be useful for us to have a discussion on one of the Fedora mailing lists about this and see what others think. If you're up to it, feel free to post to one of the lists and CC me, and I'll follow up. TIA
Please review bug #142260 and the patches I've attached to it which genericize and modularize Xsession by using Xsession.d directory. This solution should in theory solve both of these bugs. Then we can remove the hard coded dependancy on switchdesk, and leave the switchdesk code present in the package for backward compatibility for a while until the rest of the world catches up a bit. I'd very much like to apply this to xinitrc sooner, so your feedback is greatly appreciated. Thanks in advance.
Bug #122941 is related also.
I've implemented a generic Xclients.d solution for this problem, and various similar bugs reported in bugzilla. It will be present in xinitrc-4.0.16-1 and later in rawhide. It will allow window managers to drop in scripts for themselves, without any dependancy on switchdesk. Once I can confirm there is no more need for switchdesk, I'll remove the Requires: from the spec file also. Please test and provide feedback. Setting status to RAWHIDE.
I would prefer the /etc/X11/Xsession.d/ directory, because this directory is also used by other distributions (including Debian based). Of course there is nothing wrong with the current implementation, but I think we can make the lifes of developers (I am one of those) a lot easier when we do it the Xsession.d way. I really recomment you to check the documentation on the Debian side. - Marvin Raaijmakers
(In reply to comment #8) > I would prefer the /etc/X11/Xsession.d/ directory, because this directory is > also used by other distributions (including Debian based). Of course there is > nothing wrong with the current implementation, but I think we can make the lifes > of developers (I am one of those) a lot easier when we do it the Xsession.d way. > I really recomment you to check the documentation on the Debian side. > > - Marvin Raaijmakers This bug is marked CLOSED->RAWHIDE, and I've retired from Red Hat some time ago, so you'll need to file a fresh new bug report/feature request in order for the current maintainer(s) to see it. Having said that, I believe your request has some merit and is potentially worth someone spending the time to implement. An Xresources.d dir would be another worthwhile addition.