diff options
author | Carsten Haitzler <raster@rasterman.com> | 2004-11-25 03:26:33 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2004-11-25 03:26:33 +0000 |
commit | f2b45ed47126d12986591cb02a6fcfc5908255fe (patch) | |
tree | 804d8188540af5d13facb6610f7562899ff91f03 /lib | |
parent | ff8aa3508118dfbd220c767587896a7fbce41bea (diff) | |
download | enlightenment-f2b45ed47126d12986591cb02a6fcfc5908255fe.tar.gz enlightenment-f2b45ed47126d12986591cb02a6fcfc5908255fe.tar.xz enlightenment-f2b45ed47126d12986591cb02a6fcfc5908255fe.zip |
bye bye!
SVN revision: 12246
Diffstat (limited to 'lib')
-rw-r--r-- | lib/.cvsignore | 7 | ||||
-rw-r--r-- | lib/Makefile.am | 20 | ||||
-rw-r--r-- | lib/e_hack.c | 206 | ||||
-rw-r--r-- | lib/e_hack.h | 12 |
4 files changed, 0 insertions, 245 deletions
diff --git a/lib/.cvsignore b/lib/.cvsignore deleted file mode 100644 index ba1f2cb3d..000000000 --- a/lib/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -libehack.la -e_hack.lo -Makefile.in -Makefile -.libs -.deps - diff --git a/lib/Makefile.am b/lib/Makefile.am deleted file mode 100644 index f17b907e0..000000000 --- a/lib/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -## Process this file with automake to produce Makefile.in - -AUTOMAKE_OPTIONS = 1.4 foreign - -# A list of all the files in the current directory which can be regenerated -MAINTAINERCLEANFILES = Makefile.in - -LDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib -INCLUDES = -I/usr/X11R6/include -I/usr/local/include \ - $(X_CFLAGS) -I$(includedir) - -lib_LTLIBRARIES = libehack.la -include_HEADERS = -libehack_la_SOURCES = \ -e_hack.c \ -e_hack.h - -libehack_la_LIBADD = -lX11 @LIBDL@ $(LDFLAGS) -libehack_la_DEPENDENCIES = $(top_builddir)/config.h -libehack_la_LDFLAGS = -version-info 0:1:0 diff --git a/lib/e_hack.c b/lib/e_hack.c deleted file mode 100644 index 341fb9ee9..000000000 --- a/lib/e_hack.c +++ /dev/null @@ -1,206 +0,0 @@ -#include "config.h" -#include "e_hack.h" - -/* prototypes */ -static void __e_hack_set_properties(Display *display, Window window); - -/* dlopened xlib so we can find the symbols in the real xlib to call them */ -static void *lib_xlib = NULL; - -/* the function that actually sets the properties on toplevel window */ -static void -__e_hack_set_properties(Display *display, Window window) -{ - static Atom a_launch_id = 0; - static Atom a_launch_path = 0; - static Atom a_user_id = 0; - static Atom a_process_id = 0; - static Atom a_p_process_id = 0; - static Atom a_machine_name = 0; - static Atom a_user_name = 0; - char *env = NULL; - - if (!a_launch_id) a_launch_id = XInternAtom(display, "_E_HACK_LAUNCH_ID", False); - if (!a_launch_path) a_launch_path = XInternAtom(display, "_E_HACK_LAUNCH_PATH", False); - if (!a_user_id) a_user_id = XInternAtom(display, "_E_HACK_USER_ID", False); - if (!a_process_id) a_process_id = XInternAtom(display, "_E_HACK_PROCESS_ID", False); - if (!a_p_process_id) a_p_process_id = XInternAtom(display, "_E_HACK_PARENT_PROCESS_ID", False); - if (!a_machine_name) a_machine_name = XInternAtom(display, "_E_HACK_MACHINE_NAME", False); - if (!a_user_name) a_user_name = XInternAtom(display, "_E_HACK_USER_NAME", False); - - if ((env = getenv("E_HACK_LAUNCH_ID"))) - XChangeProperty(display, window, a_launch_id, XA_STRING, 8, PropModeReplace, env, strlen(env)); - if ((env = getenv("E_HACK_LAUNCH_PATH"))) - XChangeProperty(display, window, a_launch_path, XA_STRING, 8, PropModeReplace, env, strlen(env)); - { - uid_t uid; - pid_t pid, ppid; - struct utsname ubuf; - char buf[4096]; - - uid = getuid(); - pid = getpid(); - ppid = getppid(); - - snprintf(buf, sizeof(buf), "%i", uid); - XChangeProperty(display, window, a_user_id, XA_STRING, 8, PropModeReplace, buf, strlen(buf)); - snprintf(buf, sizeof(buf), "%i", pid); - XChangeProperty(display, window, a_process_id, XA_STRING, 8, PropModeReplace, buf, strlen(buf)); - snprintf(buf, sizeof(buf), "%i", ppid); - XChangeProperty(display, window, a_p_process_id, XA_STRING, 8, PropModeReplace, buf, strlen(buf)); - if (!uname(&ubuf)) - { - snprintf(buf, sizeof(buf), "%s", ubuf.nodename); - XChangeProperty(display, window, a_machine_name, XA_STRING, 8, PropModeReplace, buf, strlen(buf)); - } - else - XChangeProperty(display, window, a_machine_name, XA_STRING, 8, PropModeReplace, " ", 1); - } - if ((env = getenv("USER"))) - XChangeProperty(display, window, a_user_name, XA_STRING, 8, PropModeReplace, env, strlen(env)); -} - -/* XCreateWindow intercept hack */ -Window -XCreateWindow( - Display *display, - Window parent, - int x, int y, - unsigned int width, unsigned int height, - unsigned int border_width, - int depth, - unsigned int class, - Visual *visual, - unsigned long valuemask, - XSetWindowAttributes *attributes - ) -{ - static Window (*func) - ( - Display *display, - Window parent, - int x, int y, - unsigned int width, unsigned int height, - unsigned int border_width, - int depth, - unsigned int class, - Visual *visual, - unsigned long valuemask, - XSetWindowAttributes *attributes - ) = NULL; - int i; - - /* find the real Xlib and the real X function */ - if (!lib_xlib) lib_xlib = dlopen("libX11.so", RTLD_GLOBAL | RTLD_LAZY); - if (!func) func = dlsym (lib_xlib, "XCreateWindow"); - - /* multihead screen handling loop */ - for (i = 0; i < ScreenCount(display); i++) - { - /* if the window is created as a toplevel window */ - if (parent == RootWindow(display, i)) - { - Window window; - - /* create it */ - window = (*func) (display, parent, x, y, width, height, - border_width, depth, class, visual, valuemask, - attributes); - /* set properties */ - __e_hack_set_properties(display, window); - /* return it */ - return window; - } - } - /* normal child window - create as usual */ - return (*func) (display, parent, x, y, width, height, border_width, depth, - class, visual, valuemask, attributes); -} - -/* XCreateSimpleWindow intercept hack */ -Window -XCreateSimpleWindow( - Display *display, - Window parent, - int x, int y, - unsigned int width, unsigned int height, - unsigned int border_width, - unsigned long border, - unsigned long background - ) -{ - static Window (*func) - ( - Display *display, - Window parent, - int x, int y, - unsigned int width, unsigned int height, - unsigned int border_width, - unsigned long border, - unsigned long background - ) = NULL; - int i; - - /* find the real Xlib and the real X function */ - if (!lib_xlib) lib_xlib = dlopen("libX11.so", RTLD_GLOBAL | RTLD_LAZY); - if (!func) func = dlsym (lib_xlib, "XCreateSimpleWindow"); - - /* multihead screen handling loop */ - for (i = 0; i < ScreenCount(display); i++) - { - /* if the window is created as a toplevel window */ - if (parent == RootWindow(display, i)) - { - Window window; - - /* create it */ - window = (*func) (display, parent, x, y, width, height, - border_width, border, background); - /* set properties */ - __e_hack_set_properties(display, window); - /* return it */ - return window; - } - } - /* normal child window - create as usual */ - return (*func) (display, parent, x, y, width, height, - border_width, border, background); -} - -/* XReparentWindow intercept hack */ -int -XReparentWindow( - Display *display, - Window window, - Window parent, - int x, int y - ) -{ - static int (*func) - ( - Display *display, - Window window, - Window parent, - int x, int y - ) = NULL; - int i; - - /* find the real Xlib and the real X function */ - if (!lib_xlib) lib_xlib = dlopen("libX11.so", RTLD_GLOBAL | RTLD_LAZY); - if (!func) func = dlsym (lib_xlib, "XReparentWindow"); - - /* multihead screen handling loop */ - for (i = 0; i < ScreenCount(display); i++) - { - /* if the window is created as a toplevel window */ - if (parent == RootWindow(display, i)) - { - /* set properties */ - __e_hack_set_properties(display, window); - /* reparent it */ - return (*func) (display, window, parent, x, y); - } - } - /* normal child window reparenting - reparent as usual */ - return (*func) (display, window, parent, x, y); -} diff --git a/lib/e_hack.h b/lib/e_hack.h deleted file mode 100644 index a2948c95d..000000000 --- a/lib/e_hack.h +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <dlfcn.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/utsname.h> -#include <X11/Xlib.h> -#include <X11/X.h> -#include <X11/Xatom.h> |