annotate README @ 13:eb97cafe34e5

Try to prevent messages from being chopped up into multiple notifications Read data into a buffer and only send a notification when 250ms have passed since the first read instead of sending a notification immediately after each read. This is an attempt to prevent messages from being chopped up into multiple notifications. A (rather negligible) downside of this approach is that multiple messages rapidly following each other are coalesced into a single notification.
author Guido Berhoerster <guido+xwrited@berhoerster.name>
date Mon, 16 Mar 2015 23:54:20 +0100
parents 1ec432967d62
children 4a5330979433
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
1 xwrited
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
2 =======
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
3
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
4 The xwrited utility displays write(1) and wall(1) messages as desktop
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
5 notifications. A notification daemon compliant to the freedesktop.org Desktop
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
6 Notification Specification draft needs to be running in order to display the
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
7 notifications.
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
8
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
9 Build Instructions
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
10 ------------------
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
11
10
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
12 xwrited requires a POSIX:2004 compatible operating system, it has been tested
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
13 to work on Linux distributions, FreeBSD, NetBSD, and Solaris and
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
14 Illumos-derived distributions. The following tools and shared libraries are
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
15 required to build xwrited:
4
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
16
10
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
17 - GNU make >= 3.81
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
18 - GNU or BSD install
4
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
19 - GLib version 2.26 or later
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
20 - the D-Bus GLib bindings for GLib < 2.25.5
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
21 - libutempter on Linux and FreeBSD < 9.0
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
22
10
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
23 Rebuilding the man pages additionally requires the xsltproc tool from libxml2.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
24
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
25 Before building xwrited check the commented macros in the Makefile for any
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
26 macros you may need to override depending on the used toolchain and operating
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
27 system.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
28
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
29 By default, all files will be installed under the "/usr/local" directory, a
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
30 different installation path prefix can be set via the `prefix` macro. In
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
31 addition, a second path prefix can be specified via the `DESTDIR` macro which
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
32 will be prepended to any path, incuding the `prefix` macro path prefix. In
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
33 contrast to `prefix`, the path specified via the `DESTDIR` macro will only be
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
34 prepended to paths during installation and not be used for constructing
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
35 internal paths.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
36
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
37 The following instructions assume that `make` is GNU make, on some platforms
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
38 it may be installed under a different name or a non-default path. In order to
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
39 start the build process run `make all`. After a successful build, run `make
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
40 install` to install the program, any associated data files and the
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
41 documentation.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
42
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
43 Previously built binaries, object files, generated data files and
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
44 documentation can be removed by running `make clean`, any additional,
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
45 generated files which are not removed by the `clean` target can be removed by
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
46 running `make clobber`.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
47
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
48 Contact
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
49 -------
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
50
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
51 Please send any feedback, translations or bug reports via email to
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
52 <guido+xwrited@berhoerster.name>.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
53
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
54 Bug Reports
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
55 -----------
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
56
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
57 When sending bug reports, please always mention the exact version of xwrited
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
58 with which the issue occurs as well as the version of the operating system you
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
59 are using and make sure that you provide sufficient information to reproduce
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
60 the issue and include any input, output, any error messages.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
61
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
62 In case of build issues, please also specify the implementations and versions
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
63 of the tools and shared libraries used to build the program, in particular the
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
64 compiler.
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
65
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
66 In case of crashes, please generate a stack trace with a suitable debugger
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
67 such as gdb, lldb, dbx, or debug after a crash has occurred either by
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
68 examining the resulting core file or by running the program from the debugger
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
69 and attach it to the bug report. In order to generate a meaningful stack
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
70 trace the program as well as any dynamically linked libraries need to be built
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
71 with debugging information, see the documentation of the used compiler for the
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
72 required compiler flags. If any of the dynamically linked shared libraries do
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
73 not contain debugging information, please either install debugging information
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
74 for these libraries using mechanisms provided by your operating system or
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
75 rebuild the libraries accordingly. Please refer to the documentation of the
1ec432967d62 Improve README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents: 4
diff changeset
76 debugger for detailed instructions on generating backtraces.
4
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
77
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
78 License
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
79 -------
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
80
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
81 Except otherwise noted, all files are Copyright (C) 2014 Guido Berhoerster and
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
82 distributed under the following license terms:
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
83
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
84 Copyright (C) 2014 Guido Berhoerster <guido+xwrited@berhoerster.name>
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
85
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
86 Permission is hereby granted, free of charge, to any person obtaining
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
87 a copy of this software and associated documentation files (the
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
88 "Software"), to deal in the Software without restriction, including
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
89 without limitation the rights to use, copy, modify, merge, publish,
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
90 distribute, sublicense, and/or sell copies of the Software, and to
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
91 permit persons to whom the Software is furnished to do so, subject to
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
92 the following conditions:
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
93
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
94 The above copyright notice and this permission notice shall be included
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
95 in all copies or substantial portions of the Software.
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
96
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
97 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
98 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
99 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
100 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
101 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
102 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
f219f96f07c2 Add README file
Guido Berhoerster <guido+xwrited@berhoerster.name>
parents:
diff changeset
103 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.