diff options
author | Havoc Pennington <hp@redhat.com> | 2002-10-25 22:44:59 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2002-10-25 22:44:59 +0000 |
commit | 7d7d6c683875d78f4f594aa59692ba5d880d8eb7 (patch) | |
tree | f781763716fd1dfe89076941b5e814479e66643a | |
parent | 8f61892d31087d67443e0b2ca795c9db49237704 (diff) | |
download | startup-notification-7d7d6c683875d78f4f594aa59692ba5d880d8eb7.tar.gz |
fix -I flag
new function (sn_startup_sequence_get_last_active_time): new function
-DSN_API_NOT_YET_FROZEN=1
put in the little API-not-frozen warning.
rename to "libstartup-notification" instead of "libsn"
-rw-r--r-- | ChangeLog | 22 | ||||
-rw-r--r-- | Makefile.am | 4 | ||||
-rwxr-xr-x | autogen.sh | 2 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | libsn-1.0.pc.in | 11 | ||||
-rw-r--r-- | libsn/Makefile.am | 10 | ||||
-rw-r--r-- | libsn/sn-common.c | 6 | ||||
-rw-r--r-- | libsn/sn-common.h | 16 | ||||
-rw-r--r-- | libsn/sn-internals.h | 4 | ||||
-rw-r--r-- | libsn/sn-monitor.c | 49 | ||||
-rw-r--r-- | libsn/sn-monitor.h | 7 | ||||
-rw-r--r-- | libsn/sn-xutils.c | 2 | ||||
-rw-r--r-- | libstartup-notification-1.0.pc.in | 11 | ||||
-rw-r--r-- | test/Makefile.am | 2 |
14 files changed, 110 insertions, 38 deletions
@@ -1,5 +1,27 @@ +2002-10-25 Havoc Pennington <hp@pobox.com> + + * libstartup-notification-1.0.pc.in (Cflags): fix -I flag + + * libsn/sn-monitor.c (sn_startup_sequence_get_initiated_time): new + function + (sn_startup_sequence_get_last_active_time): new function + +2002-10-24 Havoc Pennington <hp@pobox.com> + + * test/Makefile.am (INCLUDES): -DSN_API_NOT_YET_FROZEN=1 + + * libsn/sn-common.h: put in the little API-not-frozen warning. + + * libsn/Makefile.am, configure.in, autogen.sh: rename to + "libstartup-notification" instead of "libsn" + 2002-10-23 Havoc Pennington <hp@pobox.com> + * libsn/sn-common.h (SnLaunchType): remove + + * libsn/sn-common.c (sn_display_get_x_screen): make it + sn_internal_display_get_x_screen + * Makefile.am: add .pc file to Makefile 2002-10-23 Havoc Pennington <hp@redhat.com> diff --git a/Makefile.am b/Makefile.am index 69588f9..b525fa3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,8 +1,8 @@ SUBDIRS=libsn test -EXTRA_DIST=libsn-1.0.pc.in +EXTRA_DIST=libstartup-notification-1.0.pc.in pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libsn-1.0.pc +pkgconfig_DATA = libstartup-notification-1.0.pc @@ -9,7 +9,7 @@ cd $srcdir PROJECT=startup-notification TEST_TYPE=-f -FILE=libsn-1.0.pc.in +FILE=libstartup-notification-1.0.pc.in DIE=0 diff --git a/configure.in b/configure.in index a8047c3..d8a7018 100644 --- a/configure.in +++ b/configure.in @@ -85,5 +85,5 @@ AC_OUTPUT([ Makefile libsn/Makefile test/Makefile -libsn-1.0.pc +libstartup-notification-1.0.pc ]) diff --git a/libsn-1.0.pc.in b/libsn-1.0.pc.in deleted file mode 100644 index 91021dc..0000000 --- a/libsn-1.0.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libsn -Description: Launch feedback library -Version: @VERSION@ -Libs: -L${libdir} -lsn-1 -Cflags: -I${includedir}/libsn-1.0 - diff --git a/libsn/Makefile.am b/libsn/Makefile.am index be35758..ea6b06b 100644 --- a/libsn/Makefile.am +++ b/libsn/Makefile.am @@ -1,9 +1,9 @@ -INCLUDES=-I$(top_srcdir) $(LIBSN_CFLAGS) +INCLUDES=-I$(top_srcdir) $(LIBSN_CFLAGS) -DSN_API_NOT_YET_FROZEN=1 -libsnincludedir=$(includedir)/libsn-1.0/libsn +libsnincludedir=$(includedir)/startup-notification-1.0/libsn -lib_LTLIBRARIES=libsn-1.la +lib_LTLIBRARIES=libstartup-notification-1.la libsninclude_HEADERS= \ sn.h \ @@ -13,7 +13,7 @@ libsninclude_HEADERS= \ sn-monitor.h \ sn-util.h -libsn_1_la_SOURCES= \ +libstartup_notification_1_la_SOURCES= \ sn-common.c \ sn-internals.c \ sn-internals.h \ @@ -28,4 +28,4 @@ libsn_1_la_SOURCES= \ sn-xutils.c \ sn-xutils.h -libsn_1_la_LIBADD= $(LIBSN_LIBS) +libstartup_notification_1_la_LIBADD= $(LIBSN_LIBS) diff --git a/libsn/sn-common.c b/libsn/sn-common.c index 33f6237..ba50068 100644 --- a/libsn/sn-common.c +++ b/libsn/sn-common.c @@ -125,7 +125,7 @@ sn_display_get_x_display (SnDisplay *display) } /** - * sn_display_get_x_screen: + * sn_internal_display_get_x_screen: * @display: an #SnDisplay * @number: screen number to get * @@ -135,8 +135,8 @@ sn_display_get_x_display (SnDisplay *display) * Return value: X screen or %NULL **/ Screen* -sn_display_get_x_screen (SnDisplay *display, - int number) +sn_internal_display_get_x_screen (SnDisplay *display, + int number) { if (number < 0 || number >= display->n_screens) return NULL; diff --git a/libsn/sn-common.h b/libsn/sn-common.h index a5ba057..79366ca 100644 --- a/libsn/sn-common.h +++ b/libsn/sn-common.h @@ -31,17 +31,11 @@ SN_BEGIN_DECLS -typedef struct SnDisplay SnDisplay; - -typedef enum -{ - SN_LAUNCH_TYPE_OTHER, - SN_LAUNCH_TYPE_DOCK_ICON, - SN_LAUNCH_TYPE_DESKTOP_ICON, - SN_LAUNCH_TYPE_MENU, - SN_LAUNCH_TYPE_KEY_SHORTCUT +#ifndef SN_API_NOT_YET_FROZEN +#error "libstartup-notification should only be used if you understand that it's subject to frequent change, and is not yet supported as a fixed API/ABI or as part of the platform" +#endif -} SnLaunchType; +typedef struct SnDisplay SnDisplay; typedef void (* SnDisplayErrorTrapPush) (SnDisplay *display, Display *xdisplay); @@ -54,8 +48,6 @@ SnDisplay* sn_display_new (Display *xdisplay, void sn_display_ref (SnDisplay *display); void sn_display_unref (SnDisplay *display); Display* sn_display_get_x_display (SnDisplay *display); -Screen* sn_display_get_x_screen (SnDisplay *display, - int number); sn_bool_t sn_display_process_event (SnDisplay *display, XEvent *xevent); void sn_display_error_trap_push (SnDisplay *display); diff --git a/libsn/sn-internals.h b/libsn/sn-internals.h index 5f73c6d..7c8997a 100644 --- a/libsn/sn-internals.h +++ b/libsn/sn-internals.h @@ -49,6 +49,10 @@ SN_BEGIN_DECLS #define NULL ((void*) 0) #endif +/* --- From sn-common.c --- */ +Screen* sn_internal_display_get_x_screen (SnDisplay *display, + int number); + /* --- From sn-monitor.c --- */ sn_bool_t sn_internal_monitor_process_event (SnDisplay *display, XEvent *xevent); diff --git a/libsn/sn-monitor.c b/libsn/sn-monitor.c index ed0426d..c2ea21c 100644 --- a/libsn/sn-monitor.c +++ b/libsn/sn-monitor.c @@ -24,6 +24,7 @@ #include "sn-monitor.h" #include "sn-internals.h" #include "sn-xmessages.h" +#include <sys/time.h> struct SnMonitorContext { @@ -36,7 +37,7 @@ struct SnMonitorContext /* a context doesn't get events for sequences * started prior to context creation */ - int creation_serial; + int creation_serial; }; struct SnMonitorEvent @@ -70,6 +71,8 @@ struct SnStartupSequence unsigned int canceled : 1; int creation_serial; + + struct timeval initiation_time; }; static SnList *context_list = NULL; @@ -318,6 +321,46 @@ sn_startup_sequence_get_icon_name (SnStartupSequence *sequence) return sequence->icon_name; } +/** + * sn_startup_sequence_get_initiated_time: + * @sequence: an #SnStartupSequence + * @tv_sec: seconds as in struct timeval + * @tv_usec: microseconds as struct timeval + * + * When a startup sequence is first monitored, libstartup-notification + * calls gettimeofday() and records the time, this function + * returns that recorded time. + * + **/ +void +sn_startup_sequence_get_initiated_time (SnStartupSequence *sequence, + long *tv_sec, + long *tv_usec) +{ + *tv_sec = sequence->initiation_time.tv_sec; + *tv_usec = sequence->initiation_time.tv_usec; +} + +/** + * sn_startup_sequence_get_last_active_time: + * @sequence: an #SnStartupSequence + * @tv_sec: seconds as in struct timeval + * @tv_usec: microseconds as in struct timeval + * + * Returns the last time we had evidence the startup was active. + * This function should be used to decide whether a sequence + * has timed out. + * + **/ +void +sn_startup_sequence_get_last_active_time (SnStartupSequence *sequence, + long *tv_sec, + long *tv_usec) +{ + /* for now the same as get_initiated_time */ + *tv_sec = sequence->initiation_time.tv_sec; + *tv_usec = sequence->initiation_time.tv_usec; +} static SnStartupSequence* sn_startup_sequence_new (SnDisplay *display) @@ -336,6 +379,10 @@ sn_startup_sequence_new (SnDisplay *display) sn_display_ref (display); sequence->workspace = -1; /* not set */ + + sequence->initiation_time.tv_sec = 0; + sequence->initiation_time.tv_usec = 0; + gettimeofday (&sequence->initiation_time, NULL); return sequence; } diff --git a/libsn/sn-monitor.h b/libsn/sn-monitor.h index 508bb94..022f1f4 100644 --- a/libsn/sn-monitor.h +++ b/libsn/sn-monitor.h @@ -73,6 +73,13 @@ const char* sn_startup_sequence_get_wmclass (SnStartupSequence *se const char* sn_startup_sequence_get_binary_name (SnStartupSequence *sequence); const char* sn_startup_sequence_get_icon_name (SnStartupSequence *sequence); +void sn_startup_sequence_get_initiated_time (SnStartupSequence *sequence, + long *tv_sec, + long *tv_usec); +void sn_startup_sequence_get_last_active_time (SnStartupSequence *sequence, + long *tv_sec, + long *tv_usec); + SN_END_DECLS #endif /* __SN_MONITOR_H__ */ diff --git a/libsn/sn-xutils.c b/libsn/sn-xutils.c index 4bc127f..ef7f7a1 100644 --- a/libsn/sn-xutils.c +++ b/libsn/sn-xutils.c @@ -453,7 +453,7 @@ sn_internal_send_event_all_screens (SnDisplay *display, xdisplay = sn_display_get_x_display (display); i = 0; - while (sn_display_get_x_screen (display, i) != NULL) + while (sn_internal_display_get_x_screen (display, i) != NULL) { XSendEvent (xdisplay, RootWindow (xdisplay, i), diff --git a/libstartup-notification-1.0.pc.in b/libstartup-notification-1.0.pc.in new file mode 100644 index 0000000..75fbbf0 --- /dev/null +++ b/libstartup-notification-1.0.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libstartup-notification +Description: Startup notification library +Version: @VERSION@ +Libs: -L${libdir} -lstartup-notification-1 +Cflags: -I${includedir}/startup-notification-1.0 + diff --git a/test/Makefile.am b/test/Makefile.am index 2700cb8..e721dbb 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,5 +1,5 @@ -INCLUDES=$(LIBSN_CFLAGS) -I$(top_srcdir) +INCLUDES=$(LIBSN_CFLAGS) -I$(top_srcdir) -DSN_API_NOT_YET_FROZEN=1 noinst_PROGRAMS= \ test-launcher \ |