Add some forgotten files.

This commit is contained in:
Kris Maglione 2007-05-10 14:30:22 -04:00
parent b645346147
commit 3724f9331a
16 changed files with 711 additions and 0 deletions

6
debian/changelog vendored Normal file
View File

@ -0,0 +1,6 @@
wmii (3.6pre~20070508) unstable; urgency=low
* First commit of debian directory.
-- Kris Maglione <jg@suckless.org> Tue, 8 May 2007 18:18:00 -0400

25
debian/control vendored Normal file
View File

@ -0,0 +1,25 @@
Source: wmii
Section: x11
Priority: optional
Maintainer: Daniel Baumann <daniel@debian.org>
Build-Depends: libx11-dev, libxext-dev, x11proto-xext-dev, debhelper (>= 4.0)
Standards-Version: 3.7.2
Package: wmii
Architecture: any
Depends: ${shlibs:Depends}, dwm-tools
Conflicts: wmii2
Replaces: wmii2
Recommends: wmii-doc
Provides: x-window-manager
Description: lightweight tabbed and tiled X11 window manager
wmii is a dynamic window manager for X11, which is highly customizable and
usable with keyboard and mouse. It supports conventional, tabbed and tiled
window management with low memory usage. It is highly modularized and uses an
inter-process communication interface which is oriented on the 9p protocol of
plan9.
.
This package contains a pre-3.6 snapshot of the window manager; wmii2 contains
version 2.
.
Homepage: <http://wmii.suckless.org/>

279
debian/copyright vendored Normal file
View File

@ -0,0 +1,279 @@
Debian packaging based on that of Daniel Baumann <daniel.baumann@panthera-systems.net>,
now maintained by the upstream author.
It was downloaded from <http://wmii.suckless.org/>.
Upstream Author: Kris Maglione <jg@suckless.org>
The majority of this package is under the following license, with exceptions
following.
In the event that a file contains a copyright notice at the top, that is the
copyright notice that this license refers to. Otherwise, it is:
©2006-2007 Kris Maglione <bsdaemon at comcast dot net>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Exceptions:
cmd/util.c and include/util.h are in the Public Domain.
Original debian packaging is (C) 2005-2007, Daniel Baumann <daniel@debian.org>
and is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
Whether what remains is worthy of copyright is to be determined by the copyer.
Portions by Kris Maglione are in the Public Domain.
libixp/intmap.c falls under the Lucent Public License, as follows:
Lucent Public License Version 1.02
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original
Program, and
b. in the case of each Contributor,
i. changes to the Program, and
ii. additions to the Program;
where such changes and/or additions to the Program were added to the
Program by such Contributor itself or anyone acting on such
Contributor's behalf, and the Contributor explicitly consents, in
accordance with Section 3C, to characterization of the changes and/or
additions as Contributions.
"Contributor" means LUCENT and any other entity that has Contributed a
Contribution to the Program.
"Distributor" means a Recipient that distributes the Program,
modifications to the Program, or any part thereof.
"Licensed Patents" mean patent claims licensable by a Contributor
which are necessarily infringed by the use or sale of its Contribution
alone or when combined with the Program.
"Original Program" means the original version of the software
accompanying this Agreement as released by LUCENT, including source
code, object code and documentation, if any.
"Program" means the Original Program and Contributions or any part
thereof
"Recipient" means anyone who receives the Program under this
Agreement, including all Contributors.
2. GRANT OF RIGHTS
a. Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free copyright
license to reproduce, prepare derivative works of, publicly display,
publicly perform, distribute and sublicense the Contribution of such
Contributor, if any, and such derivative works, in source code and
object code form.
b. Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free patent
license under Licensed Patents to make, use, sell, offer to sell,
import and otherwise transfer the Contribution of such Contributor, if
any, in source code and object code form. The patent license granted
by a Contributor shall also apply to the combination of the
Contribution of that Contributor and the Program if, at the time the
Contribution is added by the Contributor, such addition of the
Contribution causes such combination to be covered by the Licensed
Patents. The patent license granted by a Contributor shall not apply
to (i) any other combinations which include the Contribution, nor to
(ii) Contributions of other Contributors. No hardware per se is
licensed hereunder.
c. Recipient understands that although each Contributor grants the
licenses to its Contributions set forth herein, no assurances are
provided by any Contributor that the Program does not infringe the
patent or other intellectual property rights of any other entity. Each
Contributor disclaims any liability to Recipient for claims brought by
any other entity based on infringement of intellectual property rights
or otherwise. As a condition to exercising the rights and licenses
granted hereunder, each Recipient hereby assumes sole responsibility
to secure any other intellectual property rights needed, if any. For
example, if a third party patent license is required to allow
Recipient to distribute the Program, it is Recipient's responsibility
to acquire that license before distributing the Program.
d. Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright
license set forth in this Agreement.
3. REQUIREMENTS
A. Distributor may choose to distribute the Program in any form under
this Agreement or under its own license agreement, provided that:
a. it complies with the terms and conditions of this Agreement;
b. if the Program is distributed in source code or other tangible
form, a copy of this Agreement or Distributor's own license agreement
is included with each copy of the Program; and
c. if distributed under Distributor's own license agreement, such
license agreement:
i. effectively disclaims on behalf of all Contributors all warranties
and conditions, express and implied, including warranties or
conditions of title and non-infringement, and implied warranties or
conditions of merchantability and fitness for a particular purpose;
ii. effectively excludes on behalf of all Contributors all liability
for damages, including direct, indirect, special, incidental and
consequential damages, such as lost profits; and
iii. states that any provisions which differ from this Agreement are
offered by that Contributor alone and not by any other party.
B. Each Distributor must include the following in a conspicuous
location in the Program:
Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights
Reserved.
C. In addition, each Contributor must identify itself as the
originator of its Contribution in a manner that reasonably allows
subsequent Recipients to identify the originator of the Contribution.
Also, each Contributor must agree that the additions and/or changes
are intended to be a Contribution. Once a Contribution is contributed,
it may not thereafter be revoked.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain
responsibilities with respect to end users, business partners and the
like. While this license is intended to facilitate the commercial use
of the Program, the Distributor who includes the Program in a
commercial product offering should do so in a manner which does not
create potential liability for Contributors. Therefore, if a
Distributor includes the Program in a commercial product offering,
such Distributor ("Commercial Distributor") hereby agrees to defend
and indemnify every Contributor ("Indemnified Contributor") against
any losses, damages and costs (collectively"Losses") arising from
claims, lawsuits and other legal actions brought by a third party
against the Indemnified Contributor to the extent caused by the acts
or omissions of such Commercial Distributor in connection with its
distribution of the Program in a commercial product offering. The
obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement.
In order to qualify, an Indemnified Contributor must: a) promptly
notify the Commercial Distributor in writing of such claim, and b)
allow the Commercial Distributor to control, and cooperate with the
Commercial Distributor in, the defense and any related settlement
negotiations. The Indemnified Contributor may participate in any such
claim at its own expense.
For example, a Distributor might include the Program in a commercial
product offering, Product X. That Distributor is then a Commercial
Distributor. If that Commercial Distributor then makes performance
claims, or offers warranties related to Product X, those performance
claims and warranties are such Commercial Distributor's responsibility
alone. Under this section, the Commercial Distributor would have to
defend claims against the Contributors related to those performance
claims and warranties, and if a court requires any Contributor to pay
any damages as a result, the Commercial Distributor must pay those
damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
PROVIDED ON AN"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its
exercise of rights under this Agreement, including but not limited to
the risks and costs of program errors, compliance with applicable
laws, damage to or loss of data, programs or equipment, and
unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. EXPORT CONTROL
Recipient agrees that Recipient alone is responsible for compliance
with the United States export administration regulations (and the
export control laws and regulation of any other countries).
8. GENERAL
If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this Agreement, and without further
action by the parties hereto, such provision shall be reformed to the
minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with
respect to a patent applicable to software (including a cross-claim or
counterclaim in a lawsuit), then any patent licenses granted by that
Contributor to such Recipient under this Agreement shall terminate as
of the date such litigation is filed. In addition, if Recipient
institutes patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or
hardware) infringes such Recipient's patent(s), then such Recipient's
rights granted under Section 2(b) shall terminate as of the date such
litigation is filed.
All Recipient's rights under this Agreement shall terminate if it
fails to comply with any of the material terms or conditions of this
Agreement and does not cure such failure in a reasonable period of
time after becoming aware of such noncompliance. If all Recipient's
rights under this Agreement terminate, Recipient agrees to cease use
and distribution of the Program as soon as reasonably practicable.
However, Recipient's obligations under this Agreement and any licenses
granted by Recipient relating to the Program shall continue and
survive.
LUCENT may publish new versions (including revisions) of this
Agreement from time to time. Each new version of the Agreement will be
given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the
Agreement under which it was received. In addition, after a new
version of the Agreement is published, Contributor may elect to
distribute the Program (including its Contributions) under the new
version. No one other than LUCENT has the right to modify this
Agreement. Except as expressly stated in Sections 2(a) and 2(b) above,
Recipient receives no rights or licenses to the intellectual property
of any Contributor under this Agreement, whether expressly, by
implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and
the intellectual property laws of the United States of America. No
party to this Agreement will bring a legal action under this Agreement
more than one year after the cause of action arose. Each party waives
its rights to a jury trial in any resulting litigation.

1
debian/docs vendored Normal file
View File

@ -0,0 +1 @@
README

7
debian/file/wmii.desktop vendored Normal file
View File

@ -0,0 +1,7 @@
[Desktop Entry]
Encoding=UTF-8
Name=wmii
Comment=wmii pre-3.6 Development Snapshot
Exec=wmii
Icon=wmii.png
Type=XSession

View File

@ -0,0 +1,9 @@
/^[ ]*WMII_TERM[ ]*=/ {
print "E " FILENAME
print FNR "c"
print
print "."
print "w"
nextfile
}

3
debian/patches/x-terminal-emulater.ed vendored Normal file
View File

@ -0,0 +1,3 @@
/^[ ]*WMII_TERM[ ]*=/s/=.*/=x-terminal-emulator/
w

View File

@ -0,0 +1,3 @@
rc/rc.wmii.rc
rc/wmiirc.sh

97
debian/rules vendored Executable file
View File

@ -0,0 +1,97 @@
#!/usr/bin/make -f
#export DH_VERBOSE=1
export DH_COMPAT=4
PREFIX=/usr
ETC=/etc/X11
FAKE=$(CURDIR)/debian/wmii
PATCHES=debian/patches
UNPATCH=debian/unpatch.ed
CFLAGS = -g -O0
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
# wmii is IO, not CPU bound. Please do not use -O2 here.
CFLAGS += -O
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
DH_STRIP = dh_strip
endif
export CFLAGS
clean: unpatch
dh_testdir
dh_testroot
rm -f build-stamp
# Cleaning package
-$(MAKE) clean
dh_clean
build: build-stamp
build-stamp: patch
dh_testdir
$(MAKE) PREFIX=$(PREFIX) ETC=$(ETC)
touch build-stamp
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) install PREFIX=$(FAKE)$(PREFIX) ETC=$(FAKE)$(ETC)
install -D -m 0644 debian/file/wmii.desktop $(FAKE)$(PREFIX)/share/xsessions/wmii.desktop
install -D -m 0644 img/icon.png $(FAKE)$(PREFIX)/share/icons/wmii.png
patch:
set -e; \
if ! [ -e ${UNPATCH} ]; then \
patches=${PATCHES}/*.list; \
for i in $$patches; do \
files=$$(cat "$$i"); \
base=$${i%.list}; \
base=$${base##*/}; \
awk -f "${PATCHES}/un$$base.awk" $$files >>debian/unpatch.ed; \
for f in $$files; do \
cat <"${PATCHES}/$$base.ed"; \
ed $$f <"${PATCHES}/$$base.ed"; \
done; \
done; \
fi
unpatch:
set -e; \
if [ -e ${UNPATCH} ]; then \
ed <${UNPATCH}; \
rm ${UNPATCH}; \
fi
binary-indep: build install
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_install
dh_installmenu
dh_installwm --priority=30
dh_link
$(DH_STRIP)
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install

2
debian/watch vendored Normal file
View File

@ -0,0 +1,2 @@
version=3
http://www.suckless.org/download/wmii-(.*)\.tar\.gz

3
debian/wmii.menu vendored Normal file
View File

@ -0,0 +1,3 @@
?package(wmii):needs="wm" section="WindowManagers"\
title="wmii" longtitle="wmii pre-3.6 Development Snapshot"\
command="/usr/bin/wmii"

1
debian/wmii.wm vendored Normal file
View File

@ -0,0 +1 @@
/usr/bin/wmii

BIN
img/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

21
img/mkfile Normal file
View File

@ -0,0 +1,21 @@
MKSHELL=rc
path=$PLAN9/bin $path
eps = wmii.eps
epsbox = `{sed -n '/^%%BoundingBox:/{s/.*://p; q;}' $eps}
iconwidth = 32
iconscale = `{*=$epsbox; hoc -e $iconwidth/'('$3-' '$1')'}
iconheight = `{*=$epsbox; hoc -e '('$4-' '$2')*'$iconscale}
icon.png: $eps
x = `{hoc -e -'('$epsbox(1)^')'}
y = `{hoc -e -'('$epsbox(2)^')'}
gs -q -dBATCH -dNOPAUSE -sDEVICE=pngalpha -sOutputFile=$target -g^$iconwidth^x^$iconheight - <<!
$iconscale $iconscale scale
$x $y translate
($eps) run
showpage
quit
!

11
mk/gcc.mk Normal file
View File

@ -0,0 +1,11 @@
CFLAGS += \
-std=gnu99 \
-pipe \
-Wall \
-Wno-parentheses \
-Wno-missing-braces \
-Wno-switch \
-Wno-comment \
-Wno-sign-compare \
-Wno-uninitialized \
-Wno-unused-parameter \

243
rc/sh.wmii Executable file
View File

@ -0,0 +1,243 @@
#!sh
# WMII Configuration
load std
load string
load regex
mount -Aa {os dial unix!/tmp/ns.kris.:1/wmii >[1=0]} / || exit
#mount -Aa {os rc -c 'dial $WMII_ADDRESS' >[1=0]} /
MODKEY=Mod1
UP=k
DOWN=j
LEFT=h
RIGHT=l
WMII_FONT=fixed
WMII_NORMCOLORS=('#222222' '#5FBF77' '#2A7F3F')
WMII_FOCUSCOLORS=('#ffffff' '#153F1F' '#2A7F3F')
WMII_BACKGROUND='#333333'
WMII_TERM=urxvt
fn wmiimenu {
run_command ${re sg '#' '"#"' (dmenu -b -fn $WMII_FONT
-nf ${hd $WMII_NORMCOLORS} -nb ${index 2 $WMII_NORMCOLORS}
-sf ${hd $WMII_FOCUSCOLORS} -sb ${index 2 $WMII_FOCUSCOLORS})}
}
fn 9menu {
run_command (wmii9menu -font $WMII_FONT
-^(nf nb br)^$WMII_NORMCOLORS
-^(sf sb br)^$WMII_FOCUSCOLORS $*)
}
# Column Rules
echo '/./ -> 60+40' >/colrules
# Tagging Rules
{ echo '/Firefox/ -> www
/XMMS.*/ -> ~
/MPlayer.*/ -> ~
/.*/ -> !
/.*/ -> 1
' } >/tagrules
subfn seq {
arg := $*
result=`{os seq $arg}
}
subfn hostenv {
arg := $"*
result="{os sh -c ${quote eval echo -n '$'$arg}}
}
# Status Bar Info
fn status {
echo ${re mg '[0-9]+\.[0-9]+' "{os uptime}} '|' `{date}
}
# Events
fn Event-Start {
if { ~ $1 wmiirc } {
rm -f $progs_file
exit
}
}
fn Event-Key {
echo Key-$1
Key-$1 $1
}
fn Event-CreateTag { echo $WMII_NORMCOLORS $* >> /lbar/$"* }
fn Event-DestroyTag { rm /lbar/$"* }
fn Event-FocusTag { echo $WMII_FOCUSCOLORS $* > /lbar/$"* }
fn Event-UnfocusTag { echo $WMII_NORMCOLORS $* > /lbar/$"* }
fn Event-UrgentTag { echo '*'${tl $*} > ${quote /lbar/${tl $*} } }
fn Event-NotUrgentTag { echo ${tl $*} > ${quote /lbar/${tl $*} } }
fn Event-LeftBarClick { echo view ${tl $*} >/ctl }
lastcmd=''
fn Event-ClientMouseDown {
(client button) := $*
if { ~ $button 3 } {
lastcmd = `{9menu -initial $lastcmd Nop Delete}
cmp := {~ $do $1}
or {and {$cmp Nop} {echo Do nothing}
} {and {$cmp Delete} {echo kill >/client/$client/ctl}}
}
}
# Actions
fn Action {
(action args) := $*
if {whatis Action-$action | grep -s '^load std; fn '} {
Action-$action $args
} {
run_command ${config_whatis $action} $args </dev/null
}
}
fn Action-quit { echo quit >>/ctl }
fn Action-rehash {
flag x -
proglist ${hostenv PATH} >$progs_file
}
fn Action-status {
if {rm /rbar/status >[2]/dev/null} {
sleep 2
}
echo $WMII_NORMCOLORS >/rbar/status
while {status >/rbar/status} {
sleep 1
}
}
# Key Bindings
fn Key-$MODKEY-Control-t {
if { ~ `{wc -l /keys} 0 1} {
initkeys
grabmod $MODKEY >/ctl
} {
echo $MODKEY-Control-t >/keys
echo grabmod Mod3 >/ctl
}
}
fn Key-$MODKEY-$LEFT { echo select left >/tag/sel/ctl }
fn Key-$MODKEY-$RIGHT { echo select right >/tag/sel/ctl }
fn Key-$MODKEY-$DOWN { echo select down >/tag/sel/ctl }
fn Key-$MODKEY-$UP { echo select up >/tag/sel/ctl }
fn Key-$MODKEY-Shift-$LEFT { echo send sel left >/tag/sel/ctl }
fn Key-$MODKEY-Shift-$RIGHT { echo send sel right >/tag/sel/ctl }
fn Key-$MODKEY-Shift-$DOWN { echo send sel down >/tag/sel/ctl }
fn Key-$MODKEY-Shift-$UP { echo send sel up >/tag/sel/ctl }
fn Key-$MODKEY-space { echo select toggle >/tag/sel/ctl }
fn Key-$MODKEY-Shift-space { echo send sel toggle >/tag/sel/ctl }
fn Key-$MODKEY-d { echo colmode sel default >/tag/sel/ctl }
fn Key-$MODKEY-s { echo colmode sel stack >/tag/sel/ctl }
fn Key-$MODKEY-m { echo colmode sel max >/tag/sel/ctl }
fn Key-$MODKEY-Shift-c { echo kill >/client/sel/ctl }
fn Key-$MODKEY-a { Action `{actionlist | wmiimenu} & }
fn Key-$MODKEY-p { run_command `{wmiimenu <$progs_file} </dev/null & }
fn Key-$MODKEY-Return { run_command $WMII_TERM & }
fn Key-$MODKEY-t { echo view `{read_tags | wmiimenu} >/ctl & }
fn Key-$MODKEY-Shift-t {
sel := "{cat /client/sel/ctl}
read_tags | wmiimenu >/client/$sel/tags
}
for(i in ${seq 0 9}) {
fn Key-$MODKEY-$i { echo view ${tl ${splitr $1 -}} >/ctl }
fn Key-Shift-$MODKEY-$i { echo ${tl ${splitr $1 -}} >/client/sel/tags}
}
# Functions
fn proglist {
apply {ls -lp $*} /n/local^${split : $"*} |
grep '^[^d][^ ]*x' |
getlines {
echo ${index 10 ${split ' ' $line}}
} | sort | uniq
}
fn getfuns {
ls -p /env | grep '^fn-' ^ $1 ^ '-' | getlines {
echo ${re s '^fn-[^-]+-' '' $line}
}
}
fn actionlist {
{ rescue '*' {} {
proglist ${hostenv WMII_CONFPATH}
}
getfuns Action
} | sort | uniq
}
fn initkeys {
getfuns Key >/keys
}
fn read_tags {
ls -p /tag | grep -v '^sel$'
}
subfn config_whatis {
result="{os sh -c ${quote eval PATH'='${hostenv WMII_CONFPATH} which $*}}
}
fn run_command {
@{ pctl newpgrp
vars := 'DISPLAY=:1' 'PATH=/home/kris/wmiiinst/bin:$PATH'
os sh -c ${quote eval $vars $*}
} $*
}
# WM Configuration
{
echo grabmod $MODKEY
echo border 2
echo font $WMII_FONT
echo focuscolors $WMII_FOCUSCOLORS
echo normcolors $WMII_NORMCOLORS
} >/ctl
# Misc Setup
os xsetroot -solid $WMII_BACKGROUND
Action status &
progs_file=/tmp/proglist.${pid}
Action rehash &
# Tag Bar Setup
seltag="{cat /tag/sel/ctl}
comm -2 ${pipe read_tags} ${pipe ls -p /lbar/*} | getlines {
rm /lbar/$line
}
read_tags | getlines {
if {~ $line $seltag} {
echo $WMII_FOCUSCOLORS $line >/lbar/$line
} {
echo $WMII_NORMCOLORS $line >/lbar/$line
}
}
# Keygrab Setup
initkeys
echo Start wmiirc >/event
# Event Loop
getlines {
(event args) := ${split ' ' $line}
echo Event-$event: $args
rescue '*' { echo Exception: $exception } {
Event-$event $args
}
} </event