Skip to content

Commit eed5749

Browse files
committed
Importing pekwm as alternative wm. Adopting it to ede build system including autoconf checks.
Also center ede-launch window.
1 parent dd008c9 commit eed5749

File tree

171 files changed

+37768
-27
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+37768
-27
lines changed

AUTHORS.pekwm

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-- AUTHORS for pekwm
2+
3+
Author:
4+
5+
* Claes Nasten <pekdon{@}pekdon{.}net>
6+
7+
Patchers:
8+
9+
* Andreas <ioerror{@}lavabit{.}com>
10+
- Bug fixing.
11+
- Code cleanup.
12+
13+
* Jyri Jokinen <shared{@}suffi{.}net>
14+
- Documentation since 0.1.3.
15+
16+
* Rando Christensen <rando{@}babblica{.}net>
17+
- Autoconf scripts.
18+
- Documentation since 0.1.1.
19+
- Ideas, bug reports and moral support.
20+
21+
* Lurene Frenier <lurene{@}daemonkitty{.}net>
22+
- Make file patches.
23+
24+
Moral support:
25+
26+
* Alexandra Walford <chroma{@}delusion{.}de>
27+
- Moral support.
28+
- English and CSS support.
29+
30+
* Christoph Strake <me{@}chr1z{.}de>
31+
- Default Theme author.
32+
- WWW design consultant.
33+
34+
Testers and Requsters:
35+
36+
* Ashwin <ashwind{@}cyberwaveindia{.}com>
37+
- Beta testing, many good bug reports.
38+
39+
* Michael ? <themadmind{@}optushome{.}com{.}au>
40+
- GCC-3.1.0 compile verification.
41+
42+
-- AUTHORS for aewm++ 1.0.16
43+
44+
Author:
45+
46+
* Frank Hale <frankhale{@}yahoo{.}com>
47+
48+
-- AUTHORS for aewm
49+
50+
Author:
51+
52+
* Decklin Foster <decklin{@}red-bean{.}com>

Jamconfig.in

+5
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ EDE_PANEL_APPLETS_DIR ?= "$(EDE_DATA_DIR)/$(EDE_PREFIX_SUBDIR)/panel-applets" ;
6060
DBUS_SERVICE_DIR ?= "$(datarootdir)/dbus-1/services" ;
6161
XSESSIONS_DIR ?= "$(datarootdir)/xsessions" ;
6262

63+
PEKWM_CONFIG_DIR ?= "$(sysconfdir)/pekwm" ;
64+
PEKWM_DATA_DIR ?= "$(datadir)/pekwm" ;
65+
PEKWM_CXXFLAGS ?= "@PEKWM_CXXFLAGS@" ;
66+
PEKWM_LIBS ?= "@PEKWM_LIBS@" ;
67+
6368
OPTIMFLAGS ?= @EDE_OPTIM_FLAGS@ ;
6469
DEBUGFLAGS ?= @EDE_DEBUG_FLAGS@ ;
6570
LARGEFILEFLAGS ?= @LARGEFILE@ ;

Jamfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ if ! $(SUN_COMPILER) {
4444
SubInclude TOP ede-panel ;
4545
}
4646

47-
# they will not be compiled if eFLTK wasn't found
48-
SubInclude TOP edewm ;
47+
SubInclude TOP pekwm ;
4948

5049
# efiler is not compileable at all
5150
if $(WITH_EFILER) = 1 {

configure.in

+9-4
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,10 @@ else
108108
fi
109109

110110
if test -n "$with_edelib_path"; then
111-
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$with_edelib_path"
111+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$with_edelib_path"
112112
else
113113
dnl TODO: remove this in release
114-
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/opt/ede/lib/pkgconfig"
114+
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/opt/ede/lib/pkgconfig"
115115
fi
116116

117117
PKG_CHECK_MODULES(EDELIB, [edelib],, [have_edelib=no])
@@ -230,8 +230,8 @@ AC_TRY_LINK([
230230
],[have_xkbrules=yes],[])
231231
AC_LANG_RESTORE
232232

233-
CFLAGS="ac_save_CFLAGS"
234-
LIBS="ac_save_LIBS"
233+
CFLAGS="$ac_save_CFLAGS"
234+
LIBS="$ac_save_LIBS"
235235

236236
if test "$have_xkbrules" = "yes"; then
237237
AC_DEFINE(HAVE_XKBRULES, 1, [Define to 1 if you have XKB extension])
@@ -256,6 +256,9 @@ else
256256
AC_MSG_RESULT(no)
257257
fi
258258

259+
dnl pekwm specific macros
260+
EDE_CHECK_PEKWM_DEPENDENCIES
261+
259262
dnl expand variables before EDE_INIT_JAM convert them to jam variables
260263
EDE_EXPAND(sysconfdir, "NONE", my_sysconfdir)
261264

@@ -276,6 +279,8 @@ AC_SUBST(CURL_LIBS)
276279
AC_SUBST(LARGEFILE)
277280
AC_SUBST(XKB_LIBS)
278281
AC_SUBST(my_sysconfdir)
282+
AC_SUBST(PEKWM_CXXFLAGS)
283+
AC_SUBST(PEKWM_LIBS)
279284

280285
AC_OUTPUT([
281286
Jamconfig

data/Jamfile

+1
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ SubInclude TOP data mime-types ;
2323
SubInclude TOP data icon-themes ;
2424
SubInclude TOP data menu ;
2525
SubInclude TOP data desktop-links ;
26+
SubInclude TOP data pekwm ;

data/pekwm/Jamfile

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#
2+
# $Id: Jamfile 2858 2009-10-03 07:24:06Z karijes $
3+
#
4+
# Part of Equinox Desktop Environment (EDE).
5+
# Copyright (c) 2009-2011 EDE Authors.
6+
#
7+
# This program is licensed under terms of the
8+
# GNU General Public License version 2 or newer.
9+
# See COPYING for details.
10+
11+
SubDir TOP data pekwm ;
12+
13+
InstallData $(PEKWM_CONFIG_DIR) :
14+
autoproperties
15+
autoproperties_typerules
16+
config
17+
keys
18+
menu
19+
mouse
20+
start
21+
vars ;
22+
23+
SubInclude TOP data pekwm themes ;
24+
SubInclude TOP data pekwm scripts ;

data/pekwm/autoproperties

+248
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
/*
2+
Autoproperties. The default template and simple course of autopropping
3+
to help you add your own autoproperties. See the documentation for
4+
more keywords and the rest of what is possible through this file.
5+
6+
First, it's good to note that you can't just make up the property
7+
string, you need to use a program called 'xprop' to show it. Please
8+
conduct the documentation.
9+
10+
Another good tip is to make sure you have an ApplyOn entry. The
11+
autoproperties you define won't do any good if you don't tell pekwm
12+
when to apply them!
13+
14+
Third tip. You can't match a window with more than one property. The
15+
first one that matches will be used, the rest ignored (see the gimp
16+
example).
17+
18+
Note that the default entries are commented out, don't comment out your
19+
own autoproperties. :)
20+
*/
21+
22+
Require {
23+
Templates = "True"
24+
}
25+
26+
/*
27+
Group terminal applications
28+
*/
29+
# Property = "(term|rxvt),(erm|xvt)" {
30+
# ApplyOn = "New"
31+
# Group = "term" {
32+
# Size = "5"
33+
# FocusedFirst = "True"
34+
# Raise = "True"
35+
# }
36+
# }
37+
38+
/*
39+
Remove decor of customize toolbar window of mozilla firefox.
40+
*/
41+
Property = "^(gecko|Gecko|firefox-bin),^Firefox-bin,,^Customize Toolbar\$" {
42+
ApplyOn = "Start New TransientOnly"
43+
Border = "False"
44+
Titlebar = "False"
45+
}
46+
47+
/*
48+
Auto-group up to 10 mozilla download windows to group you call "moz-dl",
49+
using a WM_CLASS and specifying the the download window using the
50+
begining of its title. Make the windows go to the top-left corner of
51+
your workspace and place them under other windows. Do this when new
52+
windows show up, also to so called transient windows.
53+
*/
54+
# Property = "^mozilla-bin,^Mozilla-bin,,^Saving" {
55+
# ApplyOn = "New Transient"
56+
# Group = "moz-dl" { Size = "10" }
57+
# FrameGeometry = "+0+0"
58+
# Layer = "Below"
59+
# }
60+
61+
62+
/*
63+
Group together up to two windows that have a WM_CLASS that matches the
64+
property. Start these windows on workspace two.
65+
*/
66+
# Property = "^Mozilla,^navigator:browser" {
67+
# ApplyOn = "Start New Workspace"
68+
# Workspace = "2"
69+
# }
70+
71+
72+
/*
73+
Group together an infinite number of windows that match the property.
74+
When new windows are opened to this group, never make them the active
75+
window of the group, but open them in the background. Make these
76+
autoproperties apply on every pekwm start or when a new window is opened.
77+
*/
78+
# Property = "^dillo,^Dillo" {
79+
# ApplyOn = "Start New"
80+
# Group = "dillo" { Size = "0"; Behind = "True" }
81+
# }
82+
83+
84+
/*
85+
Put property matching windows under other windows and make the window
86+
appear on every workspace. Do not show matching windows on the pekwm
87+
goto menus, do not include them in frame switching (mod1+tab) and do
88+
not let other windows snap to them. Do this on pekwm start or when new
89+
window is opened, also include transient windows (in the example,
90+
xmms playlist and equalizer are transients).
91+
*/
92+
# Property = ".*,^xmms" {
93+
# ApplyOn = "Start New Transient"
94+
# Layer = "Desktop"
95+
# Sticky = "True"
96+
# Skip = "Menus FocusToggle Snap"
97+
# }
98+
99+
100+
/*
101+
Remove Gimp windows from the menus, only show the main toolbox window.
102+
Use the WM_WINDOW_ROLE to tell the difference between gimp windows.
103+
104+
First make sure the toolbox window doesn't get confused with the rest
105+
of the windows. This just tells pekwm to ignore any matches for the
106+
toolbox later on. Without this, the toolbox would match with "the rest
107+
of the windows" and get ignored from the pekwm menus! We don't want that.
108+
*/
109+
# Property = "^gimp,^Gimp,gimp-toolbox" {
110+
# ApplyOn = "Start New"
111+
# }
112+
/*
113+
The Crop dialog always gets in the way, put it in the corner but place
114+
it above other windows anyways. Don't show the window in pekwm menus.
115+
*/
116+
# Property = "^gimp,^Gimp,gimp-crop-tool" {
117+
# ApplyOn = "Start New"
118+
# Layer = "OnTop"
119+
# FrameGeometry = "+0+0"
120+
# Skip = "Menus"
121+
# }
122+
/*
123+
The rest of the gimp windows should not show in pekwm menus eather.
124+
*/
125+
# Property = ".gimp,^Gimp" {
126+
# ApplyOn = "Start New"
127+
# Skip = "Menus";
128+
# }
129+
130+
131+
/*
132+
This should start making sense to you by now.
133+
*/
134+
# Property = "^gkrellm,^Gkrellm" {
135+
# ApplyOn = "Start New"
136+
# Sticky = "True"
137+
# Skip = "Menus FocusToggle"
138+
# Layer = "Desktop"
139+
# }
140+
141+
142+
/*
143+
Some useful standard application xclock xload and xbiff. This should
144+
be fairly clear to you. In addition to what you've allready learned,
145+
we make the windows appear without titlebars and borders. We are also
146+
using the geometry in all its glory, defining the windows size in
147+
addition to its position.
148+
*/
149+
# Property = "^xclock,^XClock" {
150+
# ApplyOn = "Start New"
151+
# ClientGeometry = "120x137+0-137"
152+
# Border = "False"; Titlebar = "False"
153+
# Sticky = "True"
154+
# Layer = "Desktop"
155+
# Skip = "Menus FocusToggle Snap"
156+
# }
157+
#
158+
# Property = "^xload,^XLoad" {
159+
# ApplyOn = "Start New"
160+
# ClientGeometry = "560x137+120-137"
161+
# Border = "False"; Titlebar = "False"
162+
# Sticky = "True"
163+
# Layer = "Desktop"
164+
# Skip = "Menus FocusToggle Snap"
165+
# }
166+
#
167+
# Property = "^xbiff,^XBiff" {
168+
# ApplyOn = "Start New"
169+
# ClientGeometry = "120x137-120-137"
170+
# Border = "False"; Titlebar = "False"
171+
# Sticky = "True"
172+
# Layer = "Desktop"
173+
# Skip = "Menus FocusToggle Snap"
174+
# }
175+
176+
177+
// End of autoproperties. -------------------------
178+
179+
TypeRules {
180+
INCLUDE = "$_PEKWM_ETC_PATH/autoproperties_typerules"
181+
}
182+
183+
/*
184+
Next, we do some siple window title rewriting.
185+
To make it simple, you can automatically make some windows get their
186+
title edited. Cut out an annoying piece, add text, replace text.
187+
This all happens in it's own section "TitleRules {}".
188+
189+
I don't like the way dillo uses its titlebar, it says "Dillo: webpage".
190+
I want that "Dillo:" part to not show in the beginning, instead I want
191+
to make it show as "webpage - dillo".
192+
193+
Then again, the "webpage - Mozilla Firefox" is too long for my taste.
194+
I shorten it in the second titlerule. And I'll place the shortened text
195+
in the beginning of the title just as a show how.
196+
*/
197+
# TitleRules {
198+
# Property = "^dillo,^Dillo" {
199+
# Rule = "/Dillo: (.*)/\\1 - dillo/"
200+
# }
201+
# Property = "^firefox-bin,^Firefox-bin" {
202+
# Rule = "/(.*) - Mozilla Firefox/MF: \\1/"
203+
# }
204+
# }
205+
206+
207+
// End of titlerules. -----------------------------
208+
209+
210+
/*
211+
Then for some harbour ordering done in it's own "Harbour {}" section.
212+
This is simple really, but you might want to check the documentation on
213+
how the positions work.
214+
215+
Obpager is allways the last dockapp, the cpuload application is the
216+
first, and wmnd will get placed in the centre.
217+
*/
218+
# Harbour {
219+
# Property = "^obpager,^obpager" {
220+
# Position = "-1"
221+
# }
222+
# Property = ".*,.*cpuload" {
223+
# Position = "1"
224+
# }
225+
# Property = ".*,^wmnd" {
226+
# Position = "0"
227+
# }
228+
# }
229+
230+
231+
// End of harbour order rules. --------------------
232+
233+
234+
/*
235+
Last, if you have a theme that supports it, or you have hacked one up
236+
yourself, you can use the "DecorRules {}" section to make windows show
237+
up with independent decorations.
238+
239+
Here we tell our terminal windows to use the special TERM decoration
240+
section found from your theme. Note that this _needs_ a theme that
241+
supports it.
242+
*/
243+
# DecorRules {
244+
# Property = "^term,^xterm" {
245+
# Decor = "TERM"
246+
# }
247+
# }
248+

0 commit comments

Comments
 (0)