debian/0000755000000000000000000000000012215031254007161 5ustar debian/compat0000644000000000000000000000000212004530007010353 0ustar 7 debian/windowlab.wm0000644000000000000000000000002312004530007011503 0ustar /usr/bin/windowlab debian/windowlab.desktop0000644000000000000000000000025312170611467012554 0ustar [Desktop Entry] Name=WindowLab Comment=This session logs you into WindowLab TryExec=windowlab Exec=/usr/bin/windowlab # no icon yet #Icon= Type=Application Terminal=false debian/windowlab.install0000644000000000000000000000036312004530007012535 0ustar debian/update-menu/create_menu.sh usr/lib/windowlab debian/update-menu/debian_config etc/X11/windowlab debian/update-menu/common_menu etc/X11/windowlab debian/update-menu/windowlab etc/menu-methods debian/windowlab.desktop usr/share/xsessions debian/source/0000755000000000000000000000000012215031254010461 5ustar debian/source/format0000644000000000000000000000001412004530007011663 0ustar 3.0 (quilt) debian/update-menu/0000755000000000000000000000000012215031254011405 5ustar debian/update-menu/debian_config0000644000000000000000000000122512004530007014073 0ustar # This is a sample Debian-specific configuration file for WindowLab. It's # processed when update-menus is run by user or root. It defines a list of # preferred applications to appear in the WindowLab menu. The applications # that appear first have higher priority. # # /etc/X11/windowlab/debian_config - contains global configuration. # ~/.windowlab/debian_config - contains user overrides to global configuration. preferred_browsers="firefox Browser:mozilla-suite galeon epiphany" preferred_email="thunderbird evolution kmail" preferred_editors="gvim gedit kwrite kedit kate" preferred_graphics="gimp" preferred_terminals="xterm rxvt gnome-terminal konsole" debian/update-menu/windowlab0000644000000000000000000000206212004530007013312 0ustar #!/usr/bin/install-menu # # Generates WindowLab menu for a select number of applications. # # Copyright (C) 2005 Stan Vasilyev # # This program 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. # This program 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. compat="menu-1" !include menu.h rootprefix="/etc/X11/windowlab/" userprefix=".windowlab/" treewalk="(M)" postrun="/usr/lib/windowlab/create_menu.sh "prefix()"" genmenu="menudefs.hook" function iconordash()=ifelse(icon(),icon(),"-") function q($com)=esc($com,"\"") supported x11= ""q(title())":"q($command)" \n" text= ""q(title())":"q(term())" \n" endsupported mainmenutitle="" submenutitle= "" startmenu="" endmenu="" debian/update-menu/common_menu0000644000000000000000000000030312004530007013634 0ustar # This is a Debian-specific Common Menu file for WindowLab. Feel free to edit it # to your needs. About:windowlab -about | xmessage -file - Reload:pkill -HUP windowlab Quit:pkill -INT windowlab debian/update-menu/create_menu.sh0000755000000000000000000000465312004530007014237 0ustar #!/bin/bash # # /usr/lib/windowlab/create_menu.sh # WindowLab automatic menu generation script. # This file is invoked by /etc/menu-methods/windowlab. # # Copyright (C) 2005 Stan Vasilyev # # This program 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. # This program 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. # get prefix from command line parameters prefix=$1 if [ -z "$prefix" ]; then exit 1; fi # define constants used in this script global_prefix="/etc/X11/windowlab" user_menu_file="$prefix/user_menu" common_menu_file="$global_prefix/common_menu" debian_config_file="debian_config" all_menu_file="menudefs.hook" menufile="$prefix/windowlab.menurc" # define variables used in windowlab.debianrc file preferred_browsers= preferred_email= preferred_editors= preferred_graphics= preferred_terminals= # include the debian config file, if exists # if ran as a regular user, includes both global and user configs for file in "$global_prefix/$debian_config_file" "$prefix/$debian_config_file" do if [ -f "$file" ] then source "$file" fi done # backup the menu file cp -f "$menufile" "$menufile.old" echo "# This menu file is automatically generated by update-menus, do not edit." > $menufile echo >> $menufile # output the Debian menu into Windowlab menu echo "# Debian Menu:" >> $menufile for app_list in "$preferred_browsers" "$preferred_email" "$preferred_editors" "$preferred_graphics" "$preferred_terminals" do for app in $app_list do echo -n "Looking for $app..." menu_entry=`grep -m 1 "$app" "$all_menu_file"` if [ -n "$menu_entry" ] then echo "found" echo "$menu_entry" >> "$menufile" break else echo "not found" fi done done # output the user menu into Windowlab menu if [ -f "$user_menu_file" ] then echo >> $menufile echo "# User Menu:" >> $menufile grep -v "#" "$user_menu_file" | grep ":" >> $menufile fi # output the common menu into Windowlab menu if [ -f "$common_menu_file" ] then echo >> $menufile echo "# Common Menu:" >> $menufile grep -v "#" "$common_menu_file" | grep ":" >> $menufile fi rm -f "$all_menu_file" debian/watch0000644000000000000000000000011012004552323010203 0ustar version=3 http://nickgravgaard.com/windowlab/windowlab-(.*)\.tar debian debian/control0000644000000000000000000000150512170617200010566 0ustar Source: windowlab Section: x11 Priority: optional Maintainer: Mats Erik Andersson Build-Depends: debhelper (>= 7), dpkg-dev (>= 1.15.7), libx11-dev, libxext-dev, libxft-dev (>= 2.0.0), pkg-config Standards-Version: 3.9.4 Homepage: http://nickgravgaard.com/windowlab/ Package: windowlab Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Provides: x-window-manager Suggests: vdesk Description: small and simple Amiga-like window manager WindowLab is a Window Manager for the X Window System. Features include click-to-focus, a simple menu/taskbar combination and integration with Debian menu system and Xsessions subsystem. . WindowLab is incredibly fast and small. It is suitable for lightweight systems. Virtual desktops are easily contructed using the independent package "vdesk". debian/menu0000644000000000000000000000016112004530007010042 0ustar ?package(windowlab):\ needs="wm"\ section="Window Managers"\ title="WindowLab"\ command="/usr/bin/windowlab" debian/changelog0000644000000000000000000001521212215030163011032 0ustar windowlab (1.40-2) unstable; urgency=low * debian/control: + Standards 3.9.4: No changes. + Add build dependency on dpkg-dev (>= 1.15.7). + Mend Homepage with correct server location. * debian/rules: + Add targets build-arch and build-indep. + Hardening flags. * debian/copyright: Update format and URL. + Cite 9wm's license from that package and express it separately from the license of aewm. * debian/watch: Correction to URL. * debian/windowlab.desktop: Conform with standards. * debian/patches/10_makefile.patch: Update. + Activate MWM hints. + Avoid explicit linking "-L/usr/lib". (Closes: #722865) * debian/patches/30_root_focus.diff: New file. + Pointer visibility error. (Closes: #630494) -- Mats Erik Andersson Sat, 14 Sep 2013 11:43:16 +0200 windowlab (1.40-1) unstable; urgency=low * New upstream release. + Closes: #575793 + debian/patches/20_manpage.patch: Trivially updating. * debian/copyright: Separation of license formulations. + Mention licensing of externally fetched code snippet. * Elementary migration to format "3.0 (quilt)". + debian/rules: Clean up among subtargets and stamps. + debian/README.source: Deleted. + debian/control: Removed quilt from build dependency. * Standards 3.8.4: No changes. -- Mats Erik Andersson Tue, 27 Apr 2010 14:27:19 +0200 windowlab (1.39-1) unstable; urgency=low * New upstream release. * Describe quilt patches according to DEP-3. * Rework debian/copyright to follow DEP-5. - Attempt an exhaustive list of copyright holders. * debian/control: remove a capital letter in the short description. * Remove 'README.source' from binary package. -- Mats Erik Andersson Mon, 04 Jan 2010 12:33:27 +0100 windowlab (1.38-1) unstable; urgency=low * New upstream release. * New maintainer. (Closes: #545798) * Prune duplicate fields in the control file. * Comment on the actions in each patch file to be used by Quilt. -- Mats Erik Andersson Thu, 19 Nov 2009 23:56:01 +0100 windowlab (1.37-1) unstable; urgency=low * Inclusion of previously neglected upstream documentation. * Inclusion of the previous maintainers Debian documention: + README.source and TODO.Debian. * Addition of a newly created README.Debian. * Reverted to "pkill -INT" in file debian/update_menu/common_menu. * The upstream source now implements a menu entry "Reload" based on a our addition to the source code. This completes one entry in the Debian TODO list. * Quilt patches 30 and 40 are no longer needed. Upstream author has accepted our patches. * Updated the quilt patch 20_manpage.patch to mention the new use of SIGHUP in reloading the menu configuration for running Windowlab. * Created quilt patch 30_reload_signaling.patch. This intends to take care of signals and allocation needed to provide dependable execution in Lenny release. Etch did not need this! -- Mats Erik Andersson Wed, 14 Oct 2009 19:17:12 +0200 windowlab (1.34-2) unstable; urgency=low * Non-maintainer upload at mentors.debian.net. * debian/control: Added recommended fields for binary package. + Adjusted line breaks in Description. * debian/update-menu: + common_menu: Exchanged "skill" for "pkill -KILL". + SIGINT and SIGTERM do not work even with every terminal emulator! * Quilt source 20_manpage.patch: + Manpage version is now 1.34. + Corrected reference to: ~/.windowlab/windowlab.menurc * New quilt patch: 30_misc_waitpid.patch. + Corrects the signalhandler to use waitpid on SIGCHLD. + This takes care of a race condition at closedown. * New quilt patch: 40_client_focusing.patch. + Reverts a single change to status of windowlab-1.33. + The upstream source broke a mechanism for multiple windows. * Registering x-window-manager at priority 40. -- Mats Erik Andersson Mon, 14 Sep 2009 11:50:10 +0200 windowlab (1.34-1) unstable; urgency=low * QA upload. * New Upstream release * debian/control: Add Homepage field, remove from description * Switch to debhelper instead of cdbs * Use quilt for patch management + Add README.source to explain how to use quilt * Update 10_makefile.patch to pass LDFLAGS to linker * debian/rules: Add get-orig-source target + Upstream only provides .tar, not .tar.gz and all files are executable. * debian/menu: Change section to "Window Manager" (with space) * Bump Standards Version to 3.8.0 * Update 10_makefile.patch to not call install with -s option (Closes: 438264) * Build-depend on libxext-dev as libx11-dev no longer does so (Closes: 486978) * Update debian/copyright, and point to GPL-2 -- Ansgar Burchardt Sat, 21 Jun 2008 18:06:25 +0200 windowlab (1.33-4) unstable; urgency=low * QA upload. * Set maintainer to QA Group; Orphaned: #410618 * Conforms with latest Standards Version 3.7.2 -- Michael Ablassmeier Mon, 26 Feb 2007 09:27:01 +0100 windowlab (1.33-3) unstable; urgency=low * Added Xft support in the Makefile, thanks to David-Ansat Sonntag. * debian/menu - added full path to windowlab executable. * Build-Depends: debhelper (>= 4.1.0) -- Stan Vasilyev Tue, 28 Feb 2006 14:46:45 -0800 windowlab (1.33-2) unstable; urgency=low * New maintainer. (Closes: #327438) * Initial Debian Menu implementation. - Added info about the new feature in the manpage * Fixed "/usr/bin/ld: cannot find -lX11" during build. * Upgraded to CDBS and simple patch system in debian/rules. * Updated long description in debian/control. * Moved all changes to upstream source into debian dir and patches. -- Stan Vasilyev Fri, 27 Jan 2006 00:00:24 -0800 windowlab (1.33-1) unstable; urgency=low * QA upload. * New upstream release. -- Matej Vela Tue, 18 Oct 2005 00:43:52 +0200 windowlab (1.32-2) unstable; urgency=low * QA upload. * Package is orphaned (see #327438); set maintainer to Debian QA Group. * debian/menu: Add. Closes: #321245. * debian/postinst, debian/prerm: Let dh_installwm handle alternatives. -- Matej Vela Sat, 24 Sep 2005 19:00:48 +0200 windowlab (1.32-1) unstable; urgency=low * New upstream release * Using shlibs depends (Closes: #320421) -- Nigel Jones Sat, 30 Jul 2005 17:07:25 +1200 windowlab (1.31-1) unstable; urgency=low * Initial release for Debian (Closes: #311866) -- Nigel Jones Mon, 11 Jul 2005 14:57:28 +1200 debian/README.Debian0000644000000000000000000000474512004530007011230 0ustar Quickstep into Windowlab ======================== Windowlab is a lean window manager, suitable for the connoisseur! These are quick words on the basic usage of Windowlab. Windowlab uses a narrow, protected strip at the upper edge, where a task bar and a menu bar alternate in using the reserved space. It is not possible for a window client to overlap into that area. Normally the task bar occupies the space, but by pressing the right mouse button (button event 3) the menu bar appears. Once the pointer enters the menu bar it cannot escape. Upon release of the button, the indicated command will be effectuated, or none if no action was highlighted. Tapping on a client will give it the focus, but not raising it. It is grabbed for movement by double tapping at the title bar. Alternatively, it is possible to rotate between the clients by pressing Alt-Tab or Alt-Q, each fetching and focussing on the next client, but stepping in opposite directions. The order is reflected in the task bar, with Alt-Tab moving leftwards, and Alt-Q rightwards. Each one is continuing at the opposite screen edge in case of wrapping. The content of the menu bar is determined by ~/.windowlab/windowlab.menurc /etc/X11/windowlab/windowlab.menurc the first taking precedence. Each line in these consists of two entries separated by a colon: # title:action Terminal:mrxvt -showmenu -xft The first entry being the name to be shown, and the second entry providing the command action. A comment must use a hash character in the leftmost position. Among other entries, this package includes, as of 1.37, one menu entry named "Reload", which simply sends a SIGHUP to Windowlab, thus triggering a reload of the resource file. On its own, Windowlab does not offer virtual desktops, but by installing the Debian package "vdesk", this feature is very easily implemented. All it takes are two new menu entries: # Enhancement to # ~/.windowlab/windowlab.menurc # Go to 1:vdesk 1 Go to 2:vdesk 2 By itself, Vdesk starts its numbering at cipher one, and it uses positive integers. One caveat is that Windowlab is not yet taking the membership of a client to a particular virtual desktop into account, so the client rotation and task bar clicking simply bring the desired client into view, possibly moving it to the present desk! Windowlab is conceived to be straight- forward, not convoluted! Mon, Oct 16th, 22:57:44 CET 2009 Mats Erik Andersson debian/patches/0000755000000000000000000000000012215031254010610 5ustar debian/patches/10_makefile.patch0000644000000000000000000000547212215027536013726 0ustar Description: Customize the included Makefile. Adjust directory paths as dictated by Debian policy. Activate use of libXft. Also allow MWM hints for better contemporary adaptions. . Add CPPFLAGS evaluation for hardened builds. . Do not instruct linker with '-L$(XROOT)/lib', nor compiler with '-I$(XROOT)/include', but trust the system. In fact, the linker flag is reported to lead to FTBFS on mips*. Forwarded: not-needed Author: Stan Vasilyev Ansgar Burchardt Mats Erik Andersson Bug-Debian: http://bugs.debian.org/722865 Last-Update: 2013-09-14 --- windowlab-1.40.orig/Makefile +++ windowlab-1.40/Makefile @@ -5,18 +5,18 @@ EXTRA_LIBS += -lXext # Set this to the hardcoded location of all files if it's not / -PREFIX = /usr/local +PREFIX = /usr # Set this to the directory, below PREFIX, where man pages # are expected. Below this directory, the target "install" # will put "windowlab.1x" in section "man1". -MANBASE = /man +MANBASE = /share/man # Set this to the location of the X installation you want to compile against -XROOT = /usr/X11R6 +XROOT = /usr # Some flexibility for configuration location -CONFPREFIX = $(PREFIX) +CONFPREFIX = CONFDIR = /etc/X11/windowlab # Set this to the location of the global configuration files @@ -30,13 +30,13 @@ DEFINES += -DDEF_MENURC="\"$(MENURC)\"" # Uncomment to add MWM hints support -#DEFINES += -DMWM_HINTS +DEFINES += -DMWM_HINTS # Uncomment to add freetype support (requires XFree86 4.0.2 or later) # This needs -lXext above, even if you have disabled shape support -#DEFINES += -DXFT -#EXTRA_INC += `pkg-config --cflags xft` -#EXTRA_LIBS += `pkg-config --libs xft` +DEFINES += -DXFT +EXTRA_INC += `pkg-config --cflags xft` +EXTRA_LIBS += `pkg-config --libs xft` # Uncomment for debugging info (abandon all hope, ye who enter here) #DEFINES += -DDEBUG @@ -51,8 +51,8 @@ BINDIR = $(DESTDIR)$(PREFIX)/bin MANDIR = $(DESTDIR)$(PREFIX)$(MANBASE)/man1 CFGDIR = $(DESTDIR)$(SYSCONFDIR) -INCLUDES = -I$(XROOT)/include $(EXTRA_INC) -LDPATH = -L$(XROOT)/lib +INCLUDES += $(EXTRA_INC) +#LDPATH = -L$(XROOT)/lib LIBS = -lX11 $(EXTRA_LIBS) PROG = windowlab @@ -63,13 +63,13 @@ all: $(PROG) $(PROG): $(OBJS) - $(CC) $(OBJS) $(LDPATH) $(LIBS) -o $@ + $(CC) $(OBJS) $(LDFLAGS) $(LDPATH) $(LIBS) -o $@ $(OBJS): %.o: %.c $(HEADERS) - $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -c $< -o $@ + $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFINES) $(INCLUDES) -c $< -o $@ install: all - mkdir -p $(BINDIR) && install -m 755 -s $(PROG) $(BINDIR) + mkdir -p $(BINDIR) && install -m 755 $(PROG) $(BINDIR) mkdir -p $(MANDIR) && install -m 644 $(MANPAGE) $(MANDIR) && gzip -9vfn $(MANDIR)/$(MANPAGE) mkdir -p $(CFGDIR) && cp -i windowlab.menurc $(CFGDIR)/windowlab.menurc && chmod 644 $(CFGDIR)/windowlab.menurc debian/patches/20_manpage.patch0000644000000000000000000001167512004530007013550 0ustar Description: Enhance the supplied manual page. Additions to page header/footer: author, version, and section. Proper encoding of hyphens. . Include a section on the menu subsystem. Mention the recent SIGHUP signal handling. Forwarded: not-needed. Author: Stan Vasilyev Mats Erik Andersson Last-Update: 2010-04-09 --- windowlab-1.40.orig/windowlab.1x +++ windowlab-1.40/windowlab.1x @@ -1,15 +1,15 @@ .\" WindowLab - an X11 window manager .\" by Nick Gravgaard (me at nickgravgaard.com) -.TH WINDOWLAB 1x +.TH "WINDOWLAB" "1x" "1.40" "Nick Gravgaard" "" .SH "NAME" windowlab \- a window manager for X11 .SH "SYNOPSIS" .B windowlab \fI[options...]\fP -.SH DESCRIPTION +.SH "DESCRIPTION" .B windowlab is a small and simple window manager of novel design. .PP -It has a click-to-focus but not raise-on-focus policy, a window resizing mechanism that allows one or many edges of a window to be changed in one action, and an innovative menubar that shares the same part of the screen as the taskbar. Window titlebars are prevented from going off the edge of the screen by constraining the mouse pointer, and when appropriate the pointer is also constrained to the taskbar/menubar in order to make target menu items easier to hit. +It has a click\-to\-focus but not raise\-on\-focus policy, a window resizing mechanism that allows one or many edges of a window to be changed in one action, and an innovative menubar that shares the same part of the screen as the taskbar. Window titlebars are prevented from going off the edge of the screen by constraining the mouse pointer, and when appropriate the pointer is also constrained to the taskbar/menubar in order to make target menu items easier to hit. .PP WindowLab places a taskbar at the top of the screen and adds a titlebar to the top of each window. These titlebars consist of a draggable area, and three icons on the right hand side. When left clicked, these icons: .PP @@ -39,7 +39,7 @@ .PP The GIMP:gimp .PP -New windows (that don't specify their location) are positioned according to the coordinates of the mouse - the top-left hand corner of a new window is set to the location of the mouse pointer (if necessary the window will be moved to ensure that all of it is on the screen). +New windows (that don't specify their location) are positioned according to the coordinates of the mouse \- the top\-left hand corner of a new window is set to the location of the mouse pointer (if necessary the window will be moved to ensure that all of it is on the screen). .PP WindowLab has the following keyboard controls. Hold down alt and press: .PP @@ -58,29 +58,65 @@ * .B F12 to toggle the window's depth. This is the same as left clicking a window's middle icon -.SH OPTIONS +.SH "OPTIONS" .TP -.B -font \fIfont-spec\fP +.B \-font \fIfont\-spec\fP Draw window titles with the font defined by -.IR font-spec . +.IR font\-spec . .TP -.B -border \fIcolor\fP, -text \fIcolor\fP, -active \fIcolor\fP, -inactive \fIcolor\fP, -menu \fIcolor\fP, -selected \fIcolor\fP, -empty \fIcolor\fP +.B \-border \fIcolor\fP, \-text \fIcolor\fP, \-active \fIcolor\fP, \-inactive \fIcolor\fP, \-menu \fIcolor\fP, \-selected \fIcolor\fP, \-empty \fIcolor\fP Use .I color for the borders, the text, the active background, the inactive background, the menubar, the selected menu item and empty parts of the screen. .TP -.B -about +.B \-about Print information to stdout and exit. .TP -.B -display +.B \-display Sets which X display will be managed by .BR windowlab . -.SH ENVIRONMENT VARIABLES +.SH "ENVIRONMENT VARIABLES" .B DISPLAY Sets which X display will be managed by .BR windowlab . +.SH "MENU SYSTEM" +This version of WindowLab supports the Debian Menu subsystem. +To update the menus, it suffices to execute the command +\fIupdate\-menus\fR. If executed as root, the system setting in +. +.IP "" 6 +\fB/etc/X11/windowlab/windowlab.menurc\fR +. +.P +will be affected, whereas execution by any underprivileged user +only effects the private resource file in +. +.IP "" 6 +\fB~/.windowlab/windowlab.menurc\fR. +. +.P +The following files tune the compilation of auto\-generated menus: +. +.TP +\fB/etc/X11/windowlab/debian_config\fR, \fB~/.windowlab/debian_config\fR +Debian\-specific system configuration and user\-specific overrides. +. +.TP +\fB/etc/X11/windowlab/common_menu\fR +A common tail part, that currently encompasses \fIAbout\fR, \fIReload\fR +and \fIQuit\fR. All users get these entries included in their menu. +. +.TP +\fB~/.windowlab/user_menu\fR +Menu entries hand-picked by the individual user. +. +.SH "SIGNALS" +When WindowLab receives a \fBSIGHUP\fR signal, it will reload all relevant +menu resource files, thus updating the menu bar. +. .SH "SEE ALSO" .BR X (7), -.I The Inter-Client Communication Conventions Manual (from the X11R6 documentation). +.I The Inter\-Client Communication Conventions Manual (from the X11R6 documentation). +. .SH "AUTHOR" Nick Gravgaard (me at nickgravgaard.com) debian/patches/series0000644000000000000000000000006612006473746012045 0ustar 10_makefile.patch 20_manpage.patch 30_root_focus.diff debian/patches/30_root_focus.diff0000644000000000000000000000676312006474653014156 0ustar Description: Restore initial pointer visibility. At start-up focus need not be visible with recent servers. Explicitly setting a default cursor using the CWCursor attribute resolves this issue. . Letting XSetInputFocus() inherit focus from the parent, instead of setting RevertToNone, should cover for more corner cases. Author: Mats Erik Andersson Forwarded: yes Bug-Debian: http://bugs.debian.org/630494 Last-Update: 2012-08-02 --- windowlab-1.40.orig/client.c 2010-04-04 20:30:02.000000000 +0200 +++ windowlab-1.40/client.c 2012-08-02 10:21:36.000000000 +0200 @@ -312,7 +312,7 @@ { if (c != NULL) { - XSetInputFocus(dsply, c->window, RevertToNone, CurrentTime); + XSetInputFocus(dsply, c->window, RevertToParent, CurrentTime); XInstallColormap(dsply, c->cmap); } if (c != focused_client) --- windowlab-1.40.orig/main.c 2010-04-04 20:30:23.000000000 +0200 +++ windowlab-1.40/main.c 2012-08-02 14:43:57.000000000 +0200 @@ -33,7 +33,7 @@ #endif GC string_gc, border_gc, text_gc, active_gc, depressed_gc, inactive_gc, menu_gc, selected_gc, empty_gc; XColor border_col, text_col, active_col, depressed_col, inactive_col, menu_col, selected_col, empty_col; -Cursor resize_curs; +Cursor resize_curs, root_curs; Atom wm_state, wm_change_state, wm_protos, wm_delete, wm_cmapwins; #ifdef MWM_HINTS Atom mwm_hints; @@ -202,6 +202,7 @@ shape = XShapeQueryExtension(dsply, &shape_event, &dummy); #endif + root_curs = XCreateFontCursor(dsply, XC_X_cursor); resize_curs = XCreateFontCursor(dsply, XC_fleur); /* find out which modifier is NumLock - we'll use this when grabbing every combination of modifiers we can think of */ @@ -256,7 +257,8 @@ empty_gc = XCreateGC(dsply, root, GCFunction|GCForeground, &gv); sattr.event_mask = ChildMask|ColormapChangeMask|ButtonMask; - XChangeWindowAttributes(dsply, root, CWEventMask, &sattr); + sattr.cursor = root_curs; + XChangeWindowAttributes(dsply, root, CWEventMask|CWCursor, &sattr); grab_keysym(root, MODIFIER, KEY_CYCLEPREV); grab_keysym(root, MODIFIER, KEY_CYCLENEXT); --- windowlab-1.40.orig/manage.c 2010-04-04 20:30:35.000000000 +0200 +++ windowlab-1.40/manage.c 2012-08-02 10:20:13.000000000 +0200 @@ -471,7 +471,7 @@ // unhide real window's frame XMapWindow(dsply, c->frame); - XSetInputFocus(dsply, c->window, RevertToNone, CurrentTime); + XSetInputFocus(dsply, c->window, RevertToParent, CurrentTime); send_config(c); XDestroyWindow(dsply, constraint_win); --- windowlab-1.40.orig/misc.c 2010-04-04 20:30:54.000000000 +0200 +++ windowlab-1.40/misc.c 2012-08-02 14:42:24.000000000 +0200 @@ -397,11 +397,12 @@ } #endif XFreeCursor(dsply, resize_curs); + XFreeCursor(dsply, root_curs); XFreeGC(dsply, border_gc); XFreeGC(dsply, text_gc); XInstallColormap(dsply, DefaultColormap(dsply, screen)); - XSetInputFocus(dsply, PointerRoot, RevertToNone, CurrentTime); + XSetInputFocus(dsply, PointerRoot, RevertToParent, CurrentTime); XCloseDisplay(dsply); exit(0); --- windowlab-1.40.orig/windowlab.h 2010-04-04 20:29:30.000000000 +0200 +++ windowlab-1.40/windowlab.h 2012-08-02 14:42:45.000000000 +0200 @@ -247,7 +247,7 @@ #endif extern GC border_gc, text_gc, active_gc, depressed_gc, inactive_gc, menu_gc, selected_gc, empty_gc; extern XColor border_col, text_col, active_col, depressed_col, inactive_col, menu_col, selected_col, empty_col; -extern Cursor resize_curs; +extern Cursor resize_curs, root_curs; extern Atom wm_state, wm_change_state, wm_protos, wm_delete, wm_cmapwins; #ifdef MWM_HINTS extern Atom mwm_hints; debian/windowlab.docs0000644000000000000000000000006412004530007012015 0ustar debian/README.Debian debian/TODO.Debian README TODO debian/rules0000755000000000000000000000303212004540723010241 0ustar #!/usr/bin/make -f CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) CFLAGS = $(shell dpkg-buildflags --get CFLAGS) LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) export CPPFLAGS CFLAGS LDFLAGS WINDOWLAB_VERSION = 1.40 WINDOWLAB_MD5SUM = 346f8c187838a446b4cbb2326d035577 WINDOWLAB_TARBALL = windowlab-$(WINDOWLAB_VERSION).tar get-orig-source: @if [ -e $(WINDOWLAB_TARBALL) -o -e windowlab-$(WINDOWLAB_VERSION) \ -o -e windowlab-$(WINDOWLAB_VERSION).tar.gz ] ; then \ echo "target files or temporary files do already exist" >&2 ; \ false ; \ fi # wget -nv http://nickgravgaard.com/windowlab/windowlab-$(WINDOWLAB_VERSION).tar # @MD5=$$(md5sum $(WINDOWLAB_TARBALL) | cut -d' ' -f 1) ; \ if [ x$$MD5 != x$(WINDOWLAB_MD5SUM) ] ; then \ echo "MD5 sum of upstream tarball has changed." >&2 ; \ echo " expected: $(WINDOWLAB_TARBALL)" >&2 ; \ echo " got: $$MD5" >&2 ; \ false ; \ else \ echo "MD5 sum ok." ; \ fi tar xf windowlab-$(WINDOWLAB_VERSION).tar chmod 0644 windowlab-$(WINDOWLAB_VERSION)/* tar cfz windowlab-$(WINDOWLAB_VERSION).tar.gz windowlab-$(WINDOWLAB_VERSION) rm -rf windowlab-$(WINDOWLAB_VERSION).tar windowlab-$(WINDOWLAB_VERSION) build-arch: build build-indep: build build: dh $@ clean: dh $@ install: build dh install --before dh_installwm dh_installwm --priority=40 dh install --remaining chmod +x debian/windowlab/usr/lib/windowlab/create_menu.sh chmod +x debian/windowlab/etc/menu-methods/windowlab binary-arch: install dh $@ binary-indep: install dh $@ binary: install dh $@ debian/copyright0000644000000000000000000001124212170624413011121 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: windowlab Upstream-Contact: Nick Gravgaard Source: http://nickgravgaard.com/windowlab/ Files: * Copyright: 2001-2010, Nick Gravgaard License: GPL-2+ Comment: The license for aewm (which includes that of 9wm), and from which these source files have been derived, follows below. Files: * Copyright: 1998-2001, Decklin Foster. License: ORIGINAL AEWM LICENCE Comment: Portions of the code were based on 9wm. Files: * Copyright: 1994-1996, David Hogan 2009, The Estate of David Hogan License: ORIGINAL 9wm LICENCE Files: events.c Copyright: 2001-2010, Nick Gravgaard 1994-1996, Mark J. Kilgard Comment: Snippet from Libglut3 source code, via Blender source code. A short code addition from an external source was inserted by Nick Gravgaard in the release of windowlab-1.40. The quotations below have been preserved in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=131997 License: other /* interruptibleXNextEvent() was originally taken from Blender's source code * and came with the following copyright notice: */ . /* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996. */ . /* This program is freely distributable without licensing fees * and is provided without guarantee or warrantee expressed or * implied. This program is -not- in the public domain. */ . NOTICE: The OpenGL Utility Toolkit (GLUT) distribution contains source code published in a book titled "Programming OpenGL for the X Window System" (ISBN: 0-201-48359-9) published by Addison-Wesley. The programs and associated files contained in the distribution were developed by Mark J. Kilgard and are Copyright 1994, 1995, 1996 by Mark J. Kilgard (unless otherwise noted). The programs are not in the public domain, but they are freely distributable without licensing fees. These programs are provided without guarantee or warrantee expressed or implied. . Regarding the right to modify and distribute this library: . From: Mark Kilgard Subject: Bug#131997: GLUT license . Anthony, . > Would it be possible for you to just make it absolutely clear that > everyone's allowed to use, copy, and modify (and distribute their > modifications) of libglut? > > Just quoting the above and replying "Yes, that's fine" or similar > would be okay. . Yes, that's fine. Files: debian/* Copyright: 2005, Nigel Jones 2005, Matej Vela 2006, Stan Vasilyev 2008, Ansgar Burchardt 2009-2013, Mats Erik Andersson License: GPL-2+ Comment: This package was debianized by Nigel Jones on Mon, 11 Jul 2005 00:09:35 +1200. License: GPL-2+ This program 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. This program 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. Comment: On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. License: ORIGINAL AEWM LICENCE THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND. IN NO EVENT SHALL THE AUTHOR BE HELD LIABLE FOR ANY DAMAGES CONNECTED WITH THE USE OF THIS PROGRAM. . You are granted permission to copy, publish, distribute, and/or sell copies of this program and any modified versions or derived works, provided that this copyright and notice are not removed or altered. License: ORIGINAL 9wm LICENCE 9wm is free software, and is Copyright (c) 1994 by David Hogan. Permission is granted to all sentient beings to use this software, to make copies of it, and to distribute those copies, provided that: . (1) the copyright and licence notices are left intact (2) the recipients are aware that it is free software (3) any unapproved changes in functionality are either (i) only distributed as patches or (ii) distributed as a new program which is not called 9wm and whose documentation gives credit where it is due (4) the author is not held responsible for any defects or shortcomings in the software, or damages caused by it. . There is no warranty for this software. Have a nice day. debian/TODO.Debian0000644000000000000000000000011112004530007011017 0ustar * More menu enhancements: - Separator tabs - Tools to customize menu