Tiny Core Linux

Tiny Core Extensions => TCE Talk => Topic started by: peterc on July 14, 2010, 02:22:38 PM

Title: Best practices for packaging a window manager?
Post by: peterc on July 14, 2010, 02:22:38 PM
I've been working on building an extension for the i3 window manager (http://i3.zekjur.net (http://i3.zekjur.net)). I've got it working (a little--can't get the keystrokes to register in VirtualBox, though...) and so I thought now would be a good time to ask what additional hooks and whatnot should be added into the extension.

For example, looking over the extension for Fluxbox, I see that it populates /etc/skel. Is this the way to go? Also, the script /usr/local/tce.installed/i3 has the following:
Code: [Select]
#!/bin/sh
echo "i3" > /etc/sysconfig/desktop
There is also a configuration file at /usr/local/etc/i3/config; should I make sure that it always a real file and not a symlink? Or should I just do the same as Fluxbox and create /etc/skel?

Thanks!
Title: Re: Best practices for packaging a window manager?
Post by: Arslan S. on July 14, 2010, 03:18:58 PM
you can exit to promt and see if it works

exit to prompt
Code: [Select]
sudo -s
echo "i3" > /etc/sysconfig/desktop
exit
startx

if test fails revert it back to default tc window manager flwm_topside
Title: Re: Best practices for packaging a window manager?
Post by: peterc on July 14, 2010, 04:20:22 PM
Well, it works (actually, I knew that it did, but it doesn't hurt to double check). However, that still doesn't answer my question. For example, the cursor is an "X"; should I have the extension call xsetroot and if so, where? /usr/local/etc or /etc/skel?

Basically, to rephrase my question, is there a TinyCore Approved (TM) standard for how window managers should modify configuration and preferences?
Title: Re: Best practices for packaging a window manager?
Post by: roberts on July 14, 2010, 05:14:56 PM
Alternate window manager support was added in Tiny Core v2.0;
Quote
Each window manager extensions needs to supply the following interface files in order to support Tiny Core's dynamic menuing system.:

wm_initmenu
wm_makemenu
wm_restart
wm_setbackground

Where "wm" is replaced by the actual window manager name, e.g.,

hackedbox_initmenu
hackedbox_makemenu
hackedbox_restart
hackedbox_setbackground

See examples in flwm in the base at /usr/bin/flwm*, and/or see the extensions jwm and/or hackedbox

It would appear that i3 is menu-less so perhaps an  i3_initmenu script could be used to initialize, not a menu,  but the needed X cursor via xsetroot
Title: Re: Best practices for packaging a window manager?
Post by: peterc on July 15, 2010, 10:34:51 PM
Alternate window manager support was added in Tiny Core v2.0
Ok, this is what I was looking for, thanks. If there isn't anything else I should know about, I'll see what I can do within that framework.