summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/Makefile.am5
-rw-r--r--util/fluxbox-remote.cc49
2 files changed, 53 insertions, 1 deletions
diff --git a/util/Makefile.am b/util/Makefile.am
index 263c456..2033608 100644
--- a/util/Makefile.am
+++ b/util/Makefile.am
@@ -2,13 +2,14 @@
2SUBDIRS= fbrun 2SUBDIRS= fbrun
3INCLUDES= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk 3INCLUDES= -I$(top_srcdir)/src -I$(top_srcdir)/src/FbTk
4bin_SCRIPTS= fbsetbg fluxbox-generate_menu startfluxbox 4bin_SCRIPTS= fbsetbg fluxbox-generate_menu startfluxbox
5bin_PROGRAMS= fbsetroot fluxbox-update_configs 5bin_PROGRAMS= fbsetroot fluxbox-update_configs fluxbox-remote
6fbsetroot_SOURCES= fbsetroot.cc fbsetroot.hh 6fbsetroot_SOURCES= fbsetroot.cc fbsetroot.hh
7fbsetroot_LDADD=../src/FbRootWindow.o ../src/FbAtoms.o \ 7fbsetroot_LDADD=../src/FbRootWindow.o ../src/FbAtoms.o \
8 ../src/FbTk/libFbTk.a 8 ../src/FbTk/libFbTk.a
9fluxbox_update_configs_SOURCES= fluxbox-update_configs.cc 9fluxbox_update_configs_SOURCES= fluxbox-update_configs.cc
10fluxbox_update_configs_LDADD= ../src/defaults.o ../src/Resources.o \ 10fluxbox_update_configs_LDADD= ../src/defaults.o ../src/Resources.o \
11 ../src/FbTk/libFbTk.a 11 ../src/FbTk/libFbTk.a
12fluxbox_remote_SOURCES= fluxbox-remote.cc
12 13
13MAINTAINERCLEANFILES= Makefile.in 14MAINTAINERCLEANFILES= Makefile.in
14EXTRA_DIST= fbsetbg fluxbox-generate_menu.in \ 15EXTRA_DIST= fbsetbg fluxbox-generate_menu.in \
@@ -28,6 +29,8 @@ fbsetroot.o: fbsetroot.cc ../config.h $(srcdir)/fbsetroot.hh \
28fluxbox-update_configs.o: fluxbox-update_configs.cc ../config.h \ 29fluxbox-update_configs.o: fluxbox-update_configs.cc ../config.h \
29 $(top_srcdir)/src/defaults.hh 30 $(top_srcdir)/src/defaults.hh
30 31
32fluxbox-remote.o: fluxbox-remote.cc
33
31startfluxbox: startfluxbox.in 34startfluxbox: startfluxbox.in
32 @regex_cmd@ -e "s,@pkgdatadir@,$(pkgdatadir),g" \ 35 @regex_cmd@ -e "s,@pkgdatadir@,$(pkgdatadir),g" \
33 -e "s,@pkgbindir@,$(bindir),g" \ 36 -e "s,@pkgbindir@,$(bindir),g" \
diff --git a/util/fluxbox-remote.cc b/util/fluxbox-remote.cc
new file mode 100644
index 0000000..eb7a413
--- /dev/null
+++ b/util/fluxbox-remote.cc
@@ -0,0 +1,49 @@
1// fluxbox-remote.cc
2// Copyright (c) 2007 Fluxbox Team (fluxgen at fluxbox dot org)
3//
4// Permission is hereby granted, free of charge, to any person obtaining a
5// copy of this software and associated documentation files (the "Software"),
6// to deal in the Software without restriction, including without limitation
7// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8// and/or sell copies of the Software, and to permit persons to whom the
9// Software is furnished to do so, subject to the following conditions:
10//
11// The above copyright notice and this permission notice shall be included in
12// all copies or substantial portions of the Software.
13//
14// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE.
21
22// $Id$
23
24#include <X11/Xlib.h>
25#include <X11/Xatom.h>
26#include <string.h>
27
28int main(int argc, char **argv) {
29
30 if (argc <= 1)
31 return 1;
32
33 Display *disp = XOpenDisplay(NULL);
34 if (!disp)
35 return 1;
36
37 Atom fbcmd_atom = XInternAtom(disp, "_FLUXBOX_COMMAND", False);
38 Window root = DefaultRootWindow(disp);
39
40 char *str = argv[1];
41 int ret = XChangeProperty(disp, root, fbcmd_atom,
42 XA_STRING, 8, PropModeReplace,
43 (unsigned char *) str, strlen(str));
44 XCloseDisplay(disp);
45
46 if (ret == Success)
47 return 0;
48 return 1;
49}