Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: wysiwyg on August 27, 2015, 04:05:18 PM
-
Good afternoon everyone! I am trying to change my window manager, and can see that there is one script (/usr/bin/tce-load) that parses the /etc/sysconfig/desktop file (containing the name of the window manager). I can not, however, find the file 'desktop.sh' that the tce-load script refers to. Where is this file or how can I start a different window manager with several parameters?
Thanks,
Dave
-
Hi wysiwyg
Try /usr/bin/desktop.sh
-
Ok, I actually found the 'desktop.sh' file - it was located in the Xlibs package! It looks like that script actually (optionally) calls two other scripts, ${DESKTOP}_makemenu and ${ICONS}_update.sh. It appears that both of these files setup the wbar package. I can not see where flwm actually gets executed. Any help would be appreciated!
Thanks,
Dave
-
Thanks for the reply Rich!
If someone knows something I don't, please let everyone know. Otherwise, it appears you can change the window manager using 2 options:
1. You can pass the window manager via a boot option (unsure if TC will allow for parameters being passed as well)
2. Define the /etc/sysconfig/desktop file and remaster the TC iso. This way appears that you can just fill the file with the name and parameters of how you want it to operate.
Dave
-
No need to remaster. Window managers set /etc/sysconfig/desktop in their startup file, see /usr/local/tce.installed/flwm_topside for example or WM/DE in repo.
-
I can not see where flwm actually gets executed. Any help would be appreciated!
$DESKTOP is called from ~/.xsession
-
Thanks for all the help from everyone! I will outline my steps below so that if anyone is doing this with a window manager not found in the repo, they will have the steps to do so...
1. After compiling your desired window manager you will need to create a small script to load it during the boot process under $PACKAGE_DIR/usr/local/tce.installed/newwm. It can be something as simple as:
#!/bin/sh
echo newwm > /etc/sysconfig/desktop
2. If the new window manager requires command line parameters to be passed, you will need to make several more adjustments before packaging. If it doesn't, then you can skip to the last step.
3. Rename the window manager to have a proceeding dot (e.g. cd $PACKAGE_DIR/usr/local/bin; mv newwm .newwm)
4. Create another shell script in the appropriate bin directory (e.g. $PACKAGE_DIR/usr/local/bin/newwm) that will call the renamed binary from the proceeding step with all the parameters that need to be passed:
#!/bin/sh
exec /usr/local/bin/.newwm -xyz -123 ...
5. Now package your window manager, place it in the 'optional' directory, adjust the onboot.lst file (or whichever lst file you are booting with), and reboot!
NOTE: be sure to "chmod 755" both of those shell scripts before packaging!
Dave
-
..and then submit it as an extension so everyone can benefit from your hard work :)
-
Yes! And then submit it for us all! :) This project will be a little delayed since it is still under construction though...
-
Alternative is, from 'the book':
10.30. desktop - specify window
manager
If only one window manager is installed, that one will be used. If
you have multiple window managers installed, this bootcode will let
you specify which one to load.
Example:
• desktop=fluxbox
I tested it (once, that is) and it worked. Additionally, I removed the bootcode and got the original "flwm_topside" back again - easy to do and undo.
ttz