WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Best practices for packaging a window manager?  (Read 2327 times)

Offline peterc

  • Newbie
  • *
  • Posts: 36
Best practices for packaging a window manager?
« 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). 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!

Offline Arslan S.

  • Hero Member
  • *****
  • Posts: 825
Re: Best practices for packaging a window manager?
« Reply #1 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
« Last Edit: July 14, 2010, 03:20:53 PM by Arslan S. »

Offline peterc

  • Newbie
  • *
  • Posts: 36
Re: Best practices for packaging a window manager?
« Reply #2 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?

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Best practices for packaging a window manager?
« Reply #3 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
10+ Years Contributing to Linux Open Source Projects.

Offline peterc

  • Newbie
  • *
  • Posts: 36
Re: Best practices for packaging a window manager?
« Reply #4 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.