1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 20:38:08 +01:00

Add debianisation code and automatic build script

This commit is contained in:
Martin Dietze
2009-08-24 10:20:05 +02:00
committed by Carlos R. Mafra
parent 19f110d26e
commit 442e3876c6
42 changed files with 9969 additions and 0 deletions

26
debian/Debian.theme vendored Normal file
View File

@@ -0,0 +1,26 @@
{
TitleJustify = left;
WindowTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
MenuTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
MenuTextFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
IconTitleFont = "-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*";
ClipTitleFont = "-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*";
DisplayFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
HighlightColor = white;
HighlightTextColor = black;
ClipTitleColor = black;
CClipTitleColor = "rgb:61/61/61";
FTitleColor = white;
PTitleColor = white;
UTitleColor = black;
FTitleBack = (hgradient, "rgb:50/5a/5e", "rgb:20/2a/2e");
PTitleBack = (hgradient, "rgb:51/50/55", "rgb:80/80/80");
UTitleBack = (hgradient, "rgb:c2/c0/c5", "rgb:82/80/85");
MenuTitleColor = white;
MenuTextColor = black;
MenuDisabledColor = gray40;
MenuTitleBack = (hgradient, "rgb:50/5a/5e", "rgb:20/2a/2e");
MenuTextBack = (hgradient, "rgb:c2/c0/c5", "rgb:82/80/85");
WorkspaceBack = (spixmap, debian.tiff, "rgb:8c/81/65");
IconBack = (dgradient, "rgb:a6/a6/b6", "rgb:51/55/61");
}

20
debian/Debian.theme.txt vendored Normal file
View File

@@ -0,0 +1,20 @@
Begin3
Title: Debian
Version: 1.0
Entered-date: June 5, 1999
Description: Debian swirl theme for WindowMaker
This theme was inspired by the new Debian logo.
The background art is derived from copyright-free
stock artwork. GIMP was used for the imaging.
Keywords: Wmaker, theme, debian, swirl
Author: gfburke@earthlink.net (Gary Burke)
Maintained-by: gfburke@earthlink.net (Gary Burke)
Primary-site: wm.themes.org
Debian.tar.gz
186123 Backgrounds/Debian
1117 Themes/Debian
Platforms: WindowMaker, XFree86 window manager
Copying-policy: GPL
End

255
debian/README.Debian vendored Normal file
View File

@@ -0,0 +1,255 @@
Window Maker for DEBIAN
=======================
This is Debian GNU/Linux's prepackaged version of Window Maker, yet
another window manager, written mostly from scratch by Alfredo Kojima
in an attempt to provide as much of the useful OpenStep functionality
as possible under X11. It is the natural step after AfterStep.
There are some changes in the paths, added support for Debian menu
system, improved user configuration (from the sysadmin point of view).
To run Window Maker put this at the end of ~/.xsession:
exec /usr/bin/wmaker
and remove other exec lines if present. I have done my best to
overcome certain glitches and gotchas regarding Window Maker
installation. /usr/bin/wmaker is a shell script that tries to
make sure things are properly set up. Take a look at it to see what's
going on. Please read wmaker(1x).
Other sources for documentation
-------------------------------
* The Window Maker web site
http://www.windowmaker.info/
You can find all sorts of information here. It's kept very up to
date.
* The Window Maker manual written by Alfredo Kojima
ftp://ftp.windowmaker.info/pub/wmaker/docs/
Please note the manual documents version 0.10.x of Window Maker, and
many features/changes have occured since then. To find out what has
changed, please read file:/usr/share/doc/wmaker/NEWS.gz and
file:/usr/share/doc/wmaker/changelog.gz. A new version of this manual is
being developed. If you want to contribute to the manual please
contact wm-user@windowmaker.info
* The Window Maker mailing list
http://www.windowmaker.info/lists.html
There's a Window Maker mailing list. There you can ask questions about
Window Maker and *related* applications (s/n is _way_ low nowadays
due to unrelated discussions).
Please read the archives before asking!
* The Window Maker FAQ
http://www.dpo.uab.edu/~grapeape/wmfaq.html
This is NOT file:/usr/share/doc/wmaker/FAQ.gz, but another document.
It contains information about several aspects of Window Maker that are
not covered on the FAQ included alongside with this Readme.
* The Window Maker Configuration documents
ftp://ftp.windowmaker.info/pub/wmaker/docs/WindowMaker-*-Config.txt.gz
This documents the files found on ~/GNUstep/Defaults/. It's kept as
up to date as possible.
As a sidenote, I can't package these files with wmaker because they
don't have a copyright statement that permits redistribution.
IF YOU ARE UPGRADING FROM 0.6.3 or earlier
------------------------------------------
* The directory name has changed form gnustep to GNUstep
* The format of the style files and Window Maker file has
changed.
IF YOU ARE UPGRADING FROM 0.14.1 or earlier (but newer than 0.6.3)
------------------------------------------------------------------
* The Fiend has been renamed to Clip (in order to avoid hurting
certain people's feelings... does that ring a bell or
what?!?). Look up "Fiend" in the dictionary... therefore, every
keyword on Defaults/WindowMaker that says "Fiend" has to be
replaced by "Clip". The installation package tries to fix this
globally, i.e, both in the system wide files and the user's files.
* The ~/GNUstep/Library/WindowMaker/Style directory is no longer
called that, but "Styles" instead. Update accordingly. The wrapper
script tries to be smart about this...
IF YOU ARE UPGRADING FROM 0.15.0 or earlier
-------------------------------------------
* WindowPlaceOrigin syntax changed. The old was:
WindowPlaceOrigin = "64, 64"
The new one is:
WindowPlaceOrigin = (64, 64)
The installation package also fixes this.
IF YOU ARE UPGRADING FROM 0.17.3 or earlier
-------------------------------------------
* Please note there's a new Icons directory under ~/GNUstep/Library,
and a new key IconPath. Read the section on paths.
IF YOU ARE UPGRADING FROM 0.17.5 or earlier
-------------------------------------------
* Pandora's Box has been opened: Beware that some features of recent
releases may not be compatible with those of 0.17.5; PLEASE read
the NEWS file and the ChangeLog. If you don't have problems
upgrading, consider it a gift from the gods. PLEASE NOTE: WPrefs
is a work in progress. SAVE YOUR CONFIGURATION. READ THE READMEs.
* Please note that WPrefs' Menu Guru REQUIERES a menu in "Property
List" format to work properly. It's very likely that you have an
old format menu. There's a script called wm-oldmenu2new alongside
this file that converts your menu to the new format. It's a hack,
it won't be installed anywhere else.
Debian specific notes
---------------------
Debian prepackaged version of Window Maker will search
~/GNUstep/Library/WindowMaker and etc/X11/WindowMaker (in that order)
for its configuration files. It will read defaults from files in
~/GNUstep/Defaults and /etc/GNUstep/Defaults. The files in the
WindowMaker directories are preprocessed using cpp. It will read both
WindowMaker directories searching for #included files.
WindowMaker makes a (little) difference between Pixmaps and Icons, and
there are two configurable options for setting the paths Window Maker
would search Pixmaps and Icons in, namely, PixmapPath and
IconPath. The compiled in defaults are:
PixmapPath = (
"~/pixmaps",
"~/GNUstep/Library/WindowMaker/Pixmaps",
"/usr/local/share/WindowMaker/Pixmaps",
"/usr/share/WindowMaker/Pixmaps",
"/usr/local/share/pixmaps",
"/usr/share/pixmaps",
"/usr/X11R6/include/X11/pixmaps"
);
IconPath = (
"~/pixmaps",
"~/GNUstep/Library/Icons",
"/usr/local/share/WindowMaker/Icons",
"/usr/share/WindowMaker/Icons",
"/usr/local/share/icons",
"/usr/share/icons",
"/usr/X11R6/include/X11/pixmaps"
);
Please note that the internal default doesn't include the "Pixmaps"
paths anymore, but you are free to modify your Window Maker file in any
way you see fit. Please note that the /usr/X11R6/include/X11/pixmaps
is not going to be supported in future releases.
Other Window Maker packages should put pixmaps in
/usr/share/WindowMaker/Pixmaps and icons in
/usr/share/WindowMaker/Icons, ONLY.
The structure Window Maker tries to use is like this:
GNUstep
+.AppInfo
+Defaults
+Library
+WindowMaker
+ Backgrounds [*]
+ IconSets [*]
+ Pixmaps
+ Sounds
+ Styles [*]
+ Themes [*]
+Icons
Please note Icons are not considered Window Maker-only resources.
[*] these directories are OPEN_MENU'ed WITH the right
application. That means you can put the *file* "Great Debian Theme" on
Themes, it will show up in the menu, and will be opened using
setstyle, which installs it, i.e., sets that theme as the current
theme.
If you don't like the arrangement of the Appearance menu, you can put
a file "appearance.menu" in ~/GNUstep/Library/WindowMaker, and it will
override the default one. Look at /etc/X11/WindowMaker/appearance.menu
for an example.
Shortcuts
---------
Thanks to a suggestion, there's support for Shortcuts. If you want to
have Shift F1 launch an XTerm, you can:
$ cp /usr/lib/menu/xterm /etc/menu
$ sensible-editor /etc/menu/xterm
add:
shortcut=Shift+F1
and run update-menus.
Sound Support
-------------
This version of Window Maker is compiled with sound support. The sound
server is available as a separate package, but may not be in sync with
the current release.
Changing the menus (or "WPrefs segfaults when I click the cute menu icon")
--------------------------------------------------------------------------
First of all, I have this urge to say that it doesn't segfault for
me. It gives me a nice warning about being unable to use my current
menu.
The problem is that wmaker now is capable of using a new type of menu,
namely a PropList menu. It looks something like this:
(
Applications,
(Debian, OPEN_MENU, menu.hook),
(
WorkSpace,
(Appearance, OPEN_MENU, appearance.menu),
(Workspaces, WORKSPACE_MENU),
("Arrange Icons", ARRANGE_ICONS),
("Hide Others", HIDE_OTHERS),
("Show All Windows", SHOW_ALL),
("Clear Session", CLEAR_SESSION),
("Save Session", EXEC, "")
),
(About..., INFO_PANEL),
(Exit, SHUTDOWN)
)
That cute looking menu button (let's call it by its name: the Menu
Guru) in WPrefs expects to find a menu in this format. I considered
changing the menu-method to something that spits out a menu in this
format (it's quite easy) but there's a little tiny problem: see that
line that reads "OPEN_MENU" in the example above... well, it happens
that appearance.menu has to be in the old format. That means that if
I make the menu method produce a new style menu, that menu has to be
the root menu. And that is not a good idea (the reason is left as an
exercise to the reader, take into account the people that aren't using
menu.hook as the root menu in the first place).
Still want to use WPrefs to edit you menu? Cut and paste the example
above into ~/GNUstep/Defaults/WMRootMenu, start WPrefs, click the Menu
Guru (the 9th icon, left to right). Now go read the docs. That's the
reason they are there.
Marcelo E. Magallon <mmagallo@debian.org>, Thr, 1 Apr 1999 18:47:30 -0600

79
debian/README.build vendored Normal file
View File

@@ -0,0 +1,79 @@
Building Window Maker for Debian
--------------------------------
* The patches
debian/rules scans debian/patches/ for files named *.diff and these
are sorted _alphabetically_ before being applied.
You can apply these patches by calling
$ debian/rules patch-wmaker-stamp
and remove them with
$ debian/rules unpatch-wmaker
Why are some patches in debian/patches and others are stored in the
debian .diff?
For starters I (still) dislike the idea of doing:
$ dpkg -x package.dsc
and being left with something that is not the source from
which the package is built. It makes NMUs harder for both the
NMUer and the maintainer, mostly because people tend to get it
wrong (since it's undocumented). I use CVS for (almost all
of) my packages, and I like to be able to take a look at the
source used to build certain release of a package _without_
having to check out that release. On the other hand, I try to
send patches upstream, and over the years I've learned that
Debian's source package format is really not the best thing to
use in this context. Merging between debian's source and
upstream's (after accepting patches) is messy.
The system used by this package is a compromise between these
two things: "most" of the patches are applied directly by just
unpacking the Debian sources, and some are left out. The
things that are left out (those stored in debian/patches) are
in general things that should go upstream. Things that aren't
really Debian specific. Security fixes, patches submitted
upstream by other people, that kind of thing. This keeps the
patches nicely separated, makes it easy to send the upstream,
to take them out and to update them if that becomes necessary.
In general, if it's Debian specific, patch the sources
directly. If it should go upstream, put it in debian/patches.
The easiest way to generate patches is to use CVS. Patches coming out
of 'cvs diff -u whaterver/you.modded' will just work if you put them
in debian/patches. If you can't use CVS for whatever reason, just:
$ diff -u wmaker.orig wmaker > your.patch
will do the right thing.
* Building options
The following make variables are used to pass options to the configure
script:
XLOCALE := --disable-locale
MODELOCK := --enable-modelock
VDESKTOP := --enable-vdesktop
XINERAMA := --enable-xinerama
(*) These are not used by default
Since these are make variables, you can do something like:
$ SOUND=--disable-sound debian/rules build
If you want to build a debugging version, this will do it:
$ export DEB_BUILD_OPTIONS=nostrip,debug,noopt
$ fakeroot debian/rules binary
--
vim: tw=72 ft=text

11
debian/TODO vendored Normal file
View File

@@ -0,0 +1,11 @@
TODO list for Debian wmaker package
===================================
* Clean the mess in debian/rules, split it maybe, make a
debian/patches directory, read xfree's or libc6's debian/rules
* Fix the upgrade script (translate it to perl, use getpwent to go
thru the entire list of users, read /etc/login.defs to figure out
which id's are "regular" users)
* fix the "depends on version just built" problem. Look for some
package that gets this right; asked on -mentors, but there was no
reply.

56
debian/WMWindowAttributes vendored Normal file
View File

@@ -0,0 +1,56 @@
{
Logo.WMDock = {Icon = GNUstep.tiff;};
Logo.WMPanel = {Icon = GNUstep.tiff;};
Tile.WMClip = {Icon = clip.tiff;};
WPrefs = {Icon = "/usr/lib/GNUstep/System/Applications/WPrefs.app/WPrefs.tiff";};
Dockit = {Icon = GNUstep.tiff;};
WMSoundServer = {Icon = Sound.tiff;};
"*" = {Icon = defaultAppIcon.tiff;};
Rxvt = {Icon = GNUterm.tiff;};
KTerm = {Icon = GNUterm.tiff;};
NXTerm = {Icon = GNUterm.tiff;};
XTerm = {Icon = GNUterm.tiff;};
Netscape = {Icon = "wmaker-netscape.tif";};
"Mozilla-bin" = {Icon = "wmaker-nav.tif";};
emacs = {Icon = "wmaker-emacs.tif";};
Gimp = {AlwaysUserIcon = Yes;Icon = "wmaker-gimp2.tif";};
toolbox.Gimp = {NoAppIcon = Yes;Icon = "wmaker-gimp2.tif";};
gimp_startup.Gimp = {
Icon = "wmaker-gimp2.tif";
AlwaysUserIcon = Yes;
NoTitlebar = Yes;
NoResizebar = Yes;
NotClosable = Yes;
NotMiniaturizable = Yes;
};
tip_of_the_day.Gimp = {
Icon = "wmaker-gimp2.tif";
AlwaysUserIcon = Yes;
NoResizebar = Yes;
NoCloseButton = Yes;
NoMiniaturizeButton = Yes;
KeepOnTop = Yes;
};
image_window.Gimp = {Icon = "wmaker-gimp-work.tif";AlwaysUserIcon = Yes;};
brushselection.Gimp = {Icon = "wmaker-gimp-brushes.tif";AlwaysUserIcon = Yes;};
patternselection.Gimp = {Icon = "wmaker-gimp-patterns.tif";AlwaysUserIcon = Yes;};
color_palette.Gimp = {
Icon = "wmaker-gimp-palette.tif";
AlwaysUserIcon = Yes;
NoResizebar = Yes;
};
gradient_editor.Gimp = {Icon = "wmaker-gimp-gradient.tif";AlwaysUserIcon = Yes;};
tool_options.Gimp = {Icon = "wmaker-gimp-tooloption.tif";AlwaysUserIcon = Yes;};
layers_and_channels.Gimp = {Icon = "wmaker-gimp-layers.tif";AlwaysUserIcon = Yes;};
indexed_color_palette.Gimp = {
Icon = "wmaker-gimp-palette.tif";
AlwaysUserIcon = Yes;
NoResizebar = Yes;
};
"Script-fu" = {Icon = "wmaker-gimp-script-fu.tif";};
"script-fu.Script-fu" = {Icon = "wmaker-gimp-script-fu.tif";};
preferences.Gimp = {Icon = "wmaker-gimp-prefs.tif";AlwaysUserIcon = Yes;};
panel = {NoAppIcon = Yes;};
gmc = {NoAppIcon = Yes;Omnipresent = Yes;SkipWindowList = Yes;};
Logo.WMClip = {Icon = clip.tiff;};
}

142
debian/WindowMaker.default vendored Normal file
View File

@@ -0,0 +1,142 @@
{
LargeDisplayFont = "-*-helvetica-bold-r-normal-*-24-*-*-*-*-*-*-*";
MultiByteText = AUTO;
KbdModeLock = NO;
SmoothWorkspaceBack = NO;
WindozeCycling = NO;
PopupSwitchMenu = NO;
DisableMiniwindows = NO;
OpenTransientOnOwnerWorkspace = NO;
EdgeResistance = 30;
IconificationStyle = Zoom;
IconPath = (
"~/pixmaps",
"~/GNUstep/Library/Icons",
"/usr/local/share/WindowMaker/Icons",
"/usr/share/WindowMaker/Icons",
"/usr/local/share/icons",
"/usr/share/icons",
"/usr/X11R6/include/X11/pixmaps"
);
PixmapPath = (
"~/pixmaps",
"~/GNUstep/Library/WindowMaker/Backgrounds",
"~/GNUstep/Library/WindowMaker/Pixmaps",
"/usr/local/share/WindowMaker/Backgrounds",
"/usr/local/share/WindowMaker/Pixmaps",
"/usr/share/WindowMaker/Backgrounds",
"/usr/share/WindowMaker/Pixmaps",
"/usr/local/share/pixmaps",
"/usr/share/pixmaps",
"/usr/X11R6/include/X11/pixmaps"
);
WindowTitleBalloons = YES;
IconSize = 64;
FocusMode = manual;
DisableWSMouseActions = NO;
SelectWindowsMouseButton = left;
WindowListMouseButton = middle;
ApplicationMenuMouseButton = right;
ColormapSize = 4;
DisableDithering = NO;
ModifierKey = Mod1;
NewStyle = YES;
DisableDock = NO;
DisableClip = NO;
Superfluous = NO;
StickyIcons = NO;
SaveSessionOnExit = NO;
ColormapMode = auto;
RaiseDelay = 0;
AutoFocus = YES;
WindowPlacement = auto;
WindowPlaceOrigin = (64, 64);
UseSaveUnders = NO;
DisableSound = NO;
DisableAnimations = NO;
DontLinkWorkspaces = YES;
AutoArrangeIcons = NO;
AdvanceToNewWorkspace = NO;
CycleWorkspaces = NO;
ResizeDisplay = line;
MoveDisplay = floating;
OpaqueMove = YES;
IconPosition = blh;
WrapMenus = NO;
ScrollableMenus = YES;
MenuScrollSpeed = fast;
IconSlideSpeed = fast;
ShadeSpeed = fast;
DoubleClickTime = 250;
AlignSubmenus = NO;
NoWindowOverIcons = NO;
IgnoreFocusClick = NO;
CloseKey = None;
MaximizeKey = None;
VMaximizeKey = None;
RaiseLowerKey = None;
DontConfirmKill = NO;
ShadeKey = None;
NextWorkspaceKey = "Mod1+Control+Right";
PrevWorkspaceKey = "Mod1+Control+Left";
RootMenuKey = F12;
WindowListKey = F11;
WindowMenuKey = "Control+Escape";
RaiseKey = "Mod1+Up";
LowerKey = "Mod1+Down";
FocusNextKey = "Mod1+Tab";
FocusPrevKey = "Mod1+Shift+Tab";
Workspace1Key = "Mod1+1";
Workspace2Key = "Mod1+2";
Workspace3Key = "Mod1+3";
Workspace4Key = "Mod1+4";
Workspace5Key = "Mod1+5";
Workspace6Key = "Mod1+6";
Workspace7Key = "Mod1+7";
Workspace8Key = "Mod1+8";
Workspace9Key = "Mod1+9";
Workspace10Key = "Mod1+0";
HideKey = "Mod1+H";
SelectKey = None;
MiniaturizeKey = "Mod1+M";
NextWorkspaceLayerKey = None;
PrevWorkspaceLayerKey = None;
ClipLowerKey = None;
ClipRaiseKey = None;
ConstrainWindowSize = NO;
ClipRaiseLowerKey = None;
TitleJustify = center;
WindowTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
MenuTitleFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
MenuTextFont = "-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*";
IconTitleFont = "-*-helvetica-bold-r-normal-*-9-*-*-*-*-*-*-*";
ClipTitleFont = "Verdana:bold:pixelsize=10";
DisplayFont = "-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*";
HighlightColor = white;
HighlightTextColor = black;
ClipTitleColor = black;
CClipTitleColor = gray20;
FTitleColor = white;
PTitleColor = white;
UTitleColor = black;
FTitleBack = (solid, black);
PTitleBack = (solid, gray40);
UTitleBack = (solid, "rgb:aa/aa/aa");
MenuTitleColor = white;
MenuTextColor = black;
MenuDisabledColor = gray40;
MenuTitleBack = (solid, black);
MenuTextBack = (solid, "rgb:aa/aa/aa");
WorkspaceBack = (
spixmap,
"/usr/share/WindowMaker/Backgrounds/debian.tiff",
gray20
);
IconBack = (dgradient, "rgb:a6/a6/b6", "rgb:51/55/61");
IconTitleColor = white;
IconTitleBack = black;
ResizebarBack = (solid, "rgb:aa/aa/aa");
MenuStyle = normal;
}

26
debian/appearance.menu-method vendored Normal file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/install-menu
#
# Generates the Window Maker Appereance menu
compat="menu-1"
#!include menu.h
genmenu="appearance.menu"
rootprefix="/etc/X11/WindowMaker"
userprefix=shell("echo -n /${GNUSTEP_USER_ROOT-GNUstep}") "/Library/WindowMaker"
treewalk=(M)
supported
wmappearance = " \"" $title "\" " $command "\n"
endsupported
# Please note that items should specify "section=Appearance"
preoutput="/* Automatically generated file. Do not edit. */\n\n#include \"wmmacros\"\n\n"
postoutput="\n"
mainmenutitle=""
submenutitle= ""
startmenu= ifnempty ($title, $title " MENU \n")
endmenu= ifnempty ($title, $title " END \n")

2007
debian/changelog vendored Normal file

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
7

63
debian/control vendored Normal file
View File

@@ -0,0 +1,63 @@
Source: wmaker
Section: x11
Priority: optional
Maintainer: John H. Robinson, IV <jaqque@debian.org>
Standards-Version: 3.8.0.1
Build-Depends: debhelper (>= 4), automake1.4, gettext, dctrl-tools, libfontconfig1-dev, libjpeg62-dev, libpng12-dev, libsm-dev, libtiff4-dev, libtool, libgif-dev, libx11-dev, libxext-dev, libxft-dev, libxinerama-dev, libxkbfile-dev, libxpm-dev, libxt-dev, libxrender-dev, sharutils
Package: wmaker
Architecture: any
Section: x11
Priority: optional
Depends: ${shlibs:Depends}, cpp
Provides: x-window-manager
Suggests: wmaker-data, menu, x11-apps, xosview, wterm | x-terminal-emulator
Description: NeXTSTEP-like window manager for X
Written by Alfredo Kojima almost from scratch, resembles the NeXTStep look
very closely, and it is now an official GNU project. Window Maker is not
overloaded with features, and it is easier to configure than most other window
managers. Its final goal is to produce a window manager that doesn't require
editing of configuration files. Window Maker is fast and doesn't require tons
of memory to run.
.
Homepage: http://www.windowmaker.info/
Package: libwmaker0-dev
Architecture: any
Section: libdevel
Priority: optional
Depends: libc6-dev, libx11-dev
Description: Static libraries and headers for Window Maker applications
Contains libWMaker and header files, for building Window Maker aware
applications.
Package: libwraster3-dev
Architecture: any
Section: libdevel
Priority: optional
Depends: libwraster3 (= ${Source-Version}), libc6-dev, libx11-dev, libxext-dev, libxpm-dev, libjpeg62-dev, libpng12-0-dev, libgif-dev, libtiff4-dev
Provides: libwraster-dev
Description: Static libraries and headers of Window Maker rasterizer
Contains libwraster and header files, for manipulating and
rasterizing images.
Package: libwraster3
Architecture: any
Section: libs
Priority: optional
Depends: ${shlibs:Depends}
Description: Shared libraries of Window Maker rasterizer
Contains libwraster, for manipulating and rasterizing images.
Package: libwings-dev
Architecture: any
Section: libdevel
Priority: optional
Depends: libc6-dev, libx11-dev, libxext-dev, libwraster3-dev, libxft-dev, libfontconfig1-dev
Description: Window Maker's own widget set
WINGs Is Not GNUstep (WINGs) is a small widget set with the NeXTSTEP
look and feel. Its API is inspired in OpenSTEP and its
implementation borrows some ideas from Tk. It has a reasonable set of
widgets, sufficient for building small applications like a CDPlayer
or hacking something like rxvt. It is used for basic widgets in
the WindowMaker window manager.

97
debian/copyright vendored Normal file
View File

@@ -0,0 +1,97 @@
This package was debianized by Marcelo E. Magallon
<mmagallo@debian.org> on Sat, 1 Nov 1997 15:21:20 -0600.
The original package was debianized by Neil A. Rubin <nar5@po.cwru.edu>
on Sun, 18 May 1997 18:02:24 -0400.
It was downloaded from ftp://ftp.windowmaker.info/pub/source/release
Window Maker X11 Window Manager
Copyright (c) 1997 Alfredo Kengi Kojima
Window Maker is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
The libraries accompanying Window Maker, wrlib (libwraster), wmlib and
WINGs (libwings-dev) are distributed under the terms of the GNU Library
General Public License as published by the Free Software Foundation;
either version 2 of the license, or (at your option) any later version.
Window Maker is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You can find a copy of the GNU General Public License and the GNU
Library Public License in the directory /usr/share/common-licenses, in
the file GPL and LGPL respectively; if not, you can obtain a copy
writing to the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston, MA 02110-1301 USA
The icons that are distributed with this program and were made by
Marco van Hylckama Vlieg are licensed through the OpenContent
License. Read the /usr/doc/wmaker/COPYING.OPL file for the complete
license.
NeXT, OpenStep and NEXTSTEP are trademarks of NeXT Computer, Inc.
All other trademarks are property of their respective owners.
The authors reserve the right to make changes in the software without
prior notice.
The following artwork were created by Banlu Kemiyatorn and
are distributed through the license in this file:
GNUstepGlow.tiff
GNUstepGlow.xpm
Magnify.tiff
Magnify.xpm
Terminal.tiff
Terminal.xpm
TerminalGNUstep.tiff
TerminalGNUstep.xpm
TerminalLinux.tiff
TerminalLinux.xpm
tiff/msty1.tiff
tiff/msty2.tiff
tiff/msty3.tiff
xpm/msty1.xpm
xpm/msty2.xpm
xpm/msty3.xpm
WPrefs.tiff
WPrefs.xpm
tiff/tdel.tiff
tiff/tedit.tiff
tiff/textr.tiff
tiff/tnew.tiff
xpm/tdel.xpm
xpm/tedit.xpm
xpm/textr.xpm
xpm/tnew.xpm
inside Resources/Images.tiff "the little house", "the trash can",
"the folder", "the floppies"
Ear.png
Ftp.png
ICQ.png
Jabber.png
Mozilla.png
Pen.png
Pencil.png
Shell.png
Speaker.png
XChat.png
do What The Fuck you want to Public License
Version 1.0, March 2000
Copyright (C) 2000 Banlu Kemiyatorn (]d).
136 Nives 7 Jangwattana 14 Laksi Bangkok
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Ok, the purpose of this license is simple
and you just
DO WHAT THE FUCK YOU WANT TO.

5683
debian/debian.tiff.uu vendored Normal file

File diff suppressed because it is too large Load Diff

2
debian/libwings-dev.dirs vendored Normal file
View File

@@ -0,0 +1,2 @@
usr/include/X11
usr/lib

3
debian/libwmaker0-dev.dirs vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/include/X11
usr/lib
usr/share/doc/libwmaker0-dev

3
debian/libwraster3-dev.dirs vendored Normal file
View File

@@ -0,0 +1,3 @@
usr/include/X11
usr/lib
usr/share/doc/libwraster3-dev

3
debian/libwraster3-dev.docs vendored Normal file
View File

@@ -0,0 +1,3 @@
wrlib/NEWS
wrlib/README
wrlib/TODO

2
debian/libwraster3.dirs vendored Normal file
View File

@@ -0,0 +1,2 @@
usr/lib
usr/share/doc/libwraster3

20
debian/libwraster3.postinst vendored Normal file
View File

@@ -0,0 +1,20 @@
#! /bin/sh -e
case "$1" in
configure)
ldconfig
;;
abort-upgrade|abort-deconfigure|abort-remove)
# how did we got here? Force a non-zero exit code
exit 1
;;
*)
echo "postinst called with unknown argument: \$1" >&2
;;
esac
#DEBHELPER#
exit 0

56
debian/manpages/WPrefs.1x vendored Normal file
View File

@@ -0,0 +1,56 @@
.TH "Window Maker" 1x "March 2001" "Debian Project"
.SH NAME
WPrefs \- Window Maker configuration tool
.SH SYNOPSIS
.B WPrefs
.I "[-options]"
.SH "DESCRIPTION"
WPrefs.app is the preferences "editor" for the WindowMaker window manager. It
can be used to set most of the preference options of WindowMaker and define
it's applications menu. It also can change some settings that do not belong to
WindowMaker.
.PP
Although WPrefs.app is designed to be easy to use, you should read the
user guide to be fully aware of all available options and other features
of WindowMaker that are not related to configuration.
.PP
\fIOnly options that have different values than what is found in the
system-wide configuration file is saved.\fP
.SH "OPTIONS"
.TP
.B \-display host:display.screen
specify display to use.
.TP
.B \-\-version
display version number and exit
.TP
.B \-\-help
display help message and exit
.SH FILES
.TP
.B ~/GNUstep/Defaults/WindowMaker
general Window Maker defaults.
.TP
.B /etc/GNUstep/Defaults/WindowMaker
system wide Window Maker defaults.
.TP
.B ~/GNUstep/Defaults/WMRootMenu
Contains the name of the file to read the root menu from or the
menu itself, in property list format.
.TP
.B ~/GNUstep/Library/WindowMaker/autostart
This script is automatically executed when Window Maker is started. WPrefs
saves the mouse speed configuration is saved as a call for xset here.
.SH SEE ALSO
The Window Maker User Guide
.PP
The Window Maker FAQ
.PP
.BR wmaker (1x)
.SH AUTHOR
Window Maker was written by Alfredo K. Kojima <kojima@windowmaker.info>,
Dan Pascu <dan@windowmaker.info> with contributions from many people around
the Internet.
.PP
This manual page was written by Marcelo E. Magallon, <mmagallo@debian.org>,
for the Debian Project and might be used freely by others.

1
debian/manpages/WindowMaker.1x vendored Normal file
View File

@@ -0,0 +1 @@
.so man1/wmaker.1x

32
debian/manpages/get-wings-flags.1 vendored Normal file
View File

@@ -0,0 +1,32 @@
.TH "get-wings-flags" "1" "22 March 2005"
.SH "NAME"
\fBget-wings-flags\fR \- output libWINGs compile and linker flags
.PP
.SH "SYNOPSIS"
.B get-wings-flags \fR[ \fI\-\-cflags \fR] [ \fI\-\-ldflags \fR]
[ \fI\-\-libs \fR]
.PP
.SH "DESCRIPTION"
\fBget-wings-flags \fR\- output include path, library search path or
library archive names needed to compile and link with libWINGs.
.PP
.SH "OPTIONS"
.TP
.B \-\-cflags
\fRoutput include file search path to find all header files needed to compile
source code using libWINGs functions.
.TP
.B \-\-ldflags
\fRoutput library search path required to find all library archives needed to
link object files with libWINGs.
.TP
.B \-\-libs
\fRoutput library archive names required to link object filed with libWINGs.
.PP
.SH "AUTHOR"
get-wings-flags is a part of Window Maker, wich was written by
Alfredo K. Kojima <kojima@windowmaker.info> and Dan Pascu <dan@windowmaker.info>,
with contributions from many people around the Internet.
.PP
This manpage was written by Frederik Schueler <fschueler@gmx.net> for the
Debian GNU/Linux system (but may be used by others).

32
debian/manpages/get-wraster-flags.1 vendored Normal file
View File

@@ -0,0 +1,32 @@
.TH "get-wraster-flags" "1" "22 March 2005"
.SH "NAME"
\fBget-wraster-flags\fR \- output libwraster compile and linker flags
.PP
.SH "SYNOPSIS"
.B get-wraster-flags \fR[ \fI\-\-cflags \fR] [ \fI\-\-ldflags \fR]
[ \fI\-\-libs \fR]
.PP
.SH "DESCRIPTION"
\fBget-wraster-flags \fR\- output include path, library search path or
library archive names needed to compile and link with libwraster.
.PP
.SH "OPTIONS"
.TP
.B \-\-cflags
\fRoutput include file search path to find all header files needed to compile
source code using libwraster functions.
.TP
.B \-\-ldflags
\fRoutput library search path required to find all library archives needed to
link object files with libwraster.
.TP
.B \-\-libs
\fRoutput library archive names required to link object filed with libwraster.
.PP
.SH "AUTHOR"
get-wraster-flags is a part of Window Maker, wich was written by
Alfredo K. Kojima <kojima@windowmaker.info> and Dan Pascu <dan@windowmaker.info>,
with contributions from many people around the Internet.
.PP
This manpage was written by Frederik Schueler <fschueler@gmx.net> for the
Debian GNU/Linux system (but may be used by others).

32
debian/manpages/get-wutil-flags.1 vendored Normal file
View File

@@ -0,0 +1,32 @@
.TH "get-wutil-flags" "1" "22 March 2005"
.SH "NAME"
\fBget-wutil-flags\fR \- output libwutil compile and linker flags
.PP
.SH "SYNOPSIS"
.B get-wutil-flags \fR[ \fI\-\-cflags \fR] [ \fI\-\-ldflags \fR]
[ \fI\-\-libs \fR]
.PP
.SH "DESCRIPTION"
\fBget-wutil-flags \fR\- output include path, library search path or
library archive names needed to compile and link with libWUtil.
.PP
.SH "OPTIONS"
.TP
.B \-\-cflags
\fRoutput include file search path to find all header files needed to compile
source code using libWUtil functions.
.TP
.B \-\-ldflags
\fRoutput library search path required to find all library archives needed to
link object files with libWUtil.
.TP
.B \-\-libs
\fRoutput library archive names required to link object filed with libWUtil.
.PP
.SH "AUTHOR"
get-wutil-flags is a part of Window Maker, wich was written by
Alfredo K. Kojima <kojima@windowmaker.info> and Dan Pascu <dan@windowmaker.info>,
with contributions from many people around the Internet.
.PP
This manpage was written by Frederik Schueler <fschueler@gmx.net> for the
Debian GNU/Linux system (but may be used by others).

View File

@@ -0,0 +1,23 @@
.TH "Window Maker" 8 "March 2001" "Debian Project"
.SH NAME
upgrade-windowmaker-defaults \- Convert old wmaker configuration files
.SH SYNOPSIS
.B upgrade-windowmaker-defaults
.SH DESCRIPTION
Some old versions of Window Maker used different names or different syntax
for some configuration options, which in turn used to cause some newer
versions of Window Maker not to start up correctly. Nowadays this is no
longer a problem but this utility is provided to support upgrades from these
old versions of Window Maker.
.SH SEE ALSO
The Window Maker User Guide
.PP
The Window Maker FAQ
.PP
The Window Maker changelog and NEWS files (in /usr/share/doc/wmaker)
.PP
.BR wmaker (1x)
.SH AUTHOR
This utility and manpage were written by Marcelo E. Magallon,
<mmagallo@debian.org>, for the Debian Project. It might be used freely by
others.

48
debian/manpages/wmagnify.1x vendored Normal file
View File

@@ -0,0 +1,48 @@
.TH WMAGNIFY 1 "March 22, 2006" "" "User Commands"
.SH NAME
wmagnify \- magnify parts of the screen
.SH SYNOPSIS
\fBwmagnify\fR [\fIoptions\fR]
.SH DESCRIPTION
\fBwmagnify\fR is a tool which allows you to magnify parts of the screen. The
main difference from \fBxmag\fR is that the image is refreshed automatically,
following the cursor on the screen.
.SH OPTIONS
The following command line options are available.
.TP
\fB\-m\fR \fIfactor\fR
Change the magnification factor, default is 2. You can change this also while
running the program, using the keys described below.
.TP
\fB\-r\fR \fIdelay\fR
Change the refresh delay, in milliseconds. Default is 200.
.TP
\fB\-display\fR \fIdisplay\fR
Use \fIdisplay\fR instead of the default one.
.SH KEYS
The following keys can be pressed while \fBwmagnify\fR is running to change its
behaviour.
.TP
\fB1,2,3,4,5,6,7,8,9\fR
Change the magnification factor.
.TP
\fB<space>, f\fR
Freeze the camera, making it magnify only the current position.
.TP
\fBn\fR
Create a new window.
.TP
\fBm\fR
Show/hide the pointer hotspot mark.
.SH SEE ALSO
\fBxmag(1)\fR, \fBwmaker(1)\fR
.SH AUTHOR
This manual page was written by Andrea Bolognani <eof@kiyuko.org> for the
Debian project, but may be used by others.

167
debian/manpages/wmaker.1x vendored Normal file
View File

@@ -0,0 +1,167 @@
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.TH "Window Maker" 1x "January 1999" "Debian Project"
.SH NAME
wmaker \- X11 window manager with a NEXTSTEP look
.SH SYNOPSIS
.B wmaker
.I "[-options]"
.SH "DESCRIPTION"
Window Maker is a X11 window manager with a NEXTSTEP look. It tries to
emulate NeXT's look as much as possible, but it deviates from it as
necessary.
.PP
\fIPlease note this manpage has been modified to reflect changes in the
Debian installation of Window Maker.\fP
.SH "OPTIONS"
.TP
.B \-display host:display.screen
specify display to use.
On multiheaded machines, Window Maker will automatically manage all screens.
If you want Window Maker to manage only a specific screen, you must supply
the screen number you want to have managed with the
.B \-display
command line argument. For example, if you want Window Maker to manage only
screen 1, start it as:
.B wmaker -display :0.1
.TP
.B \-\-no\-cpp
disable preprocessing of configuration files
.TP
.B \-\-no\-dock
do not show the application Dock
.TP
.B \-\-no\-clip
do not show the workspace Clip
.TP
.B \-\-no\-autolaunch
do not autolaunch applications
.TP
.B \-\-dont\-restore
do not restore saved session
.TP
.B \-\-locale locale
specify the locale to use
.TP
.B \-\-create-stdcmap
create the standard colormap hint in PseudoColor visuals
.TP
.B \-\-visual\-id
visual id of visual to use
.TP
.B \-\-static
do not update or save configurations
.TP
.B \-\-version
display version number and exit
.TP
.B \-\-visual\-id
specify the ID of the visual to use. See
.BR xdpyinfo (1x)
for a list of visuals available in your display.
.TP
.B \-\-help
print a brief help message
.PP
.SH FILES
.TP
.B ~/GNUstep/Defaults/WindowMaker
general Window Maker defaults.
.TP
.B ~/GNUstep/Defaults/WMState
information about the Dock and Clip. DON'T edit this while running
Window Maker. It will be overwritten.
.TP
.B ~/GNUstep/Defaults/WMRootMenu
Contains the name of the file to read the root menu from or the
menu itself, in property list format.
.TP
.B ~/GNUstep/Defaults/WMWindowAttributes
Attributes for different application classes and instances. Use the
Attribute Editor (right drag the application's title bar, select
Attributes) instead of modifying this file directly. There are just a
few options not available using the Attributes Editor.
.TP
.B /etc/GNUstep/Defaults/
All the above-mentioned files are READ from here if not found except
for WMState, which is COPIED from here. No matter where they are read
from, if it's necesary to write configuration changes back into this
files, user's files will be written to.
.TP
.B ~/GNUstep/Library/WindowMaker/autostart
This script is automatically executed when Window Maker is started.
.TP
.B ~/GNUstep/Library/WindowMaker/exitscript
This script is automatically executed immediately before Window Maker is
exited.
.B Note:
If you need to run something that requires the X server to be running
from this script, make sure you do not use the
.I SHUTDOWN
command from the root menu to exit Window Maker. Otherwise, the X server
might be shut down before the script is executed.
.TP
.B ~/GNUstep/Library/WindowMaker/
The menu file indicated in WMRootMenu is looked for here...
.TP
.B /etc/X11/WindowMaker/
and here, in that order. Unless, the indicated path is an absolute path.
.TP
.B ~/GNUstep/Library/WindowMaker/Pixmaps/
Window Maker looks for \fBpixmaps\fP here
.TP
.B ~/GNUstep/Library/Icons/
Window Maker looks for \fBicons\fP here
.TP
.B ~/GNUstep/Library/WindowMaker/Backgrounds/
Window Maker looks for backgrounds here
.TP
.B ~/GNUstep/Library/WindowMaker/Styles/
Window Maker looks for style files here (not true... it looks like it
does, but you have to specify the full path anyway, it's just a place
to keep things nicely ordered)
.TP
.B ~/GNUstep/Library/WindowMaker/Themes/
Window Maker looks for theme files here (ibid)
.TP
.B /usr/share/WindowMaker/Pixmaps/
System-wide (Window Maker-specific) pixmaps are located here
.TP
.B /usr/share/WindowMaker/Styles/
System wide styles are here
.TP
.B /usr/share/WindowMaker/Themes/
Guess... ;-)
.SH ENVIRONMENT
.IP GNUSTEP_USER_ROOT
specifies the initial path for the Defaults directory. "Defaults/" is
appended to this variable to determine the actual location of the
databases. If the varialbe is not set, it defaults to "~/GNUstep"
.IP GNUSTEP_LOCAL_ROOT
specifies the location of the system-wide \fBlocal\fP GNUstep
directory (this is useful, for example, in those cases where the
system-wide location is really a network wide location). If this
variable is empty, GNUSTEP_SYSTEM_ROOT is looked for.
.IP GNUSTEP_SYSTEM_ROOT
specifies the location of the system-wide GNUstep directory. If this
variable is empty, it defaults to /etc/GNUstep
.SH SEE ALSO
The Window Maker User Guide
.PP
The Window Maker FAQ
.PP
.BR X (1x),
.BR wdwrite (1x),
.BR wxcopy (1x),
.BR geticonset (1x),
.BR seticons (1x),
.BR wmaker (1x),
.BR wxpaste (1x),
.BR getstyle (1x),
.BR setstyle (1x),
.BR wmsetbg (1x)
.SH AUTHOR
Window Maker was written by Alfredo K. Kojima <kojima@windowmaker.info>,
Dan Pascu <dan@windowmaker.info> with contributions from many people around
the Internet.
.PP
This manual page was written by Marcelo E. Magallon, <mmagallo@debian.org>.

89
debian/nightly_build.sh vendored Executable file
View File

@@ -0,0 +1,89 @@
#!/bin/sh
CHLOGBKP="/tmp/$$-chlog"
BASEVERSION="0.93.0"
REPOVERSION="git-`date +%Y%m%d-%H%M`"
CHANGELOG="Automatic build from the GIT on `date`"
BUILDLOG="${HOME}/log/wmaker-nightly.log"
STATUSCMD="git log -1 --pretty=oneline"
PULLCMD="git pull"
FORCE="0"
if [ $# -gt 0 ]; then
case $1 in
-f|--force)
FORCE="1"
;;
*)
echo "Usage $0 [-f|--force]"
exit 0
;;
esac
fi
cleanup() {
mv ${CHLOGBKP} debian/changelog
}
errorExit() {
echo "$@" 1>&2
cleanup
exit 2
}
doPull() {
RC="1"
LATEST="`$STATUSCMD`"
$PULLCMD >>$BUILDLOG 2>&1 || errorExit "Error pulling from the repo"
CURRENT="`$STATUSCMD`"
if [ "$FORCE" = "1" -o "$LATEST" != "$CURRENT" ]; then
echo "last revision: $LATEST" >>$BUILDLOG
echo "new revision: $CURRENT" >>$BUILDLOG
echo "FORCE: $FORCE" >>$BUILDLOG
RC="0"
else
echo "No changes to build, and FORCE not given." >>$BUILDLOG
fi
return $RC
}
doEnv() {
for var in `env | grep GNUSTEP | sed "s/=.*//"`; do
unset $var
done
}
doChlog() {
cp debian/changelog ${CHLOGBKP}
debchange -v ${BASEVERSION}-${REPOVERSION} "${CHANGELOG}" || return 1
}
doBuild() {
ARGS=""
if [ -n "${WM_GPG_KEY}" ]; then
ARGS="-k${WM_GPG_KEY}"
fi
fakeroot dpkg-buildpackage $ARGS >>${BUILDLOG} 2>&1
}
install -d `dirname $BUILDLOG`
>$BUILDLOG
trap 'cleanup; exit 2' 2
trap 'cleanup; exit 2' 9
trap 'cleanup; exit 2' 15
test -d debian || errorExit "This script must be called from the toplevel source dir, ./debian must exist."
RC=0
if doPull ; then
doEnv
doChlog || errorExit "Error adding new changelog entry."
doBuild || errorExit "Error during build of .deb package."
else
RC=1
fi
cleanup
exit $RC

1
debian/patches/.keepme vendored Normal file
View File

@@ -0,0 +1 @@
Don't remove this directory

414
debian/rules vendored Executable file
View File

@@ -0,0 +1,414 @@
#!/usr/bin/make -f
# GNU Copyright 1997-2005 Marcelo Magallon <mmagallo@debian.org>
package := wmaker
version := $(shell dpkg-parsechangelog | grep-dctrl -ne -sVersion -FVersion .)
# use '(>= some_version)' whenever version dependencies are needed
# libwraster_deps := (>= 0.90.0-1)
SHELL=/bin/sh
CFLAGS = -g -Wall -DGLOBAL_DEFAULTS_SUBDIR="\\\"GNUstep/Defaults\\\""
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -DDEBUG
endif
LINGUAS := $(patsubst po/%.po, %, $(wildcard po/*.po))
#LINGUAS := $(filter-out zh_TW.Big5, $(LINGUAS))
# Options, options and more options!!!
XLOCALE := --disable-locale
MODELOCK := --enable-modelock
VDESKTOP := --enable-vdesktop
XINERAMA := --enable-xinerama
# USERMENU := --enable-usermenu
# SHAPE_EXT := --disable-shape
# USE_SHM := --disable-shm
# USE_XPM := --disable-xpm
# USE_PNG := --disable-png
# USE_JPEG := --disable-jpeg
# USE_GIF := --disable-gif
# USE_TIFF := --disable-tiff
WMAKER_OPTIONS := $(XLOCALE) $(MODELOCK) $(VDESKTOP) $(XINERAMA) \
$(USERMENU) $(SHAPE_EXT) $(USE_SHM) \
$(USE_XPM) $(USE_PNG) $(USE_JPEG) $(USE_GIF) $(USE_TIFF)
TOPSRCDIR := $(shell pwd)
DEBTMPDIR := $(TOPSRCDIR)/debian/wmaker
WMAKER := wmaker
WMAKER_BD := $(TOPSRCDIR)/$(WMAKER)
WMAKER_TMP := $(DEBTMPDIR)
# Be careful with the leading / because some of these values are going
# to be hardcoded into the executables
BASEDIR := /usr
CONFDIR := /etc
BINDIR := $(BASEDIR)/bin
INCLUDEDIR := $(BASEDIR)/include
SHAREDIR := $(BASEDIR)/share
DOCDIR := $(SHAREDIR)/doc
MANDIR := $(SHAREDIR)/man
MAN1DIR := $(MANDIR)/man1
MAN8DIR := $(MANDIR)/man8
LIBDIR := $(BASEDIR)/lib
PKGLIBDIR := $(BASEDIR)/lib/WindowMaker
NLSDIR := $(SHAREDIR)/locale
WMCONFDIR := $(CONFDIR)/X11/WindowMaker
WMSHAREDIR := $(SHAREDIR)/WindowMaker
WMDOCDIR := $(DOCDIR)/wmaker
GNUSTEPDIR := $(LIBDIR)/GNUstep/System
GNUSTEPCONFDIR := $(CONFDIR)/GNUstep
DEFAULTSDIR := $(GNUSTEPCONFDIR)/Defaults
PIXMAPDIR := $(INCLUDEDIR)/X11/pixmaps
GNUSTEPAPPS := $(GNUSTEPDIR)/Applications
WPREFSAPPDIR := $(GNUSTEPAPPS)/WPrefs.app
WPREFSSRCDIR := $(TOPSRCDIR)/WPrefs.app
WRASTERSRCDIR := $(TOPSRCDIR)/wrlib
WINGSSRCDIR := $(TOPSRCDIR)/WINGs
LIBWRASTER := libwraster3
LIBWRASTER_TMP := $(DEBTMPDIR)/../$(LIBWRASTER)
LIBWMAKER := libwmaker0
LIBWINGS := libwings-dev
LIBWINGS_TMP := $(DEBTMPDIR)/../$(LIBWINGS)
LTMAIN := $(shell: find /usr/share/libtool/ -name ltmain.sh | head -1)
RM := rm -f
RMDIR := rmdir --ignore-fail-on-non-empty
COMMON_OPTIONS := --prefix=$(BASEDIR) \
--mandir=$(MANDIR) \
--includedir=$(INCLUDEDIR) \
--sysconfdir=$(CONFDIR) \
--datadir=$(SHAREDIR) \
--with-nlsdir=$(NLSDIR) \
--with-pixmapdir=$(PIXMAPDIR) \
--with-gnustepdir=$(GNUSTEPDIR) \
--with-xft
AUTOMAKE_FILES := $(shell find -name Makefile.am)
IN_MAKEFILES := $(patsubst %.am,%.in,$(AUTOMAKE_FILES))
IN_FILES := $(filter-out $(IN_MAKEFILES),$(shell find -name \*.in))
GEN_FILES := $(patsubst %.in,%,$(IN_FILES))
LIST_PATCHES := find debian/patches -mindepth 1 -maxdepth 1 -name \*.diff -type f | sort
RLIST_PATCHES := find debian/patches -mindepth 1 -maxdepth 1 -name \*.diff -type f | sort -r
install_file := install -p -o root -g root -m 0644
install_prog := install -p -o root -g root -m 0755
install_dir := install -p -d -o root -g root -m 0755
build: build-stamp
build-stamp: build-wmaker-stamp
touch $@
build-wmaker-stamp: config-wmaker-stamp
$(RM) $(patsubst %.in,%,$(shell find WindowMaker -name \*.in ! -name Makefile.in))
test -x libtool || ln -sf $(WMAKER_BD)/libtool .
$(MAKE) -C $(WMAKER_BD)
touch $@
config-wmaker-stamp: patch-wmaker-stamp configure
dh_testdir
test -x config.guess || chmod +x config.guess
test -x config.sub || chmod +x config.sub
find -name \*.h.in | sed -e 's/\.in$$//' | xargs -r rm -f
mkdir -p $(WMAKER_BD)
cd $(WMAKER_BD) && \
LINGUAS="$(LINGUAS)" $(TOPSRCDIR)/configure $(COMMON_OPTIONS) \
$(WMAKER_OPTIONS) CFLAGS="$(CFLAGS)"
touch $@
patch-wmaker-stamp:
@$(LIST_PATCHES) | \
while read patch ; do \
echo $$patch ; \
if head -1 $$patch | grep -q ^Index: ; then \
patch -p0 < $$patch ; \
else \
patch -p1 < $$patch ; \
fi ; \
echo ; \
done
touch $@
test-patch-wmaker:
@$(LIST_PATCHES) | \
while read patch ; do \
echo $$patch ; \
if head -1 $$patch | grep -q ^Index: ; then \
patch --dry-run -p0 < $$patch ; \
else \
patch --dry-run -p1 < $$patch ; \
fi ; \
echo ; \
done
unpatch-wmaker:
@if [ -e patch-wmaker-stamp ] ; then \
$(RLIST_PATCHES) | \
while read patch ; do \
echo $$patch ; \
if head -1 $$patch | grep -q ^Index: ; then \
patch -p0 -R < $$patch ; \
else \
patch -p1 -R < $$patch ; \
fi ; \
echo ; \
done ; \
rm patch-wmaker-stamp ; \
fi
clean:
dh_testdir
dh_testroot
-$(MAKE) distclean
debian/rules unpatch-wmaker
$(RM) \
config.log
$(RM) *-stamp \
debian/*.files \
libtool \
src/config.h.in \
debian/shlibs.local
# debian/conffiles
$(RM) -r $(WMAKER_BD)
ifeq (skip,)
$(RM) \
configure \
config.guess \
config.sub \
aclocal.m4 \
ltmain.sh
$(RM) $(IN_MAKEFILES) $(GEN_FILES)
endif
dh_clean
binary-indep: build
# dh_testdir -i
# dh_testroot
# dh_clean -i -k
binary-arch: build
dh_testdir -a
dh_testroot
dh_clean -a -k
dh_installdirs -a
debian/rules install-wmaker-stamp
debian/rules debian/$(LIBWRASTER)-dev.files
debian/rules debian/$(LIBWRASTER).files
debian/rules debian/$(LIBWMAKER)-dev.files
debian/rules debian/$(LIBWINGS).files
dh_movefiles -a --sourcedir=debian/wmaker
# Remove cruft
$(RM) $(DEBTMPDIR)/usr/bin/wkdemenu.pl
# deal with menus
dh_installmenu -a --noscripts
$(install_prog) debian/appearance.menu-method \
$(DEBTMPDIR)/etc/menu-methods/wmappearance
$(install_file) WindowMaker/appearance.menu \
$(DEBTMPDIR)/$(WMCONFDIR)/
$(install_file) WindowMaker/background.menu \
$(DEBTMPDIR)/$(WMCONFDIR)/
$(install_file) WindowMaker/wmmacros \
$(DEBTMPDIR)/$(WMCONFDIR)/
touch $(DEBTMPDIR)/$(WMCONFDIR)/menu.prehook
touch $(DEBTMPDIR)/$(WMCONFDIR)/menu.posthook
$(install_file) debian/wmaker.desktop $(DEBTMPDIR)/usr/share/xsessions
# build a conffiles list AFTER installing the menus
# the sed part is there because of policy
# -cd $(DEBTMPDIR) && \
# find etc ! -type d \
# | sed -e "s:^etc/:/etc/:" > ../conffiles
dh_installdocs -a
$(install_file) $(WINGSSRCDIR)/README \
$(LIBWINGS_TMP)/$(DOCDIR)/$(LIBWINGS)/README.WINGs
$(install_file) $(WRASTERSRCDIR)/README \
$(LIBWRASTER_TMP)/$(DOCDIR)/$(LIBWRASTER)/README.wrlib
$(install_dir) $(DEBTMPDIR)/$(MAN1DIR)
$(RM) $(DEBTMPDIR)/$(MAN1DIR)/convertstyle*
dh_installman -pwmaker debian/manpages/*.1x
dh_installman -pwmaker debian/manpages/*.8
dh_installman -plibwraster3-dev debian/manpages/get-wraster-flags.1
dh_installman -plibwings-dev debian/manpages/get-wings-flags.1
dh_installman -plibwings-dev debian/manpages/get-wutil-flags.1
dh_installchangelogs -a ChangeLog
# dh_strip -a
dh_compress -a
dh_fixperms -a
cd debian && find -name \*.la -exec chmod a-X {} \;
dh_installdeb -a
dh_makeshlibs -p$(LIBWRASTER) -V '$(LIBWRASTER) $(libwraster_deps)'
dh_shlibdeps -u-L$(LIBWRASTER_TMP)/DEBIAN/shlibs
dh_gencontrol -a -u-isp
dh_md5sums -a
find debian -type d -empty -print0 | xargs -0r rm -rf
$(RMDIR) $(DEBTMPDIR)/$(INCLUDEDIR)
dh_builddeb -a
binary: binary-indep binary-arch
install-wmaker-stamp: DH_OPTIONS=-pwmaker
install-wmaker-stamp: build-wmaker-stamp
dh_testdir
dh_installdirs
$(MAKE) -C $(WMAKER_BD) install DESTDIR=$(DEBTMPDIR)/
# Ugly hack, FIXME
mv $(DEBTMPDIR)/etc/WindowMaker/* $(DEBTMPDIR)/$(DEFAULTSDIR)/
# Now begin fixing stuff
# First, provide a wrapper to compensate for Window Maker's funny first
# start up requierements
mv $(DEBTMPDIR)/$(BINDIR)/wmaker $(DEBTMPDIR)/$(PKGLIBDIR)/WindowMaker
dh_link $(PKGLIBDIR)/WindowMaker $(BINDIR)/WindowMaker
$(install_prog) debian/wmaker.sh $(DEBTMPDIR)/$(BINDIR)/wmaker
-mv $(DEBTMPDIR)/$(BINDIR)/convertfonts $(DEBTMPDIR)/$(PKGLIBDIR)/
# place wm-oldmenu2new under a more appropiate directory
-mv $(DEBTMPDIR)/$(BINDIR)/wm-oldmenu2new $(DEBTMPDIR)/$(WMDOCDIR)
# put a symlink in place because there's some hardcoded value that says
# Defaults is under /usr/share/WindowMaker.
ln -s $(DEFAULTSDIR) $(DEBTMPDIR)/$(WMSHAREDIR)/Defaults
# the next is stricly not necessary, because there's a symlink in place,
# but I don't want to abuse it. Some dumb program uses that path and is a
# PITA to modify it)
perl -pi -e 's:/$(WPREFSAPPDIR)/WPrefs:/$(BINDIR)/WPrefs:' \
$(DEBTMPDIR)/$(DEFAULTSDIR)/WMState
# Ditch this!
$(RM) $(DEBTMPDIR)/$(BINDIR)/wmaker.inst
$(RM) $(DEBTMPDIR)/$(BINDIR)/wmsetup
# this copyright is located in /$(DOCDIR)/wmaker
$(RM) $(DEBTMPDIR)/$(WMCONFDIR)/Copyright
# Fix permissions
chmod +x $(DEBTMPDIR)/usr/share/WindowMaker/autostart.sh
chmod +x $(DEBTMPDIR)/usr/share/WindowMaker/exitscript.sh
# Install our transition script
$(install_prog) debian/upgrade-windowmaker-defaults \
$(DEBTMPDIR)/usr/sbin/upgrade-windowmaker-defaults
# This file qualifies as "unpatchable"
cp debian/WMWindowAttributes $(DEBTMPDIR)/$(DEFAULTSDIR)/
# Need this file for start up
echo '"menu.hook"' > $(DEBTMPDIR)/$(DEFAULTSDIR)/WMRootMenu
# the plethora of readmes
-cp $(TOPSRCDIR)/po/README \
$(DEBTMPDIR)/$(WMDOCDIR)/README.po
-cp $(TOPSRCDIR)/README.definable-cursor \
$(DEBTMPDIR)/$(WMDOCDIR)/README.definable-cursor
-cp $(WPREFSSRCDIR)/README \
$(DEBTMPDIR)/$(WMDOCDIR)/README.WPrefs
-cp $(WPREFSSRCDIR)/po/README \
$(DEBTMPDIR)/$(WMDOCDIR)/README.WPrefs.po
# Copy in the Debian theme
cp debian/Debian.theme $(DEBTMPDIR)/$(WMSHAREDIR)/Themes/Debian
uudecode -o $(DEBTMPDIR)/$(WMSHAREDIR)/Backgrounds/debian.tiff \
debian/debian.tiff.uu
# This has the new default Debian theme settings.
cp debian/WindowMaker.default $(DEBTMPDIR)/$(DEFAULTSDIR)/WindowMaker
# Merry Christmas
# -mv $(DEBTMPDIR)/$(WMCONFDIR)/xtree.dat $(DEBTMPDIR)/$(WMSHAREDIR)
# Overrides lintian warnings
dh_installdirs usr/share/lintian/overrides
cp debian/wmaker.overrides debian/wmaker/usr/share/lintian/overrides/wmaker
# WPrefs
# fix the location of WPrefs
# mv $(DEBTMPDIR)/$(WPREFSAPPDIR)/WPrefs $(DEBTMPDIR)/$(BINDIR)
# dh_link $(BINDIR)/WPrefs $(WPREFSAPPDIR)/WPrefs
dh_link $(WPREFSAPPDIR)/WPrefs $(BINDIR)/WPrefs
# libwraster is compiled with tiff support, we don't need the xpm version
$(RM) -r $(DEBTMPDIR)/$(WPREFSAPPDIR)/xpm
$(RM) $(patsubst %.tiff,%.xpm,$(wildcard $(DEBTMPDIR)/$(WMSHAREDIR)/Icons/*.tiff))
# Fix the get-*-flags scripts
perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(DEBTMPDIR) -name get-*-flags`
perl -pi -e '/^WLIBS/ && s:=.*:="-lwraster":' `find $(DEBTMPDIR) -name get-wraster-flags`
perl -pi -e '/^WLIBS/ && s:=.*:="-lWINGs -lwraster -lXft":' `find $(DEBTMPDIR) -name get-wings-flags`
perl -pi -e '/^WLIBS/ && s:=.*:="-lWUtil -lX11":' `find $(DEBTMPDIR) -name get-wutil-flags`
ifeq (skip,)
if [ -d $(DEBTMPDIR)/usr/include/WINGs ] ; then \
mv $(DEBTMPDIR)/usr/include/WINGs/* \
$(DEBTMPDIR)/usr/include ; \
rmdir $(DEBTMPDIR)/usr/include/WINGs ; \
fi
endif
debian/$(LIBWRASTER)-dev.files: build
( find $(DEBTMPDIR)/$(INCLUDEDIR) $(DEBTMPDIR)/$(LIBDIR) \
-name '*wraster*.h' \
-o -name '*wraster*.a' \
-o -name '*wraster*.la' \
-o -name '*wraster*.so' ; \
cd $(DEBTMPDIR) && \
find usr -name get-wraster-flags \
) | sed -e 's:$(DEBTMPDIR)/*::'> $@
debian/$(LIBWRASTER).files: build
( find $(DEBTMPDIR)/$(INCLUDEDIR) $(DEBTMPDIR)/$(LIBDIR) \
-name '*wraster*.so.*' \
) | sed -e 's:$(DEBTMPDIR)/*::'> $@
debian/$(LIBWMAKER)-dev.files: build
( find $(DEBTMPDIR)/$(INCLUDEDIR) $(DEBTMPDIR)/$(LIBDIR) \
-name '*WM*.h' \
-o -name '*WM*.a' \
-o -name '*WM*.la' \
-o -name '*WM*.so' \
) | sed -e 's:$(DEBTMPDIR)/*::'> $@
debian/libwings-dev.files: build
( find $(DEBTMPDIR)/$(INCLUDEDIR) $(DEBTMPDIR)/$(LIBDIR) \
-name '*WINGs*' \
-o -name '*WUtil*' ; \
cd $(DEBTMPDIR) && \
find usr -name get-wutil-flags -o -name get-wings-flags \
) | sed -e 's:$(DEBTMPDIR)/*::'> $@
debian/shlibs.local:
echo 'libwraster $(patsubst libwraster%,%, $(LIBWRASTER)) $(LIBWRASTER) $(libwraster_deps)' > $@
aclocal.m4: acinclude.m4 configure.ac
aclocal
src/config.h.in: configure.ac
autoheader
ltmain.sh: aclocal.m4 $(LTMAIN)
libtoolize --force --copy --automake
$(IN_MAKEFILES): %.in: ltmain.sh %.am src/config.h.in
automake --add-missing --gnu --include-deps
configure: $(IN_MAKEFILES) configure.ac
autoconf
.PHONY: binary binary-arch binary-indep binary-custom clean build unpatch-wmaker

153
debian/upgrade-windowmaker-defaults vendored Normal file
View File

@@ -0,0 +1,153 @@
#! /bin/sh
# (c) 1998 Marcelo Magallon <mmagallo@debian.org>
# this script is distributed under the terms and conditions of the GPL.
#
# TODO:
#
# * Fix that ugly hack with fix*
# Is there something in the shell like Perl's hashes? It could be nice to
# do something like "foreach $var (keys %fixes)" to associate fixes with
# file names so I don't have to track things all over the place
#
# * Fix also the code that iterates over user directories to include system
# directories in one run
#
# upgrade-windowmaker-defaults (0.3)
#
# * Handles upgrade to Window Maker 0.19.0
# Logo.Clip -> Tile.Clip (crashing)
#
# upgrade-windowmaker-defaults (0.2)
#
# * Handles keyname changes between 0.16.1 and 0.17.2
#
# Tue Jul 21 08:05:00 CST 1998
#
# upgrade-windowmaker-defaults (0.1)
#
# * Initial release
# * Handles WindowPlaceOrigin syntax change
# * Handles name change Fiend -> Clip
#
# Sat Jun 13 16:18:36 CST 1998
# Fixes (these are not-optional changes)
# this one changes WindowPlaceOrigin = "..." to WindowPlaceOrigin = (...)
fix1='s/\(.*WindowPlaceOrigin = \)"\(.*\)";/\1(\2);/'
# and this one substitutes Fiend with Clip
fix2='s/\(.*\)Fiend\(.*\)=/\1Clip\2=/'
# this one applies to WMState
fix3='s/\( *\)Fiend\( *\)=/\1Clip\2=/'
fix4='s/\(.*\)Logo\.\(WMFiend\|WMClip\)\(.*\)=/\1Tile.WMClip\3=/'
# this one applies to Window Maker
fix5='s/\(.*\)NoSound\(.*\)=/\1DisableSound\2=/'
fix6='s/\(.*\)NoAutoWarp\(.*\)=/\1DontLinkWorspaces\2=/'
# this one is for WMWindowAttributes
# try to screen system accounts in the /etc/passwd file. If somebody
# has a better method for doing this, I'm open to suggestions. Please
# note that Debian Policy states accounts 0-99 are reserved for the
# Project, and 100 onwards *could* be used by the local sysadmin, but
# the default is 1000 and up
users='^[[:alnum:]]*:[[:alnum:]]*:[[:digit:]]\{4,\}:'
ask_n ()
{
echo -n $*'? [yN] '
read yn
test -n "$yn" || yn=n
case "$yn" in
[yY]*)
return 1
;;
*)
return 0
;;
esac
}
apply_fix ()
{
file_to_fix=$1; shift
if [ -e $file_to_fix ] ; then
echo -n "Fixing $file_to_fix... "
while [ $# -gt 0 ] ; do
sed -e "$1" $file_to_fix > $tempfile
cat $tempfile > $file_to_fix
shift
done
echo done.
fi
}
ask_permission ()
{
cat <<EOF
I can try to fix certain configuration parameters that have changed
between previous versions of Window Maker and this one, namely:
* WindowPlaceOrigin syntax change from "..." to (...)
* Name change of Fiend to Clip
* WMWindowAttributes: Logo.Clip -> Tile.Clip (crashing)
NOT fixing this could prevent Window Maker from starting. Please read
/usr/doc/wmaker/NEWS.gz and /usr/doc/wmaker/changelog.gz
I will fix *both* the system defaults and each user's files.
EOF
if ! ask_n "Do you want to proceed with the changes" ; then
return 0
else
return 1
fi
}
set -e
gs_dir=GNUstep
[ $GNUSTEP_USER_ROOT ] && gs_dir=$GNUSTEP_USER_ROOT
gs_defaults=$gs_dir/Defaults
gs_system_defaults=/etc/GNUstep/Defaults
if [ "$1" = "--non-interactive" ] || ask_permission ; then
tempfile=`tempfile`
# fix users' files
for dir in `cut -d : -f 6 /etc/passwd | sort -u` ; do
apply_fix $dir/$gs_defaults/WindowMaker "$fix1" "$fix2" "$fix5" "$fix6"
apply_fix $dir/$gs_defaults/WMState "$fix3"
apply_fix $dir/$gs_defaults/WMWindowAttributes "$fix4"
done
# fix system files
apply_fix $gs_system_defaults/WindowMaker "$fix1" "$fix2" "$fix5" "$fix6"
apply_fix $gs_system_defaults/WMState "$fix3"
apply_fix $gs_system_defaults/WMWindowAttributes "$fix4"
rm $tempfile
cat <<EOF
Done fixing things. If you want to run this script again you can do so by
typing:
$ $0
EOF
else
cat <<EOF
Ok, leaving things as they are now... you can run this script again using:
$ $0
EOF
fi
cat <<EOF
Press [ENTER] to continue...
EOF
read dummy
exit 0

8
debian/wmaker.desktop vendored Normal file
View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Name=Window maker
Comment=This session logs you into Window Maker
Exec=/usr/bin/wmaker
# no icon yet, only the top three are currently used
Icon=
Type=Application

9
debian/wmaker.dirs vendored Normal file
View File

@@ -0,0 +1,9 @@
etc/GNUstep/Defaults
etc/X11/WindowMaker
etc/menu-methods
usr/bin
usr/sbin
usr/share/doc/wmaker
usr/lib/menu
usr/share/xsessions
usr/lib/WindowMaker

9
debian/wmaker.docs vendored Normal file
View File

@@ -0,0 +1,9 @@
AUTHORS
BUGFORM
BUGS
NEWS
README
TODO
FAQ
FAQ.I18N
debian/Debian.theme.txt

69
debian/wmaker.menu vendored Normal file
View File

@@ -0,0 +1,69 @@
?package(wmaker):needs="wm" \
section="Window Managers" title="Window Maker" \
command="/usr/bin/wmaker"
?package(wmaker):needs="wmaker" \
section="/" title="Exit" sort="ZZ" \
command="EXIT"
?package(wmaker):needs="wmaker" \
section="/" title="Exit session" sort="ZZ" \
command="SHUTDOWN"
?package(wmaker):needs="wmaker" \
section="Window Maker" title="Restart" \
command="RESTART"
?package(wmaker):needs="wmaker" \
section="Window Maker" title="Info Panel ..." \
command="INFO_PANEL"
?package(wmaker):needs="wmaker" \
section="Window Maker" title="Legal Panel ..." \
command="LEGAL_PANEL"
?package(wmaker):needs="wmaker" \
section="Window Maker" title="Preferences" \
command="EXEC" arg="WPrefs"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Workspaces" \
command="WORKSPACE_MENU"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Hide Others" \
command="HIDE_OTHERS"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Show All" \
command="SHOW_ALL"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Arrange Icons" \
command="ARRANGE_ICONS"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Save Session" \
command="SAVE_SESSION"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Clear Session" \
command="CLEAR_SESSION"
?package(wmaker):needs="wmaker" \
section="Window Maker" title="Refresh screen" \
command="REFRESH"
?package(wmaker):needs="wmaker" \
section="WorkSpace" title="Appearance" \
command="OPEN_MENU" arg="appearance.menu"
?package(wmaker):needs="wmappearance" \
section="Appearance" title="Background"\
sort="$" \
command="OPEN_MENU background.menu"
?package(wmaker):needs="wmappearance" \
section="Appearance" title="Styles"\
sort="$" \
command="OPEN_MENU -noext LOCAL_STYLES_DIR STYLES_DIR USER_STYLES_DIR WITH setstyle"
?package(wmaker):needs="wmappearance" \
section="Appearance" title="Themes"\
sort="$" \
command="OPEN_MENU -noext LOCAL_THEMES_DIR THEMES_DIR USER_THEMES_DIR WITH setstyle"
?package(wmaker):needs="wmappearance" \
section="Appearance" title="Icon Sets"\
sort="ss" \
command="OPEN_MENU -noext LOCAL_ICON_SETS_DIR ICON_SETS_DIR USER_ICON_SETS_DIR WITH seticons"
?package(wmaker):needs="wmappearance" \
section="Appearance" title="Save IconSet"\
sort="zz" \
command="EXEC geticonset USER_ICON_SETS_DIR/\"%a(IconSet name)\""
?package(wmaker):needs="wmappearance" \
section="Appearance" title="Save Theme"\
sort="zz" \
command="EXEC getstyle -t USER_THEMES_DIR/\"%a(Theme name)\""

45
debian/wmaker.menu-method vendored Normal file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/install-menu
#
# Generates Window Maker menus for all registered applications.
!include menu.h
compat="menu-1";
outputencoding="UTF-8"
genmenu="menu.hook"
rootprefix="/etc/X11/WindowMaker/"
userprefix=shell("echo -n /${GNUSTEP_USER_ROOT-GNUstep}") "/Library/WindowMaker/"
treewalk="(M)"
rootsection="/Debian"
function mytitle()=replacewith(title(),"\"","'")
function exec($action,$com)= \
" \"" mytitle() "\" " ifnempty($shortcut, "SHORTCUT " $shortcut " ") $action " " esc($com,"*") "\n"
supported
x11= exec("SHEXEC",$command)
wm= exec("RESTART",$command)
text= exec("SHEXEC",term())
wmaker= exec("",$command ifnempty($arg," " $arg))
endsupported
preoutput= "/* Automatically generated file. Do not edit (see /usr/share/doc/menu/menu.txt.gz) */\n\n#include \"wmmacros\"\n"
mainmenutitle=""
submenutitle= ""
startmenu= "\n" \
ifelse( \
title(), \
"\"" mytitle() "\" MENU", \
"Debian MENU\n\n#include <menu.prehook>" \
) \
"\n"
endmenu= ifelse( \
title(), \
"\"" mytitle() "\" END", \
"\n#include <menu.posthook>\n\nDebian END" \
) \
"\n"

5
debian/wmaker.overrides vendored Normal file
View File

@@ -0,0 +1,5 @@
wmaker: image-file-in-usr-lib
wmaker: menu-item-creates-new-root-section
wmaker: menu-command-not-in-package
wmaker: menu-item-contains-unknown-tag
wmaker: menu-item-needs-tag-has-unknown-value

46
debian/wmaker.postinst vendored Normal file
View File

@@ -0,0 +1,46 @@
#! /bin/sh -e
#
# Window Maker postinst.
#
# Marcelo Magallon <mmagallo@debian.org>
inst="/etc/menu-methods/wmaker /etc/menu-methods/wmappearance"
x_wm_link=/etc/alternatives/x-window-manager
x_wm_man_link=/usr/share/man/man1/x-window-manager.1.gz
case "$1" in
configure)
update-alternatives --install /usr/bin/x-window-manager \
x-window-manager /usr/bin/wmaker 50 \
--slave /usr/share/man/man1/x-window-manager.1.gz \
x-window-manager.1.gz /usr/share/man/man1/wmaker.1x.gz
if readlink ${x_wm_link} | grep wmaker > /dev/null ; then
ln -sf /usr/bin/wmaker ${x_wm_link}
ln -sf /usr/share/man/man1/wmaker.1x.gz ${x_wm_man_link}
fi
for file in $inst ; do
if [ -f $file ] ; then
chmod a+x $file
fi
done
if [ -x /usr/bin/update-menus -a -x /usr/bin/install-menu ] ; then
update-menus
fi
;;
abort-upgrade|abort-deconfigure|abort-remove)
# how did we got here? Force a non-zero exit code
exit 1
;;
*)
echo "postinst called with unkown argument: \$1" >&2
;;
esac
#DEBHELPER#
exit 0

60
debian/wmaker.postrm vendored Normal file
View File

@@ -0,0 +1,60 @@
#!/bin/sh
set -e
inst="/etc/menu-methods/wmaker /etc/menu-methods/wmappearance"
asclock="/usr/X11R6/bin/asclock"
asclock_diversion="/usr/X11R6/bin/asclock.afterstep"
asclock_man="/usr/X11R6/man/man1/asclock.1x.gz"
asclock_man_diversion="/usr/X11R6/man/man1/asclock.afterstep.1x.gz"
old_asclock_man_diversion="/usr/X11R6/man/man1/asclock.1x.afterstep.gz"
case "$1" in
remove)
for file in $inst ; do
if [ -f $file ] ; then
chmod a-x $file
fi
done
;;
purge)
if [ -x /usr/sbin/register-window-manager ]; then
register-window-manager --remove wmaker
fi
if [ -x /usr/bin/update-menus ] ; then
update-menus
rm -f /etc/X11/WindowMaker/menu.hook /etc/X11/WindowMaker/plmenu.hook
fi
# Hmmm...
rmdir -p /etc/GNUstep/Defaults /etc/X11/WindowMaker || true
;;
upgrade|abort-install|disappear)
# nothing to do
;;
failed-upgrade)
# this is an upgrade, and it has failed. What can fail?
exit 1
;;
abort-upgrade)
# preinst failed, leave things like they were
if dpkg --compare-versions $2 eq 0.6.3-1 ; then
# reinstall the removed diversions
dpkg-divert --quiet --rename --package wmaker \
--divert $asclock_man_diversion --remove $asclock_man
dpkg-divert --quiet --rename --package wmaker \
--divert $old_asclock_man_diversion --add $asclock_man
dpkg-divert --quiet --rename --package wmaker \
--divert $asclock_diversion --add $asclock
fi
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

69
debian/wmaker.preinst vendored Normal file
View File

@@ -0,0 +1,69 @@
#! /bin/sh
# set some variables to make the thing a bit more readable...
remove_diversion ()
{
real_file=$1
temp_file=$1.wmaker-tmp
diversion=$2
if [ -e ${real_file} ] ; then
mv ${real_file} ${temp_file}
fi
dpkg-divert --remove --rename --quiet --package wmaker \
--divert ${diversion} ${real_file}
if [ -e ${temp_file} ] ; then
mv ${temp_file} ${real_file}
fi
}
# asclock's location and its diversion
asclock=/usr/X11R6/bin/asclock
asclock_divert_to=/usr/X11R6/bin/asclock.afterstep
# asclock's manpage and its diversions
asclock_man=/usr/X11R6/man/man1/asclock.1x.gz
asclock_man_divert_to=/usr/X11R6/man/man1/asclock.afterstep.1x.gz
old_asclock_man_divert_to=/usr/X11R6/man/man1/asclock.1x.afterstep.gz
# are the diversions present?
asclock_diversion=$(dpkg-divert --list | grep 'asclock .*by wmaker')
asclock_man_diversion=$(dpkg-divert --list | grep 'asclock\.afterstep\.1x.*by wmaker')
old_man_diversion=$(dpkg-divert --list | grep 'asclock\.1x\.afterstep.*by wmaker')
# ... and set a safety net in case something goes really wrong
set -e
case "$1" in
upgrade|install)
if [ "$old_man_diversion" ] ; then
echo "Removing really old diversion of asclock manpage by wmaker..."
remove_diversion ${asclock_man} ${old_asclock_man_divert_to}
fi
if [ "$asclock_diversion" ] ; then
echo "Removing diversion of asclock to asclock.afterstep..."
remove_diversion ${asclock} ${asclock_divert_to}
fi
if [ "$asclock_man_diversion" ] ; then
echo "Removing diversion of asclock.1x to asclock.afterstep.1x..."
remove_diversion ${asclock_man} ${asclock_man_divert_to}
fi
exit 0
;;
abort-upgrade)
# the postrm has failed; preinst is only called like this after
# a failed upgrade and the current postrm also fails. Now,
# in what situation does this happen? Force non-zero exit code.
exit 1
;;
esac
#DEBHELPER#

22
debian/wmaker.prerm vendored Normal file
View File

@@ -0,0 +1,22 @@
#!/bin/sh
set -e
case "$1" in
failed-upgrade|abort-upgrade|deconfigure)
update-alternatives --remove x-window-manager /usr/bin/wmaker
;;
remove)
update-alternatives --remove x-window-manager /usr/bin/wmaker
;;
upgrade)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0

80
debian/wmaker.sh vendored Normal file
View File

@@ -0,0 +1,80 @@
#!/bin/sh
set -e
[ -n "$GNUSTEP_USER_ROOT" ] || export GNUSTEP_USER_ROOT="$HOME/GNUstep"
gs_base="$GNUSTEP_USER_ROOT"
gs_defaults="$gs_base/Defaults"
gs_system_defaults=/etc/GNUstep/Defaults
wm_base="$gs_base/Library/WindowMaker"
wm_backgrounds="$wm_base/Backgrounds"
wm_iconsets="$wm_base/IconSets"
wm_soundsets="$wm_base/SoundSets"
wm_pixmaps="$wm_base/Pixmaps"
gs_icons="$gs_base/Library/Icons"
wm_style="$wm_base/Style"
wm_styles="$wm_base/Styles"
wm_sounds="$wm_base/Sounds"
wm_themes="$wm_base/Themes"
WindowMaker=/usr/lib/WindowMaker/WindowMaker
convertfonts=/usr/lib/WindowMaker/convertfonts
make_dir_if_needed ()
{
if [ ! -d "$1" ] ; then
install -m 0755 -d "$1"
fi
}
rename_dir_if_possible ()
{
if [ ! -d "$2" ] ; then
if [ -d "$1" ] ; then
mv "$1" "$2"
fi
fi
}
copy_defaults_if_needed ()
{
file="$gs_defaults/$1"
system_file="$gs_system_defaults/$1"
if [ ! -f "$file" ] ; then
install -m 0644 "$system_file" "$file"
fi
}
make_dir_if_needed "$gs_defaults"
make_dir_if_needed "$wm_base"
make_dir_if_needed "$wm_backgrounds"
make_dir_if_needed "$wm_iconsets"
make_dir_if_needed "$wm_soundsets"
make_dir_if_needed "$wm_pixmaps"
make_dir_if_needed "$gs_icons"
make_dir_if_needed "$wm_sounds"
rename_dir_if_possible "$wm_style" "$wm_styles"
make_dir_if_needed "$wm_styles"
make_dir_if_needed "$wm_themes"
copy_defaults_if_needed WindowMaker
copy_defaults_if_needed WMRootMenu
copy_defaults_if_needed WMState
#copy_defaults_if_needed WMWindowAttributes
if [ -x $convertfonts -a ! -e "$wm_base/.fonts_converted" ] ; then
# --keep-xlfd is used in order to preserve the original information
$convertfonts --keep-xlfd "$gs_defaults/WindowMaker"
if [ -f "$gs_defaults/WMGLOBAL" ] ; then
$convertfonts --keep-xlfd "$gs_defaults/WMGLOBAL"
fi
find "$wm_styles" -type f -print0 -mindepth 1 -maxdepth 1 |
xargs -0 -r -n 1 $convertfonts --keep-xlfd
touch "$wm_base/.fonts_converted"
fi
if [ -n "$1" -a -x "$WindowMaker$1" ] ; then
WindowMaker="$WindowMaker$1"
shift
fi
exec "$WindowMaker" "$@"