diff options
author | sabetts <sabetts> | 2001-09-21 09:47:23 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2001-09-21 09:47:23 +0000 |
commit | 227c0da67ae7e8d1531d8091fa6a8c2046f61a52 (patch) | |
tree | 36f682e047fabb07a0e6b20e1ac4963d00291341 /src/events.c | |
parent | b953c9d532846ce07cbe1d065c9c30cf40d8903b (diff) | |
download | ratpoison-227c0da67ae7e8d1531d8091fa6a8c2046f61a52.zip |
* src/split.h (find_frame_up): new prototype
(find_frame_down): likewise
(find_frame_left): likewise
(find_frame_right): likewise
* src/split.c (find_frame_up): new function
(find_frame_down): likewise
(find_frame_left): likewise
(find_frame_right): likewise
* src/manage.c (move_window): use x11 gravity constants to denote
gravity.
* src/main.c (ratpoison_longopts): remove --kill and
--restart. Dependant code updated.
(init_defaults): use x11 gravity constants to denote gravity.
(main): only display the startup message if
defaults.startup_message is on.
* src/list.c (update_window_gravity): rename from
update_window_position. dependant code updated
* src/events.c (client_msg): don't test for restart or kill client
messages.
(client_msg): properly handle iconify requests.
(get_event): kill and restart the process here.
* src/data.h (TOP_LEFT): remove define
(TOP_CENTER): likewise
(TOP_RIGHT): likewise
(CENTER_LEFT): likewise
(CENTER_CENTER): likewise
(CENTER_RIGHT): likewise
(BOTTOM_LEFT): likewise
(BOTTOM_CENTER): likewise
(BOTTOM_RIGHT): likewise
(struct rp_window): rename field to position to gravity.
(struct rp_defaults): rename win_pos to win_gravity, trans_pos to
trans_gravity and maxsize_pos to maxsize_gravity.
(rp_restart): remove global variable
(rp_kill): likewise
* src/communications.h (send_kill): remove prototype
(send_restart): likewise
* src/communications.c (send_restart): remove function. obsolete.
(send_kill): likewise
* src/bar.c (bar_x): Use X11 gravity constants to denote location.
(bar_y): likewise
* src/actions.h (cmd_focusup): new prototype
(cmd_focusdown): likewise
(cmd_focusleft): likewise
(cmd_focusright): likewise
(cmd_startup_message): likewise
(cmd_restart): likewise
* src/actions.c (cmd_quit): just set the kill_signalled variable.
(parse_wingravity): use compass directions to describe the gravity
(parse_wingravity): renamed from parse_winpos. dependant code
updated.
(cmd_gravity): renamed from cmd_pos. dependant code updated.
(cmd_defwingravity): renamed from cmd_defwinpos. dependant code
updated.
(cmd_deftransgravity): renamed from cmd_deftranspos. dependant
code updated.
(cmd_defmaxsizegravity): renamed from cmd_defmaxsizepos. dependant
code updated.
(cmd_focusup): new function
(cmd_focusdown): likewise
(cmd_focusleft): likewise
(cmd_focusright): likewise
(cmd_restart): likewise
(cmd_startup_message): likewise
(user_commands): new commands "focusup" "focusdown" "focusright"
"focusleft" "startup_message" "restart".
Diffstat (limited to 'src/events.c')
-rw-r--r-- | src/events.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/events.c b/src/events.c index bcf1631..dfd4f0b 100644 --- a/src/events.c +++ b/src/events.c @@ -336,29 +336,29 @@ client_msg (XClientMessageEvent *ev) { PRINT_DEBUG ("Received client message.\n"); - if (ev->message_type == rp_restart) - { - PRINT_DEBUG ("Restarting\n"); - clean_up (); - execvp(myargv[0], myargv); - } - else if (ev->message_type == rp_kill) - { - PRINT_DEBUG ("Exiting\n"); - clean_up (); - exit (EXIT_SUCCESS); - } - else if (ev->message_type == wm_change_state) + if (ev->message_type == wm_change_state) { rp_window *win; + PRINT_DEBUG ("WM_CHANGE_STATE\n") + win = find_window (ev->window); if (win == NULL) return; if (ev->format == 32 && ev->data.l[0] == IconicState) { + /* FIXME: This means clients can hide themselves without the + user's intervention. This is bad, but Emacs is the only + program I know of that iconifies itself and this is + generally from the user pressing C-z. */ + PRINT_DEBUG ("Iconify Request.\n"); if (win->state == NormalState) { - /* TODO: Handle iconify events */ + rp_window *w = find_window_other(); + + if (w) + set_active_window (w); + else + blank_frame (rp_current_frame); } } else @@ -811,15 +811,15 @@ get_event (XEvent *ev) if (hup_signalled > 0) { - PRINT_DEBUG ("Restarting with a fresh plate.\n"); - send_restart (); + clean_up (); + execvp(myargv[0], myargv); } if (kill_signalled > 0) { - fprintf (stderr, "ratpoison: Agg! I've been SHOT!\n"); + PRINT_DEBUG ("Exiting\n"); clean_up (); - exit (EXIT_FAILURE); + exit (EXIT_SUCCESS); } /* Is there anything in the event qeue? */ |