]> git.decadent.org.uk Git - ion3.git/commitdiff
[svn-upgrade] Integrating new upstream version, ion3 (20080207) 20080207
authorBen Hutchings <ben@decadent.org.uk>
Thu, 7 Feb 2008 20:29:08 +0000 (20:29 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 2 Nov 2008 12:16:23 +0000 (12:16 +0000)
32 files changed:
ChangeLog
README
RELNOTES
build/rules.mk
etc/cfg_ion.lua
etc/cfg_statusbar.lua
exact-version
ion/Makefile
ion/ion.c
ioncore/clientwin.c
ioncore/conf.c
ioncore/eventh.c
ioncore/focus.c
ioncore/focus.h
ioncore/manage.c
libmainloop/defer.c
mod_sm/sm_matchwin.c
mod_sm/sm_matchwin.h
mod_sm/sm_session.c
mod_sm/sm_session.h
pwm/Makefile
pwm/pwm.c
system.mk
utils/ion-completefile/Makefile
utils/ion-statusd/Makefile
utils/ion-statusd/exec.c
utils/ion-statusd/extlrx.c
utils/ion-statusd/ion-statusd.c
utils/ion-statusd/statusd_date.lua
utils/ion-statusd/statusd_load.lua
utils/ion-statusd/statusd_mail.lua
version.h

index e26104725bae7d1aca16dc62c19d3485de8b1808..7551588b388fd232485ce46afd2ea0448ea150bb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,50 @@
+2008-02-05 17:40 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  tagged ion-3-20080207
+
+2008-02-04 22:51 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Release notes
+
+2008-02-04 22:50 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * More cfg_ion.lua embedded documentation
+
+2008-02-03 08:34 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added same rootwin check for 'target' winprop
+
+2008-02-03 08:34 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * 'jumpto' wasn't working well with pointer_focus_hack
+
+2008-02-02 08:31 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * README improvement
+
+2008-01-21 19:38 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Enabled default statusbar template in cfg_statusbar.lua
+  (Some seem to have trouble understanding commented-out settings.)
+
+2008-01-21 15:45 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * ioncore.set{mousefocus='disabled'} setting support had been lost at
+  some point, and documentation was wrong too.
+
+2008-01-18 16:47 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Some cfg_ion.lua documentation
+
+2008-01-07 18:39 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Some build system improvements for nicer .exe handling
+
+2008-01-07 18:02 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Added CF_NO_GET_LOADAVG
+
+2008-01-06 20:41 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Dockapp WM_CLASS hack had been broken. Fixed.
+
+2008-01-04 15:25 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Removed defer-pending on destroy warning
+
+2008-01-03 21:38 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Some header comments weren't up-to-date
+
+2008-01-03 18:49 UTC  Tuomo Valkonen <tuomov@iki.fi>
+  * Bah, statusd build was still broken
+
 2008-01-03 18:23 UTC  Tuomo Valkonen <tuomov@iki.fi>
   tagged ion-3rc-20080103
 
diff --git a/README b/README
index 407c55e7bb606ce963e240fee83c9ea95ecd3c06..3e8fd634de613bd54db0fd7c2c579d69d4e447cb 100644 (file)
--- a/README
+++ b/README
@@ -19,8 +19,7 @@ Building and installing
     * Lua 5.1 <http://www.lua.org/>
     * gettext <http://www.gnu.org/software/gettext/>
 
-2. Edit `system.mk` to suit your system. Most GNU/Linux users should
-   need very few changes.
+2. Edit `system.mk` to suit your system. 
 
 3. If you want to build some extra modules now or do not want to build
    some of the standard modules, edit `modulelist.mk`.
index 07c9cd6efdf2f0392a71b05b76fd33e6106159db..d5190c04a5320e52598acdf83b76cbe072458887 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,4 +1,10 @@
 
+ion-3-20080207
+--------------
+
+.
+
+
 ion-3rc-20080103
 ----------------
 
index 488a02af209349208f13db7ab3c5b1025a8e0d30..d538bbcf6df361238f58f305bbe4106fac4015f4 100644 (file)
@@ -16,6 +16,17 @@ LUA_COMPILED := $(subst .lua,.lc, $(LUA_SOURCES))
 TARGETS := $(TARGETS) $(LUA_COMPILED)
 endif
 
+ifdef EXTRA_EXECUTABLE
+EXECUTABLE := $(EXTRA_EXECUTABLE)
+BINDIR_ := $(EXTRABINDIR)
+endif
+
+ifdef EXECUTABLE
+BINDIR_ ?= $(BINDIR)
+EXECUTABLE_ := $(EXECUTABLE)$(BIN_SUFFIX)
+TARGETS := $(TARGETS) $(EXECUTABLE_)
+endif
+
 
 # Main targets
 ######################################
@@ -87,6 +98,42 @@ endif # !MAKE_EXPORTS
 
 OBJS=$(subst .c,.o,$(SOURCES) $(EXPORTS_C))
 
+
+ifdef EXECUTABLE
+
+ifdef MODULE_LIST
+ifdef MODULE_PATH
+ifeq ($(PRELOAD_MODULES),1)
+EXT_OBJS += $(foreach mod, $(MODULE_LIST), $(MODULE_PATH)/$(mod)/$(mod).a)
+DEPEND_DEPENDS += preload.c
+SOURCES += preload.c
+TO_CLEAN += preload.c
+else # !PRELOAD_MODULES
+LDFLAGS += $(EXPORT_DYNAMIC)
+WHOLEA = -Wl,-whole-archive
+NO_WHOLEA = -Wl,-no-whole-archive
+endif # !PRELOAD_MODULES
+
+preload.c:
+       $(LUA) $(TOPDIR)/build/mkpreload.lua $(MODULE_LIST) > preload.c
+
+endif # MODULE_PATH
+endif # MODULE_LIST
+
+ifeq ($(RELOCATABLE),1)
+DEFINES += -DCF_RELOCATABLE_BIN_LOCATION=\"$(BINDIR_)/$(EXECUTABLE)\"
+endif
+
+$(EXECUTABLE_): $(OBJS) $(EXT_OBJS)
+       $(CC) $(OBJS) $(WHOLEA) $(EXT_OBJS) $(NO_WHOLEA) $(LDFLAGS) -o $@
+
+executable_install:
+       $(INSTALLDIR) $(BINDIR_)
+       $(INSTALLBIN) $(EXECUTABLE_) $(BINDIR_)
+
+endif # EXECUTABLE
+
+
 ifdef MODULE
 
 ifneq ($(PRELOAD_MODULES),1)
index 726d6546768c97e447bdc129d6c4b13b2d09290a..c16103ad80e0b66f517c3e425c605b711e397e1d 100644 (file)
@@ -3,7 +3,14 @@
 --
 -- This file only includes some settings that are rather frequently altered.
 -- The rest of the settings are in cfg_ioncore.lua and individual modules'
--- configuration files (cfg_modulename.lua).
+-- configuration files (cfg_modulename.lua). 
+--
+-- When any binding and other customisations that you want are minor, it is 
+-- recommended that you include them in a copy of this file in ~/.ion3/.
+-- Simply create or copy the relevant settings at the end of this file (from
+-- the other files), recalling that a key can be unbound by passing 'nil' 
+-- (without the quotes) as the callback. For more information, please see 
+-- the Ion configuration manual available from the Ion Web page.
 --
 
 -- Set default modifiers. Alt should usually be mapped to Mod1 on
@@ -57,7 +64,7 @@ ioncore.set{
 -- modules with 'mod' replaced by 'cfg'.
 dopath("cfg_defaults")
 
--- Load configuration of the Ion 'core'
+-- Load configuration of the Ion 'core'. Most bindings are here.
 --dopath("cfg_ioncore")
 
 -- Load some kludges to make apps behave better.
@@ -66,7 +73,8 @@ dopath("cfg_defaults")
 -- Define some layouts. 
 --dopath("cfg_layouts")
 
--- Load some modules. 
+-- Load some modules. Bindings and other configuration specific to modules
+-- are in the files cfg_modulename.lua.
 --dopath("mod_query")
 --dopath("mod_menu")
 --dopath("mod_tiling")
index 82fa506e346561568d4d805f4879db6442a69600..dd04c324bb8af398a07933fd29b0c6b65dadb3b8 100644 (file)
@@ -36,6 +36,7 @@ mod_statusbar.create{
     -- right, respectively, and %systray is a placeholder for system tray
     -- windows and icons.
     --
+    template="[ %date || load: %load ] %filler%systray",
     --template="[ %date || load:% %>load || mail:% %>mail_new/%>mail_total ] %filler%systray",
     --template="[ %date || load: %05load_1min || mail: %02mail_new/%02mail_total ] %filler%systray",
 }
index 3ed21196721a003b7dfe7baf5e7f67759ff879a1..45a6e95fc260404342469af9ba1853337136d4f5 100644 (file)
@@ -1,5 +1,5 @@
 
 Context:
 
-[TAG ion-3rc-20080103
-Tuomo Valkonen <tuomov@iki.fi>**20080103182346
+[TAG ion-3-20080207
+Tuomo Valkonen <tuomov@iki.fi>**20080205174053
index d7239469f3da5c27bdb12d03767c75db345623dc..6ab6c2877401fab15d2e613c8f7b0deef9af919a 100644 (file)
@@ -11,34 +11,20 @@ include $(TOPDIR)/modulelist.mk
 
 ######################################
 
-SOURCES=ion.c
+EXECUTABLE = ion3
 
-TARGETS=ion3
+SOURCES = ion.c
 
-INCLUDES += $(X11_INCLUDES) 
+INCLUDES += $(X11_INCLUDES)
 INCLUDES += $(LIBMAINLOOP_INCLUDES) $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES)
 INCLUDES += -I..
 
-LIBS += $(X11_LIBS)
+LIBS += $(X11_LIBS) -lSM -lICE
 LIBS += $(WHOLEA) $(LIBMAINLOOP_LIBS) $(LIBEXTL_LIBS) $(LIBTU_LIBS) $(NO_WHOLEA)
 LIBS += $(LUA_LIBS) $(DL_LIBS)
 LIBS += -lm
 
-ifeq ($(PRELOAD_MODULES),1)
-EXT_OBJS += $(foreach mod, $(MODULE_LIST), ../$(mod)/$(mod).a)
-DEPEND_DEPENDS += preload.c
-SOURCES += preload.c
-TO_CLEAN += preload.c
-LIBS += -lSM -lICE
-else
-LDFLAGS += $(EXPORT_DYNAMIC)
-WHOLEA = -Wl,-whole-archive
-NO_WHOLEA = -Wl,-no-whole-archive
-endif
-
-ifeq ($(RELOCATABLE),1)
-DEFINES += -DCF_RELOCATABLE_ION3_LOCATION=\"$(BINDIR)/ion3\"
-endif
+MODULE_PATH = $(TOPDIR)
 
 EXT_OBJS += ../ioncore/ioncore.a
 
@@ -54,12 +40,6 @@ include $(TOPDIR)/build/rules.mk
 
 ######################################
 
-ion3: $(OBJS) $(EXT_OBJS)
-       $(CC) $(OBJS) $(WHOLEA) $(EXT_OBJS) $(NO_WHOLEA) $(LDFLAGS) -o $@
 
-preload.c:
-       $(LUA) ../build/mkpreload.lua $(MODULE_LIST) > preload.c
+_install: executable_install
 
-_install:
-       $(INSTALLDIR) $(BINDIR)
-       $(INSTALLBIN) ion3 $(BINDIR)
index 4bbfb60f58707727ed025316a7011fb42d1a3126..ac07f3fd555dccd8c5c8ddecb00c2746037cb43c 100644 (file)
--- a/ion/ion.c
+++ b/ion/ion.c
@@ -151,8 +151,8 @@ int main(int argc, char*argv[])
 
     libtu_init(argv[0]);
     
-#ifdef CF_RELOCATABLE_ION3_LOCATION
-    prefix_set(argv[0], CF_RELOCATABLE_ION3_LOCATION);
+#ifdef CF_RELOCATABLE_BIN_LOCATION
+    prefix_set(argv[0], CF_RELOCATABLE_BIN_LOCATION);
 #endif
     
     localedir=prefix_add(LOCALEDIR);
index cb528ad93006d5d130703849e571e484163b2e7e..0d81b2fe2f8d7e882233c5cc361c79692c81ef5b 100644 (file)
@@ -508,10 +508,7 @@ WClientWin* ioncore_manage_clientwin(Window win, bool maprq)
                 
                 xwindow_unmanaged_selectinput(win, 0);
                 xwindow_unmanaged_selectinput(icon_win, StructureNotifyMask);
-
-                win=icon_win;
-                attr=icon_attr;
-
+                
                 /* Copy WM_CLASS as _ION_DOCKAPP_HACK */
 
                 p=xwindow_get_text_property(win, XA_WM_CLASS, &n);
@@ -525,6 +522,9 @@ WClientWin* ioncore_manage_clientwin(Window win, bool maprq)
                     xwindow_set_text_property(icon_win, ioncore_g.atom_dockapp_hack,
                                               pdummy, 2);
                 }
+                
+                win=icon_win;
+                attr=icon_attr;
             }
         }
         
@@ -561,8 +561,9 @@ WClientWin* ioncore_manage_clientwin(Window win, bool maprq)
 
     param.geom=REGION_GEOM(cwin);
     param.maprq=maprq;
-    param.switchto=(init_state!=IconicState && clientwin_get_switchto(cwin));
     param.jumpto=extl_table_is_bool_set(cwin->proptab, "jumpto");
+    param.switchto=(init_state!=IconicState && 
+                    (param.jumpto || clientwin_get_switchto(cwin)));
     param.gravity=(cwin->size_hints.flags&PWinGravity
                    ? cwin->size_hints.win_gravity
                    : ForgetGravity);
@@ -597,7 +598,11 @@ WClientWin* ioncore_manage_clientwin(Window win, bool maprq)
     }
     
     if(postmanage_check(cwin, &attr)){
-        if(param.jumpto && ioncore_g.focus_next==NULL)
+        /* Check for focus_next==NULL does not play nicely with
+         * pointer_focus_hack.
+         */
+        /*if(param.jumpto && ioncore_g.focus_next==NULL)*/
+        if(param.jumpto && !region_manager_is_focusnext((WRegion*)cwin))
             region_goto((WRegion*)cwin);
         hook_call_o(clientwin_mapped_hook, (Obj*)cwin);
         return cwin;
index edafe947745d878a022521ad8e43e1ca0b74daa4..7142d3265da6b13ccf6dcb267d0317e6fed8ea88 100644 (file)
@@ -77,7 +77,7 @@ static ExtlFn get_layout_fn;
  *                          \codestr{lrud} (left-right, then up-down), or 
  *                          \codestr{random}. \\
  *  \var{mousefocus} & (string) Mouse focus mode: 
- *                     \codestr{disable} or \codestr{sloppy}. \\
+ *                     \codestr{disabled} or \codestr{sloppy}. \\
  *  \var{unsqueeze} & (boolean) Auto-unsqueeze transients/menus/queries/etc. \\
  *  \var{autoraise} & (boolean) Autoraise regions in groups on goto. \\
  * \end{tabularx}
index 011093ba3e05ebcca558b7ec3c7f891c6ce37330..572ab91073f7582a0ebe009f308085cddd192e18 100644 (file)
@@ -307,8 +307,10 @@ void ioncore_handle_enter_window(XEvent *ev)
     XEnterWindowEvent *eev=&(ev->xcrossing);
     WRegion *reg=NULL;
     
-    if(ioncore_g.input_mode!=IONCORE_INPUTMODE_NORMAL)
+    if(ioncore_g.input_mode!=IONCORE_INPUTMODE_NORMAL ||
+       ioncore_g.no_mousefocus){
         return;
+    }
         
     if(eev->mode!=NotifyNormal && !ioncore_g.warp_enabled)
         return;
index bbba50d1a66748e1cfb0d6aa30556c2f6d9b2260..f80a5f20c5ddada600224003eb8e9f18551c24a2 100644 (file)
@@ -308,7 +308,7 @@ bool region_is_active(WRegion *reg, bool pseudoact_ok)
 }
 
 
-static bool region_manager_is_focusnext(WRegion *reg)
+bool region_manager_is_focusnext(WRegion *reg)
 {
     if(reg==NULL || ioncore_g.focus_next==NULL)
         return FALSE;
index 5c702e8cfdb6634154d44528bee36f5db150748b..12340cd00088086aa3981dee28110ef400cc067a 100644 (file)
@@ -39,6 +39,7 @@ extern void region_lost_focus(WRegion *reg);
 
 /* May reg transfer focus to its children? */
 extern bool region_may_control_focus(WRegion *reg);
+extern bool region_manager_is_focusnext(WRegion *reg);
 
 /* Does reg have focus? */
 extern bool region_is_active(WRegion *reg, bool pseudoact_ok);
index 52cd0b803786c9dbd4866b1b66a19891aeccb71d..5b036053c52218218b5f9dd50deb2f81133b0e5d 100644 (file)
@@ -72,6 +72,9 @@ static WPHolder *try_target(WClientWin *cwin, const WManageParams *param,
     if(r==NULL)
         return NULL;
     
+    if(!region_same_rootwin(r, (WRegion*)cwin))
+        return NULL;
+    
     return region_prepare_manage(r, cwin, param, MANAGE_PRIORITY_NONE);
 }
 
index 90e02af1dc5991acb4bc9c84243aa4b69eb66440..304a37caf5e3f08620d276d6ed656cdd92c4d608 100644 (file)
@@ -18,6 +18,7 @@
 #include <libtu/dlist.h>
 #include <libtu/output.h>
 #include <libtu/locale.h>
+#include <libtu/debug.h>
 #include "defer.h"
 
 
@@ -78,7 +79,7 @@ static void defer_watch_handler(Watch *w, Obj *obj)
     
     free_defer(d);
     
-    warn(TR("Object destroyed while deferred actions are still pending."));
+    D(warn(TR("Object destroyed while deferred actions are still pending.")));
 }
 
 
index a26027e5bf93031525d187655629819c515533f7..e3705a831a857e2f773ba515f187690ebf21aa9c 100644 (file)
@@ -5,7 +5,7 @@
  * 
  * Based on the code of the 'sm' module for Ion1 by an unknown contributor.
  *
- * Ion is free software; you can redistribute it and/or modify it under
+ * This is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2.1 of the License, or
  * (at your option) any later version.
index 6e93945b21374933f713b1693d04dca644fc68be..5c90fb4a984c2632e1954ec84c1142d7d96a5daa 100644 (file)
@@ -5,7 +5,7 @@
  * 
  * Based on the code of the 'sm' module for Ion1 by an unknown contributor.
  *
- * Ion is free software; you can redistribute it and/or modify it under
+ * This is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2.1 of the License, or
  * (at your option) any later version.
index 52d6955b65ff53bd0831c72d6f9250dc43dd29cc..087431154b8cdb20aa434f9fab1c8842dc1e9fb5 100644 (file)
@@ -5,7 +5,7 @@
  * 
  * Based on the code of the 'sm' module for Ion1 by an unknown contributor.
  *
- * Ion is free software; you can redistribute it and/or modify it under
+ * This is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2.1 of the License, or
  * (at your option) any later version.
index a4cc980289e3b9bbc212b1adee24963fc9f748ec..05deb3452c02bcce438682f4a1d823c2b695092b 100644 (file)
@@ -5,7 +5,7 @@
  * 
  * Based on the code of the 'sm' module for Ion1 by an unknown contributor.
  *
- * Ion is free software; you can redistribute it and/or modify it under
+ * This is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2.1 of the License, or
  * (at your option) any later version.
index 2721bbfd74f1a170d2363e483de8b6b4f370c8c0..983c51c2a328fcecd186bf97e37482499b1c0fbb 100644 (file)
@@ -11,36 +11,22 @@ include $(TOPDIR)/modulelist.mk
 
 ######################################
 
-SOURCES=pwm.c
+EXECUTABLE = pwm3
 
-ETC = cfg_pwm.lua
+SOURCES = pwm.c
 
-TARGETS = pwm3
+ETC = cfg_pwm.lua
 
 INCLUDES += $(X11_INCLUDES) 
 INCLUDES += $(LIBMAINLOOP_INCLUDES) $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES)
 INCLUDES += -I..
 
-LIBS += $(X11_LIBS)
+LIBS += $(X11_LIBS) -lSM -lICE
 LIBS += $(WHOLEA) $(LIBMAINLOOP_LIBS) $(LIBEXTL_LIBS) $(LIBTU_LIBS) $(NO_WHOLEA)
 LIBS += $(LUA_LIBS) $(DL_LIBS)
 LIBS += -lm
 
-ifeq ($(PRELOAD_MODULES),1)
-EXT_OBJS += $(foreach mod, $(PWM_MODULE_LIST), ../$(mod)/$(mod).a)
-DEPEND_DEPENDS += preload.c
-SOURCES += preload.c
-TO_CLEAN += preload.c
-LIBS += -lSM -lICE
-else
-LDFLAGS += $(EXPORT_DYNAMIC)
-WHOLEA = -Wl,-whole-archive
-NO_WHOLEA = -Wl,-no-whole-archive
-endif
-
-ifeq ($(RELOCATABLE),1)
-DEFINES += -DCF_RELOCATABLE_PWM3_LOCATION=\"$(BINDIR)/pwm3\"
-endif
+MODULE_PATH = $(TOPDIR)
 
 EXT_OBJS += ../ioncore/ioncore.a
 
@@ -62,15 +48,7 @@ include $(TOPDIR)/build/rules.mk
 
 ######################################
 
-pwm3: $(OBJS) $(EXT_OBJS)
-       $(CC) $(OBJS) $(WHOLEA) $(EXT_OBJS) $(NO_WHOLEA) $(LDFLAGS) -o $@
-
-preload.c:
-       $(LUA) ../build/mkpreload.lua $(PWM_MODULE_LIST) > preload.c
-
-_install:
-       $(INSTALLDIR) $(BINDIR)
-       $(INSTALLBIN) pwm3 $(BINDIR)
+_install: executable_install
        $(INSTALLDIR) $(PWM_ETCDIR)
        for i in $(ETC); do \
                $(INSTALL) -m $(DATA_MODE) $$i $(PWM_ETCDIR); \
index 422bb4011df1d53d54c2c087aaed82626894040a..0f38cbbb2c1d29ba3b6620441e25e02fb34df757 100644 (file)
--- a/pwm/pwm.c
+++ b/pwm/pwm.c
@@ -98,8 +98,8 @@ int main(int argc, char*argv[])
     
     libtu_init(argv[0]);
 
-#ifdef CF_RELOCATABLE_PWM3_LOCATION
-    prefix_set(argv[0], CF_RELOCATABLE_PWM3_LOCATION);
+#ifdef CF_RELOCATABLE_BIN_LOCATION
+    prefix_set(argv[0], CF_RELOCATABLE_BIN_LOCATION);
 #endif
 
     localedir=prefix_add(LOCALEDIR);
index b592858f220ac613685ea089e3c206afcd488153..11996f48c66d9ee02be7008a69a1786cee258710 100644 (file)
--- a/system.mk
+++ b/system.mk
@@ -38,6 +38,9 @@ VARDIR=/var/cache/ion3
 # Message catalogs
 LOCALEDIR=$(PREFIX)/share/locale
 
+# Executable suffix (for Cygwin).
+#BIN_SUFFIX = .exe
+
 
 ##
 ## Modules
@@ -131,6 +134,9 @@ DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND
 # monotonic clock at all (which Ion can live with, and usually detect).
 EXTRA_LIBS += -lrt
 
+# Cygwin needs this.
+#DEFINES += -DCF_NO_GETLOADAVG
+
 
 #
 # If you're using/have gcc, it is unlikely that you need to modify
index 8491638d96ee35bad1e948caa9ccd73040b6ac49..f2e553ca2d483a6cdc1ebbb5e794b65bb71ec70d 100644 (file)
@@ -8,13 +8,13 @@ include $(TOPDIR)/build/system-inc.mk
 
 ######################################
 
-LIBS += $(LIBTU_LIBS)
-INCLUDES += $(LIBTU_INCLUDES)
-CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
+EXTRA_EXECUTABLE = ion-completefile
 
 SOURCES=ion-completefile.c
 
-TARGETS=ion-completefile
+LIBS += $(LIBTU_LIBS)
+INCLUDES += $(LIBTU_INCLUDES)
+CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
 
 ######################################
 
@@ -22,9 +22,4 @@ include $(TOPDIR)/build/rules.mk
 
 ######################################
 
-ion-completefile: $(SOURCES)
-       $(CC) $< $(CFLAGS) $(LDFLAGS) -o $@
-
-_install:
-       $(INSTALLDIR) $(EXTRABINDIR)
-       $(INSTALLBIN) ion-completefile $(EXTRABINDIR)
+_install: executable_install
index 0a0afac6e14409def5e48453e31a1546952a7b21..8e5da544ac7ace80f7ae1f2c27645ae52423af88 100644 (file)
@@ -8,19 +8,18 @@ include $(TOPDIR)/build/system-inc.mk
 
 ######################################
 
+EXTRA_EXECUTABLE = ion-statusd
+
+SOURCES = ion-statusd.c exec.c extlrx.c
+
 INCLUDES += $(LIBMAINLOOP_INCLUDES) $(LIBEXTL_INCLUDES) $(LIBTU_INCLUDES)
 LIBS += $(LIBMAINLOOP_LIBS) $(LIBEXTL_LIBS) $(LIBTU_LIBS) $(LUA_LIBS) $(DL_LIBS) -lm
 CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
 
 DEFINES += -DETCDIR=\"$(ETCDIR)\" -DSHAREDIR=\"$(SHAREDIR)\" \
            -DEXTRABINDIR=\"$(EXTRABINDIR)\" -DMODULEDIR=\"$(MODULEDIR)\" \
-          -DLCDIR=\"$(LCDIR)\" -DLOCALEDIR=\"$(LOCALEDIR)\" \
-           -DSTATUSD_LOCATION=\"$(EXTRABINDIR)/ion-statusd\"
+          -DLCDIR=\"$(LCDIR)\" -DLOCALEDIR=\"$(LOCALEDIR)\"
            
-SOURCES = ion-statusd.c exec.c extlrx.c
-
-TARGETS = ion-statusd
-
 LUA_SOURCES = statusd_date.lua statusd_mail.lua statusd_load.lua
 
 MAKE_EXPORTS = statusd
@@ -33,9 +32,4 @@ include $(TOPDIR)/build/rules.mk
 
 ######################################
 
-ion-statusd: $(OBJS) $(EXT_OBJS)
-       $(CC) $(OBJS) $(EXT_OBJS) $(LDFLAGS) -o $@
-
-_install: lc_install
-       $(INSTALLDIR) $(EXTRABINDIR)
-       $(INSTALLBIN) ion-statusd $(EXTRABINDIR)
+_install: lc_install executable_install
index 3270cb86ce8ccc30db6af51265c8537bb7ca42c5..d15f0ab1332860307ee7e1f2140e3b27ee591cc1 100644 (file)
@@ -3,10 +3,7 @@
  *
  * Copyright (c) Tuomo Valkonen 2005-2008. 
  *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
  */
 
 
index d7d1fb5dc7c9c862bfec7d93db1415d9c590d9f4..ce67bf0eaac2988c0547461adda4221e87a818ea 100644 (file)
@@ -3,10 +3,7 @@
  *
  * Copyright (c) Tuomo Valkonen 2004-2008.
  *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
  */
 
 #include <libextl/extl.h>
index 640274629ac778e5395043b07bafe27f0b5c4302..5aa02c068ff6687cb4ad155c8ee97b0dffdf1fea 100644 (file)
@@ -3,10 +3,7 @@
  *
  * Copyright (c) Tuomo Valkonen 2004-2008.
  *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
  */
 
 #include <string.h>
@@ -69,15 +66,15 @@ static const char statusd_copy[]=
 
 
 static const char statusd_license[]=DUMMY_TR(
-    "This program is free software; you can redistribute it and/or\n"
-    "modify it under the terms of the GNU Lesser General Public\n"
-    "License as published by the Free Software Foundation; either\n"
-    "version 2.1 of the License, or (at your option) any later version.\n"
+    "This software is licensed under the GNU Lesser General Public License\n"
+    "(LGPL), version 2.1, extended with terms applying to the use of the name\n"
+    "of the project, Ion(tm), unless otherwise indicated in components taken\n"
+    "from elsewhere. For details, see the file LICENSE that you should have\n"
+    "received with this software.\n"
     "\n"
     "This program is distributed in the hope that it will be useful,\n"
     "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-    "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
-    "Lesser General Public License for more details.\n");
+    "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"); 
 
 
 /* new_informs=TRUE because we should always print period when 
@@ -161,8 +158,8 @@ int main(int argc, char*argv[])
     
     libtu_init(argv[0]);
 
-#ifdef STATUSD_LOCATION
-    prefix_set(argv[0], STATUSD_LOCATION);
+#ifdef CF_RELOCATABLE_BIN_LOCATION
+    prefix_set(argv[0], CF_RELOCATABLE_BIN_LOCATION);
 #endif
 
     extl_init();
@@ -300,6 +297,7 @@ EXTL_EXPORT
 ExtlTab statusd_getloadavg()
 {
     ExtlTab t=extl_create_table();
+#ifndef CF_NO_GETLOADAVG
     double l[3];
     int n;
     
@@ -311,7 +309,7 @@ ExtlTab statusd_getloadavg()
         extl_table_sets_d(t, "5min", l[1]);
     if(n>=3)
         extl_table_sets_d(t, "15min", l[2]);
-        
+#endif
     return t;
 }
 
index 6f048c7d5a6f25af7e28d13ecd173a7f66402646..8672088de3cb14753be8c1e54372f583c44d5e07 100644 (file)
@@ -3,10 +3,7 @@
 -- 
 -- Copyright (c) Tuomo Valkonen 2004-2008.
 --
--- Ion is free software; you can redistribute it and/or modify it under
--- the terms of the GNU Lesser General Public License as published by
--- the Free Software Foundation; either version 2.1 of the License, or
--- (at your option) any later version.
+-- See the included file LICENSE for details.
 --
 
 
index 104b07a27f15bb0cd22715c9de342617f6d1be8c..b9d6feab4dfbf2ae21605ee29d32e3da0a6789bd 100644 (file)
@@ -3,10 +3,7 @@
 -- 
 -- Copyright (c) Tuomo Valkonen 2004-2008.
 --
--- Ion is free software; you can redistribute it and/or modify it under
--- the terms of the GNU Lesser General Public License as published by
--- the Free Software Foundation; either version 2.1 of the License, or
--- (at your option) any later version.
+-- See the included file LICENSE for details.
 --
 
 --
index 48406a4eb111b694a32cd9cb8cb1a5c1a1e2dccd..e332dbc7b1e51d201b403972f78879c5b9a13ef0 100644 (file)
@@ -3,10 +3,7 @@
 -- 
 -- Copyright (c) Tuomo Valkonen 2004-2008.
 --
--- Ion is free software; you can redistribute it and/or modify it under
--- the terms of the GNU Lesser General Public License as published by
--- the Free Software Foundation; either version 2.1 of the License, or
--- (at your option) any later version.
+-- See the included file LICENSE for details.
 --
 
 -- The keyword for this monitor
index 10af9dd3953cc23abf76cb51ff77614c7fe8b742..d3cf12573cef487fb56a909a1b5b7d1f2a799ca3 100644 (file)
--- a/version.h
+++ b/version.h
@@ -1,3 +1,3 @@
-#define ION_RELEASE "3rc-20080103"
+#define ION_RELEASE "3-20080207"
 #define ION_VERSION ION_RELEASE
 #define ION_API_VERSION "3"