diff -rupN ratpoison/src/actions.c ratpoison-dev/src/actions.c --- ratpoison/src/actions.c 2009-12-11 09:33:27.000000000 -0800 +++ ratpoison-dev/src/actions.c 2009-12-11 09:33:56.000000000 -0800 @@ -1402,6 +1402,7 @@ cmd_rename (int interactive UNUSED, stru free (current_window()->user_name); current_window()->user_name = xstrdup (ARG_STRING(0)); current_window()->named = 1; + hook_run (&rp_title_changed_hook); /* Update the program bar. */ update_window_names (current_screen(), defaults.window_fmt); diff -rupN ratpoison/src/events.c ratpoison-dev/src/events.c --- ratpoison/src/events.c 2009-12-11 09:33:27.000000000 -0800 +++ ratpoison-dev/src/events.c 2009-12-11 09:33:56.000000000 -0800 @@ -624,8 +624,10 @@ property_notify (XEvent *ev) { case XA_WM_NAME: PRINT_DEBUG (("updating window name\n")); - if (update_window_name (win)) + if (update_window_name (win)) { update_window_names (win->scr, defaults.window_fmt); + hook_run (&rp_title_changed_hook); + } break; case XA_WM_NORMAL_HINTS: diff -rupN ratpoison/src/globals.c ratpoison-dev/src/globals.c --- ratpoison/src/globals.c 2009-12-11 09:33:27.000000000 -0800 +++ ratpoison-dev/src/globals.c 2009-12-11 09:33:56.000000000 -0800 @@ -231,6 +231,7 @@ LIST_HEAD (rp_switch_screen_hook); LIST_HEAD (rp_quit_hook); LIST_HEAD (rp_restart_hook); LIST_HEAD (rp_delete_window_hook); +LIST_HEAD (rp_title_changed_hook); struct rp_hook_db_entry rp_hook_db[]= {{"key", &rp_key_hook}, @@ -241,6 +242,7 @@ struct rp_hook_db_entry rp_hook_db[]= {"deletewindow", &rp_delete_window_hook}, {"quit", &rp_quit_hook}, {"restart", &rp_restart_hook}, + {"titlechanged", &rp_title_changed_hook}, {NULL, NULL}}; void diff -rupN ratpoison/src/globals.h ratpoison-dev/src/globals.h --- ratpoison/src/globals.h 2009-12-11 09:33:27.000000000 -0800 +++ ratpoison-dev/src/globals.h 2009-12-11 09:33:56.000000000 -0800 @@ -181,6 +181,7 @@ extern struct list_head rp_switch_screen extern struct list_head rp_delete_window_hook; extern struct list_head rp_quit_hook; extern struct list_head rp_restart_hook; +extern struct list_head rp_title_changed_hook; extern struct rp_hook_db_entry rp_hook_db[];