summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2005-10-20 06:21:44 +0000
committersabetts <sabetts>2005-10-20 06:21:44 +0000
commitc7b7f18ea8e839f142688ad2f2fa3e3b128abfad (patch)
treefbd16bfc8527e9842f57f798589eddd66e320238 /src/main.c
parent0f52e43fa926565b8ab1b0f95fc401e15a4bd8c7 (diff)
downloadratpoison-c7b7f18ea8e839f142688ad2f2fa3e3b128abfad.zip
* src/window.c: include unistd.h
(get_child_info): new function (add_to_window_list): get the window's client's pid if possible and assign the window the appropriate group and frame. (add_to_window_list): init intended_frame_number (save_mouse_position): save the position relative to the window (give_window_focus): restore the position relative to the window (set_active_window_body): put the window in the frame contained in intended_frame_number when appropriate. * src/screen.c (screen_find_frame_by_frame): new function (init_screen): add the net_supported atom to the root window. * src/main.c (main): init netwm atoms * src/group.c (groups_find_group_by_group): new function * src/globals.c (_net_wm_pid, _net_supported): new globals * src/data.h (struct rp_window): new field intended_frame_number. (struct rp_child_info): new fields group, frame, screen. * src/actions.c (spawn): call the command directly when new argument, raw, is non zero. all callers updated. (spawn): fill in the frame, group and screen for the child.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 123445f..7dd1f07 100644
--- a/src/main.c
+++ b/src/main.c
@@ -592,9 +592,13 @@ main (int argc, char *argv[])
/* Set ratpoison specific Atoms. */
rp_command = XInternAtom (dpy, "RP_COMMAND", False);
+ PRINT_DEBUG (("RP_COMMAND = %ld\n", rp_command));
rp_command_request = XInternAtom (dpy, "RP_COMMAND_REQUEST", False);
+ PRINT_DEBUG (("RP_COMMAND_REQUEST = %ld\n", rp_command_request));
rp_command_result = XInternAtom (dpy, "RP_COMMAND_RESULT", False);
+ PRINT_DEBUG (("RP_COMMAND_RESULT = %ld\n", rp_command_result));
rp_selection = XInternAtom (dpy, "RP_SELECTION", False);
+ PRINT_DEBUG (("RP_SELECTION = %ld\n", rp_selection));
if (cmd_count > 0)
{
@@ -624,6 +628,12 @@ main (int argc, char *argv[])
wm_take_focus = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
wm_colormaps = XInternAtom(dpy, "WM_COLORMAP_WINDOWS", False);
+ /* netwm atoms */
+ _net_wm_pid = XInternAtom(dpy, "_NET_WM_PID", False);
+ PRINT_DEBUG (("_NET_WM_PID = %ld\n", _net_wm_pid));
+ _net_supported = XInternAtom(dpy, "_NET_SUPPORTED", False);
+ PRINT_DEBUG (("_NET_SUPPORTED = %ld\n", _net_supported));
+
/* Setup signal handlers. */
XSetErrorHandler(handler);
set_sig_handler (SIGALRM, alrm_handler);