2001-02-18 shawn * conf.h: restructured comments. Added #define for AUTO_CLOSE. * manage.c (unmanage): kills ratpoison when there are no more windows. 2001-02-17 Ryan Yeske * manage.c (current_screen): Rename get_screen() and move to this file. * input.c (get_input): Remove screen_info as paramater. Call current_screen() to get screen_info. * actions.c (get_screen): Remove. 2001-02-17 Gergely Nagy <8@free.bsd.hu> * actions.c (goto_window_by_name, rename_current_window, command) (shell_command, switch_to, xterm_command): changed static char[100]s to dynamic char *s, as get_input() now supports this * input.h: reflect get_input change * input.c (get_input): use dynamically allocated strings 2001-02-15 Gergely Nagy <8@free.bsd.hu> * getopt.c: fixed a warning * events.c (handle_key): use dynamically allocated strings * bar.c (display_msg_in_bar), * sbuf.c (xrealloc): changed an fprintf to PRINT_DEBUG 2001-02-15 Ryan Yeske * list.c (save_mouse_position): changed declaration of mask to unsigned int (get_mouse_root_position): changed declaration of mask to unsigned int * actions.c (xterm_command): added new function. Thanks to Ben Leslie (user_commands): added "xterm" (key_actions): added C-t C-! binding for "xterm" * messages.h (MESSAGE_PROMPT_XTERM_COMMAND): new message 2001-02-14 Ryan Yeske * actions.h (generate_key_event): added prototype * actions.c (key_actions): added additional keybindings to include C- versions for all keys. (generate_key_event): added command 2001-02-13 Ryan Yeske * bar.c (update_window_names): get indexes around current window text to pass to display_msg_in_bar (display_msg_in_bar): xor a rectangle around the text represented by mark_start and mark_end arguments * conf.h (BAR_FG_COLOR): changed to black (BAR_BG_COLOR): changed to white (FONT_NAME): changed to 9x15bold (BAR_Y_PADDING): changed to zero (BAR_X_PADDING): changed to zero * data.h (struct screen_info): removed bold_gc * events.c (handle_key): can no longer over modify keystrokes (handle_key): updated call to display_msg_in_bar to take extra highlighting parameters. * main.c (init_screen): removed bold_color (XGCValues gv): made global * actions.h (user_command): new struct (argtype): new enumeration * actions.h: many updated prototypes * actions.c (key_actions): every command is now executed by calling command() with a string version of the command, rewrote this table to reflect that. (user_commands): new symbol table added, a mapping between strings and functions and arguments. (spawn): now handles commands with arguments by calling them through "/bin/sh -c" (get_screen): new function. * actions.c: all calls to display_msg_in_bar updated to call with 2 additional highlight parameters. * actions.c (goto_win_by_name, rename_current_window, ...): most all user functions that need arguments will prompt the user for them, unless they are supplied. Allows the same function to be used interactively or internally. * bar.h (display_msg_in_bar): updated prototype * bar.c (display_msg_in_bar): takes two additional int arguments which are offsets into the string describing which part of the text to draw highlighted. (update_window_names): highlight current window 2001-02-12 Ryan Yeske * actions.c (spawn): will now execute commands with arguments by execl'ing through /bin/sh -c 2001-02-11 Ryan Yeske * ratpoison.h: #include "sbuf.h" removed duplicate #include "messages.h" * Makefile.am (ratpoison_SOURCES): added sbuf.c sbuf.h * bar.c (calc_bar_width): removed function (update_window_names): now builds up the entire window list string in dynamic storage before printing the window list. No longer displays the current window in a different colour. 2001-02-11 shawn * main.c (set_sig_handler): Added (main): Uses set_sig_handler() instead of signal() * manage.h (set_state): Added prototype * manage.c (send_configure): Now sends the window's x,y,width,height coordinates. (set_state): Added * events.c (map_request): Calls set_state when mapping an unmapped window. * actions.c (maximize_transient): takes an rp_window as the argument. Removed code to handle void *data. Incremental resizing only happens if the maximum size isn't set. Removed actual X maximization code. (maximize): Moved meat to maximize_normal(). 2001-02-10 Ryan Yeske * ratpoison.h: #include "messages.h" * list.h (goto_window_number): moved prototype to actions.h * actions.h (goto_window_number): added prototype (goto_window): removed prototype * Makefile.am (ratpoison_SOURCES): added messages.h * actions.c (prev_window): display correct message when there is no other window or there are no windows at all. (next_window): display correct message when there is no other window or there are no windows at all. (key_actions): all number keys call goto_window_number with an argument instead of a dedicated function. (key_actions): XK_exclam now runs execute_command * actions.c: replaced all user message strings with #define'd messages. * actions.h (goto_window): removed (goto_window_0): removed (goto_window_1): removed (goto_window_2): removed (goto_window_3): removed (goto_window_4): removed (goto_window_5): removed (goto_window_6): removed (goto_window_7): removed (goto_window_8): removed 2001-02-10 shawn * communications.c (send_restart, send_kill): Added * ratpoison.h: includes communications.h * main.c (send_restart, send_kill): Moved to communications.c * list.c (get_mouse_root_position): Added (add_to_window_list): Initialize new rp_window fields (save_mouse_position): Added (set_active_window): Added code to save and restore the position of the mouse * events.c (property_notify): Added code to listen for a WM_TRANSIENT_FOR property change. * data.h (struct rp_window): Added transient, transient_for, mouse_x, mouse_y. * actions.c (maximize_transient): Added (maximize): Added code to handle transient windows differently * Makefile.am (ratpoison_SOURCES): Added communications.h and communications.c 2001-01-02 shawn * communications.c (send_restart): moved from main.c (send_kill): moved from main.c * main.c: Removed send_kill, send_restart * input.h: Added copyright notice. * input.c: Added copyright notice. * actions.c: Added copyright notice. 2001-02-04 Ryan Yeske * actions.c (prev_window): do not set active window when recursing. (next_window): do not set active window when recursing. 2001-01-28 Ryan Yeske * actions.c: changed rename_current_window key to `A', bound `a' to show_clock 2001-01-02 shawn * actions.h (show_clock): added prototype * actions.c (show_clock): added 2000-12-15 shawn * actions.c (maximize): increment size in hints->width_inc and hints->height_inc intervals * manage.c (manage): set the dimension members of the rp_window struct 2000-12-15 shawn * manage.c (manage): added ColormapChangeMask and StructureNotifyMask to events listened for on managed windows. * main.c (main): propagated changes to set_active_window usage * events.c: propagated changes to set_active_window usage * data.h (struct rp_window): Added colormap member * list.c (set_active_window): Installs colormap (set_active_window): sets rp_current_window to window passed in as parameter * actions.c (prev_window): No longer uses rp_current_window to keep track of state (next_window): No longer uses rp_current_window to keep track of state * list.c (add_to_window_list): sets member colormap to the DefaultColormap * manage.c (update_window_name): fixed memory leak. Not freeing the win->name before updating it. (manage): Gets the colormap now. * list.c (add_to_window_list): Added init code for `hints' * events.c (property_notify): Added handler for XA_WM_NORMAL_HINTS. * data.h (struct rp_window): Added XSizeHints member * actions.c (maximize): Adhere to the window's Size Hints 2000-12-14 shawn * manage.h (update_normal_hints): added prototype * manage.c (update_normal_hints): added * list.c (add_to_window_list): added comment describing function 2000-12-13 shawn * actions.c: removed gross tabs from key_actions definition. Add C-t space to go to next window. 2000-12-09 shawn * data.h (struct rp_window): added x, y, width, height, border; * events.c (configure_request): Now honours request, but then maximizes it afterwards. (configure_request): updates the rp_window's geometry fields * manage.c (manage): commented out XMoveResizeWindow call (send_configure): added * actions.h (maximize): added prototype * actions.c (maximize): added * input.c (cook_keycode): properly handle LockMask (cook_keycode): updated comments * input.h: added prototype for keysym_to_string * input.c (keysym_to_string): added * bar.c (show_bar): update_window_names(s) is called whether the bar is raised or not. * conf.h: Added BAR_Y_PADDING BAR_X_PADDING * list.c (goto_window_name): return success or failure * list.h: updated prototype for goto_window_name * events.c (handle_key): Added a message indicating an unbound key. * bar.c (display_msg_in_bar): added (update_window_names): uses BAR_X_PADDING instead of `5' (update_window_names): Updated BAR_PADDING to BAR_Y_PADDING * input.c (cook_keycode): mod is now an usigned int (read_key): Ignores modifier keys. Now returns keysym and modifiers. (get_input): Updated BAR_PADDING to BAR_Y_PADDING and BAR_X_PADDING. * events.c (handle_key): uses read_key instead of XMaskEvent to read a key. * actions.c (goto_window_number): window list is displayed on failure. (bye): added (switch_to): added (execute_command): no longer seg faults when no windows exist. 2000-12-03 shawn * input.h (cook_keycode): added prototype * actions.c: key_actions now uses the #define'd keysyms from X11/keysym.h * events.c (handle_key): calls cook_keycode() before processing the keysym. * input.c (read_key): calls cook_keycode() before returning the keysym (cook_keycode): added. 2000-12-01 shawn * list.c (find_window_by_name): added check to make sure the window's state is not STATE_UNMAPPED. 2000-11-27 shawn * events.c (handle_key): Code to generate the prefix event has been moved to generate_prefix(). * actions.h (toggle_bar): added prefixes for generate_prefix, and abort_keypress. * actions.c (generate_prefix): added. (abort_keypress): added. 2000-11-04 Ryan Yeske * Makefile.am (ratpoison_SOURCES): added getopt.c, getopt1.c and getopt.h 2000-10-30 Ryan Yeske * actions.h (execute_command): added prototype * actions.c (rename_current_window): added test to skip renaming if user entered an empty string (execute_command): added command (key_actions): execute_command is called by pressing ':' 2000-10-30 shawn * conf.h: added HIDE_MOUSE 2000-10-24 Ryan Yeske * bar.c (bar_x): rightmost border is no longer off screen 2000-10-20 shawn * events.c (key_press): fixed MODIFIER_PREFIX bug 2000-10-19 Ryan yeske * manage.c (unmanaged_window): added. * conf.h (PADDING_LEFT, PADDING_TOP, PADDING_RIGHT, PADDING_BOTTOM, UNMANAGED_WINDOW_LIST): added. Windows listed in UNMANAGED_WINDOW_LIST will not be managed. Space reserved for unmanaged windows can be defined with PADDING_* 2000-10-19 shawn * manage.c (get_window_name): added 2000-10-17 shawn * events.c (configure_request): resize windows to the max-1. Call XConfigureWindow as well as XSendEvent. * manage.c (scanwins): Now only maps visible windows * conf.h: Removed keystroke related defines * actions.c: Moved all key activated functions here. Added key_actions array. * events.c (unmap_notify): now properly unmaps windows * data.h: added ignore_badwindow * main.c (handler): added ability to ignore BadWindow errors 2000-10-15 shawn * main.c, data.h, events.c: Added ability to kill and hup running ratpoison processes.