Age | Commit message (Collapse) | Author |
|
* src/screen.c (init_screen): don't include the font in the gc
* src/ratpoison.h: include Xlocale.h
* src/manage.c (get_wmname): support i18n characters
* src/main.c (init_defaults): call load_query_font_set and set_extents_of_fontset
(main): call setlocale
(clean_up): call XFreeFontSet
(set_extents_of_fontset): new function
(load_query_font_set): likewise
* src/input.c (update_input_window): use XmbTextEscapement and XmbDrawString
* src/globals.h (FONT_HEIGHT): use rp_font_ascent and rp_font_descent
(MAX_FONT_WIDTH): use rp_font_width
new globals rp_font_ascent, rp_font_descent, rp_font_width
* src/globals.c: new globals rp_font_ascent, rp_font_descent, rp_font_width
* src/data.h (struct rp_defaults): font is a XFontSet
* src/bar.c (max_line_length): call XmbTextEscapement
(draw_string): call XmbDrawString
(get_mark_box): call XmbTextEscapement
* src/actions.c (read_frame): call XmbTextEscapement
(cmd_license): likewise
(read_frame): call XmbDrawString
(cmd_license): likewise
(cmd_help): likewise
(update_gc): don't include the font
(set_font): call load_query_font_set
|
|
|
|
|
|
|
|
|
|
path to ratpoisonrc.
* src/input.c (get_more_input): Use HAVE_HISTORY to ifdef out
history_reset.
* src/actions.c (command): new variable, raw, which records
whether to tell parse_args not to parse the last arg.
(cmd_set): likewise
|
|
|
|
|
|
|
|
(x11_mask_to_rp_mask): likewise
(keysym_to_keycode_mod): Make sure lower != keysym before adding
the shift mask.
(keysym_to_string): handle the shift modifier. use 's' for super
instead of 'S'
(cook_keycode): keep the shift modifier if XLookupString didn't
gobble it.
* src/data.h (RP_SHIFT_MASK): new define
* src/actions.c (parse_keydesc): parse the shift modifier change
super to 's' from 'S'.
|
|
keycode and modifier for the keysym.
(keysym_to_keycode_mod): new function
|
|
fgcolor_string, bgcolor_string.
* src/actions.c (set_font): return defaults.font_string when data is NULL
(set_fgcolor): likewise for fgcolor_string
(set_bgcolor): likewise for bgcolor_string
* src/manage.c (ungrab_top_level_keys): properly grab capital letters.
* src/main.c (init_defaults): init fgcolor_string, bgcolor_string, and font_string
* src/input.c (grab_key): change keysym type to KeySym. convert
keysym to keycode. All callers updated.
|
|
(grab_keys_all_wins): likewise
* src/manage.c (grab_top_level_keys): renamed from
grab_prefix_key (all callers updated). Grab all keys in the top level keymap.
(ungrab_top_level_keys): renamed from ungrab_prefix_key (all callers updated). ungrab
all keys in the top level keymap.
(ungrab_keys_all_wins): new function
(grab_keys_all_wins): likewise
* src/globals.c: (rp_key_hook): rename from
rp_prefix_hook. Dependant code updated.
(set_rp_window_focus): change 'prefix' hook to 'key' hook.
* src/events.c (handle_key): handle a top level key press.
(handle_key): new arguments ks, and mod.
(key_press): pass the keysym and modifier to handle_key
* src/conf.h (TOP_KEYMAP): new define
* src/actions.c (cmd_v_split, cmd_h_split): swap names.
(user_commands): bind split to cmd_v_split.
(initialize_default_keybindings): initialize the top level keymap
(cmd_definekey): update the keys grabbed when changing a key on
the top level keymap.
(cmd_escape): update the escape key in the top level map.
(cmd_delkmap): don't allow the deletion of the top level keymap.
|
|
|
|
for changing focus to read key presses.
* src/events.c (handle_key): use XGrabKeyboard and XUngrabKeyboard
for changing focus to read key presses.
* src/actions.c (cmd_resize): use XGrabKeyboard and
XUngrabKeyboard for changing focus to read key presses.
(cmd_license): likewise
(cmd_help): likewise
(cmd_fselect): likewise
|
|
* src/split.c (set_active_frame): use set_window_focus.
(blank_frame): likewise
* src/main.c (main): use set_window_focus.
* src/input.c (get_more_input): use set_window_focus
* src/globals.h (set_window_focus): new prototype
(set_rp_window_focus): likewise
* src/events.c (handle_key): use set_window_focus.
* src/actions.c (cmd_resize): use set_window_focus.
(cmd_license): likewise
(cmd_help): likewise
(cmd_tmpwm): likewise
(cmd_fselect): likewise
* src/globals.c (set_rp_window_focus): new function
(set_window_focus): likewise
|
|
(edit_binding): new typedef
(edit_binding): new struct
(edit_bindings): new local global
(input_line_new): new function
(input_line_free): likewise
(execute_edit_action): likewise
(editor_forward_char): likewise
(editor_backward_char): likewise
(editor_forward_word): likewise
(editor_backward_word): likewise
(editor_beginning_of_line): likewise
(editor_end_of_line): likewise
(editor_delete_char): likewise
(editor_backward_delete_char): likewise
(editor_kill_word): likewise
(editor_backward_kill_word): likewise
(editor_kill_line): likewise
(editor_backward_kill_line): likewise
(editor_history_previous): likewise
(editor_history_next): likewise
(editor_abort): likewise
(editor_no_action): likewise
(editor_insert): likewise
(editor_enter): likewise
(paste_cut_buffer): likewise
(paste_primary_selection): likewise
(editor_paste_selection): likewise
(editor_complete): likewise
(editor_forward_char): new prototype
(editor_backward_char): likewise
(editor_forward_word): likewise
(editor_backward_word): likewise
(editor_beginning_of_line): likewise
(editor_end_of_line): likewise
(editor_delete_char): likewise
(editor_backward_delete_char): likewise
(editor_kill_word): likewise
(editor_backward_kill_word): likewise
(editor_kill_line): likewise
(editor_paste_selection): likewise
(editor_abort): likewise
(editor_no_action): likewise
(editor_enter): likewise
(editor_history_previous): likewise
(editor_history_next): likewise
(editor_complete): likewise
(editor_backward_kill_line): likewise
* src/sbuf.h (sbuf): add node field.
* src/main.c (xrealloc): don't print debugger output
(init_defaults): init history_size
(main): initialize rp_selection
(main): load history
(clean_up): save history
* src/linkedlist.h (list_first): new macro
* src/input.h (free_history): remove prototype
(ring_bell): new function
* src/input.c: include unistd.h
(input_history): remove
(input_num_history_entries): likewise
(update_input_window): remove prompt, input, and input_len
arguments. add line argument.
(update_input_window): use line argument.
(ring_bell): new function
(get_input): take completion_fn argument. prototype and callers
updated.
(free_history): remove function
(get_more_input): take completion_fn argument. prototype and
callers updated. use line structure and its functionality.
* src/globals.h (MAX_FONT_WIDTH): new define
(rp_selection): new extern
* src/globals.c (rp_selection): new global
* src/completions.h (completions_new): new prototype
(completions_free): likewise
(completions_assign): likewise
(completions_update): likewise
(completions_next_completion): likewise
* src/completions.c (completions_new): new function
(completions_free): likewise
(completions_assign): likewise
(completions_update): likewise
(completions_next_completion): likewise
* src/Makefile.am (ratpoison_SOURCES): add editor.c editor.h
history.h and history.c
* src/data.h (rp_completions): new typedef
(rp_input_line): likewise
(completion_fn): likewise
(rp_defaults): new field, history_size
(rp_completions): new struct
(rp_input_line): new struct
* src/conf.h (MAX_HISTORY_SIZE): new define
(HISTORY_FILE): likewise
(VISUAL_BELL): likewise
(MODIFIER_PREFIX): set to RP_CONTROL_MASK
(INPUT_ABORT_MODIFIER): likewise
(INPUT_PREV_HISTORY_MODIFIER): likewise
(INPUT_NEXT_HISTORY_MODIFIER): likewise
(RESIZE_VGROW_MODIFIER): likewise
(RESIZE_VSHRINK_MODIFIER): likewise
(RESIZE_HGROW_MODIFIER): likewise
(RESIZE_HSHRINK_MODIFIER): likewise
* src/actions.c (trivial_completions): new function
(window_completions): likewise
(colon_completions): likewise
(exec_completions): likewise
(cmd_select): pass window_completions to get_input
(cmd_rename): pass trivial_completions to get_input
(cmd_colon): pass colon_completions to get_input and
get_more_input
(cmd_exec): pass exec_completions to get_input
(cmd_newwm): pass trivial_completions to get_input
(cmd_resize): convert the keysym modifier to something ratpoison
understands.
|
|
* src/ratpoison.h (str_comp): new prototype
* src/messages.h (MESSAGE_PROMPT_SWITCH_TO_GROUP): new define
* src/main.c: include ctype.h
(str_comp): moved from window.c
* src/group.h (groups_find_group_by_name): new prototype.
(groups_find_group_by_number): likewise.
(groups_merge): likewise
(group_move_window): likewise
* src/group.c: include string.h
(group_new): new argument, name. All callers updated. prototype
updated.
(init_groups): create the first group with DEFAULT_GROUP_NAME as
its name.
(group_new): new argument, name. All callers updated. Prototype
updated.
(group_free): free the group's name.
(group_add_new_group): new argument, name. All callers
updated. Prototype updated.
(groups_find_group_by_name): new function
(groups_find_group_by_number): likewise
(group_move_window): likewise
(groups_merge): likewise
* src/conf.h (DEFAULT_GROUP_NAME): new define
* src/actions.h (cmd_gselect): new prototype
(cmd_groups): likewise
(cmd_gmove): likewise
(cmd_gmerge): likewise
(cmd_gnewbg): likewise
* src/actions.c (user_commands): new commands gselect, groups,
gmove, gmerge, gnewbg.
(cmd_gnewbg): new function
(find_group): likewise
(cmd_gselect): likewise
(cmd_groups): likewise
(cmd_gmove): likewise
(cmd_gmerge): likewise
|
|
event. Remove gobble_rel argument. Callers updated.
|
|
screen_info. Dependant code updated.
|
|
* src/bar.c (marked_message): pass correct arguments to bar_y.
* src/actions.c (cmd_defwinliststyle): error messages print the
correct command name.
|
|
the end of the mark is the length of the buffer minus the start of
the mark.
* src/main.c (init_defaults): init wrap_window_list to 0.
* src/input.c (update_input_window): store the height in a
variable.
* src/data.h (struct rp_defaults): new member, wrap_window_list.
* src/bar.h [message]: wrap msg arg in parens.
(marked_wrapped_message): new prototype
* src/bar.c (bar_y): new argument, height. All callers updated.
(bar_y): use height in calculations.
(update_window_names): print a column of windows if
defaults.wrap_window_list is on.
(count_lines): new function
(max_line_length): likewise
(pos_in_line): likewise
(line_beginning): likewise
(marked_wrapped_message): likewise
* src/actions.c (user_commands): new commands 'verbexec' and
'defwrapwinlist'. Move @end take to after the def* commands.
(cmd_verbexec): new function. Added prototype.
(cmd_defwrapwinlist): likewise
|
|
* src/split.c (show_frame_message): new function
* src/main.c (init_screen): listen for key release events in the
key_window and input_window.
* src/input.c (read_key): new argument, gobble_rel. All callers
updated.
* src/actions.c (cmd_remove): only remove the current frame if it
isn't the ONLY one.
(cmd_remove): display a message informing the user if the frame
cannot be removed.
(cmd_resize): clean up resize loop.
(cmd_resize): display a window indicating which frame is being
resized.
|
|
(clean_up): call free_screen on each screen. free the screen
array. free defaults.window_fmt.
* src/number.h (free_numbers): new prototype
* src/number.c (free_numbers): new function
* src/manage.c (get_wmname): use XGetWindowProperty to get the
window name.
(unmanaged_window): free wname after using it.
* src/main.c (wm_name): new global
(main): internalize WM_NAME atom.
(clean_up): free data structures for keybindings, aliases, the
bar, window numbers, and input history.
* src/input.h (free_history): new prototype
* src/input.c (free_history): new function
* src/events.c (execute_remote_command): free properties returned
by XGetWindowProperty().
* src/data.h (wm_name): new extern
* src/communications.c (recieve_command_result): free properties
returned by XGetWindowProperty().
* src/bar.h (free_bar): new prototype
* src/bar.c (update_window_names): bar_buffer is not static.
(update_window_names): free bar_buffer after using it.
(marked_message): free the GC after using it.
(free_bar): new function.
* src/actions.h (free_keybindings): new prototype
(free_aliases): likewise
* src/actions.c (free_keybindings): new function
(free_aliases): likewise
(cmd_tmpwm): unmap the key window before calling the new wm, and
remap it afterwards.
|
|
preprocessor.
* src/ratpoison.h (PRINT_LINE): new macro.
(PRE_PRINT_LOCATION): remove macro
(PRINT_ERROR): takes one argument which is the argument list
,parens and all, to be passed to printf. Callers updated.
* src/actions.c (cmd_number): use list delete entry macro
(cmd_number): likewise
(cmd_escape): use list looping macro
(cmd_escape): likewise
(cmd_defpadding): likewise
(cmd_defborder): likewise
* src/events.c (mapping_notify): use list looping macro
(mapping_notify): likewise
* src/list.c: rename rp_unmapped_window_sentinel to
rp_unmapped_window and rp_mapped_window_sentinel to
rp_mapped_window. Use LIST_HEAD to create them. externs updated.
(add_to_window_list): use list add entry macro.
(find_window_in_list): list head is of type list_head. Prototype
and callers updated.
(find_window_in_list): use list looping macro
(init_window_list): remove function
(find_window_number): use list looping macro
(find_window_name): likewise
(find_window_prev): use list previous entry macro
(find_window_next): use list next entry macro
(find_window_other): use list looping macro
(append_to_list): remove function
(insert_into_list): use list looping macro
(insert_into_list): use list add entry macro
(remove_from_list): remove function
(get_window_list): use list looping macro
* src/main.c (main): do not call init_window_list()
* src/manage.c (unmanage): use list delete macro
(map_window): likewise
(withdraw_window): use list moving macro to move entry to
another list.
(hide_others): use list looping macro
* src/split.c (num_frames): use list looping macro
(frames_screen): likewise
(maximize_all_windows_in_frame): likewise
(delete_frame_from_list): remove function
(create_initial_frame): remove list init code. Add current frame
to screen's frame list.
(init_frame_list): use list init macro
(find_last_frame): use list looping macro
(find_windows_frame): likewise
(find_frame_next): use list next entry macro
(find_frame_prev): use list previous entry macro
(find_window_for_frame): use list looping macro
(split_frame): use list add entry macro
(remove_all_splits): use list looping macro
(resize_frame_vertically): likewise
(resize_frame_horizontally): likewise
(total_frame_area): likewise
(frame_overlaps): likewise
(remove_frame): likewise
(find_frame_up): likewise
(find_frame_down): likewise
(find_frame_left): likewise
(find_frame_right): likewise
|
|
|
|
(input_num_history_entries): likewise
(get_more_input): cycle through the input history.
* src/conf.h (INPUT_PREV_HISTORY_KEY): new define
(INPUT_PREV_HISTORY_MODIFIER): likewise
(INPUT_NEXT_HISTORY_KEY): likewise
(INPUT_NEXT_HISTORY_MODIFIER): likewise
(INPUT_MAX_HISTORY): likewise
* src/input.c (update_input_window): Draw the cursor in the right place.
|
|
* src/actions.h (cmd_defbarpadding): new prototype
* src/actions.c (user_commands): new command entry "defbarpadding"
(cmd_defbarpadding): new function
|
|
* src/input.c (get_more_input): clear the window after it is
raised. Call XSync aftwards.
* src/conf.h (MAX_LINK_DEPTH): new define
* src/bar.c (marked_message): clear the window after it is
raised. Call XSync aftwards.
* src/actions.h (cmd_link): new prototype
* src/actions.c (user_command): new command 'link'
(find_command_by_keydesc): new function
(resolve_command_from_keydesc): likewise
(cmd_link): likewise
|
|
* src/split.c (update_last_access): new function
(find_last_frame): likewise
(split_frame): update the new frame's last_access field
(set_active_frame): update the new current frame's last_access field
* src/input.h (x11_mask_to_rp_mask): new prototype
(rp_mask_to_x11_mask): likewise
* src/input.c (x11_mask_to_rp_mask): new function
(rp_mask_to_x11_mask): likewise
* src/events.c (handle_key): convert X11 modifier masks to rp
modifier masks where appropriate.
* src/actions.h (cmd_focuslast): new prototype
* src/actions.c (initialize_default_keybindings): new keybinding
for "focuslast"
(cmd_focuslast): new function
(user_command): new command "focuslast"
|
|
command and the argument list. Code that did this in specific
commands has been removed.
* src/input.c (update_input_window): Draw a cheap-o cursor
|
|
(window_name): new prototype
(get_window_list): update prototype
* src/events.c (grab_rat): Don't wrap in an #ifdef
(ungrab_rat): likewise
(handle_key): record if the rat is grabbed and only ungrab it at
the end if it was first grabbed.
* src/actions.h (cmd_pos): new prototype
(cmd_defwinpos): new prototype
(cmd_deftranspos): new prototype
(cmd_defmaxsizepos): new prototype
(cmd_defbartimeout): new prototype
(cmd_defbarloc): new prototype
(cmd_deffont): new prototype
(cmd_defpadding): new prototype
(cmd_defborder): new prototype
(cmd_definputwidth): new prototype
(cmd_defwaitcursor): new prototype
(cmd_defwinfmt): new prototype
(cmd_defwinname): new prototype
* src/messages.h (MESSAGE_FRAME_STRING): new message
* src/manage.c (get_wmname): renamed from get_window_name
(get_class_hints): new function
(get_res_name): likewise
(get_res_class): likewise
(update_window_name): update the window's wm_name, res_name, and
res_class fields.
(update_window_name): calls functions get_wmname, get_res_name,
get_res_class.
(update_window_name): Don't crop the window name.
(update_window_information): call update_window_position.
(move_window): new function
(maximize_transient): only set the window's width and height
fields.
(maximize_normal): likewise
(maximize): call move_window
(force_maximize): likewise
(force_maximize): if the window has resize hints, resize it 1
resize unit.
* src/main.c: new global variable, defaults. remove static
variable, font, and move to defaults. Dependant code updated.
(init_defaults): new function
(main): call init_defaults.
(init_screen): initialize the screen's fg_color to black and
bg_color to white.
* src/list.c (free_window): free the fields user_name, res_name,
res_class, and wm_name.
(update_window_position): new function
(window_name): new function. Code accessing a window's name uses
this function. All code updated.
(add_to_window_list): call update_window_position
(add_to_window_list): initialize wm_name, res_name, and res_class
for the new window.
(format_window_name): new function
(get_window_list): Add parameter fmt. All callers updated.
(get_window_list): call format_window_name.
* src/conf.h: move Configuration variables to the global variable,
defaults. Dependant code updated.
* src/data.h (TOP_LEFT): new 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): new fields user_name, wm_name, res_name,
res_class, position.
(struct rp_window): remove field name. Replaced with
user_name. Dependant code updated.
(struct screen_info): remove field font. dependant code updated.
(struct screen_info): new fields fg_color, bg_color.
(struct rp_defaults): new struct
(defaults): new global
* src/actions.c (parse_winpos): new function
(cmd_pos): likewise
(cmd_defwinpos): likewise
(cmd_deftranspos): likewise
(cmd_defmaxsizepos): likewise
(cmd_defbartimeout): likewise
(cmd_defbarloc): likewise
(cmd_deffont): likewise
(cmd_defpadding): likewise
(cmd_defborder): likewise
(cmd_definputwidth): likewise
(cmd_defwaitcursor): likewise
(cmd_defwinfmt): likewise
(cmd_defwinname): likewise
(user_commands): New commands defbarloc, defbartimeout, defborder,
deffont, defintputwidth, defmaxsizepos, defpadding, deftranspos,
defwaitcursor, defwinfmt, defwinname, defwinpos.
|
|
|
|
|
|
|
|
|
|
init_modifier_map. all callers updated. prototype updated.
* src/events.c (mapping_notify): new function
(delegate_event): handle MappingNotify events.
|
|
hyper, and super modifiers. Returns full keysym names.
* src/actions.c (parse_keydesc): parses control, meta, alt, hyper,
and super modifiers.
(cmd_clock): sets the last character in msg to 0.
|
|
|
|
* main.c (xmalloc): Move here from sbuf.c.
(xrealloc): Likewise.
(fatal): Likewise.
* number.c (find_empty_cell): Use xrealloc, remove error check.
(init_numbers): Likewise.
* manage.c (get_window_name): Likewise.
* main.c (main): Likewise.
* list.c (add_to_window_list): Likewise.
(add_to_window_list): Likewise.
* events.c (handle_key): Likewise.
* input.c (keysym_to_string): Likewise.
(get_more_input): Use xrealloc, remove error check.
* main.c (read_rc_file): Take a file pointer rather than a
filename.
(read_startup_files): If ~/.ratpoisonrc is not readable try
/etc/ratpoisonrc.
|
|
|
|
* list.h (sort_window_list_by_number): Added prototype
* list.c (swap_list_elements): Added
(sort_window_list_by_number): Added
* input.c (update_input_window): Added
(get_input): calls update_input_window in place of xlib calls.
(get_input): exits if realloc fails
* conf.h: Added INPUT_WINDOW_SIZE
* bar.c (update_window_names): loops through window list from head
to tail.
|
|
a screen_info param
|
|
|
|
|
|
* 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
|
|
|
|
* 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.
|
|
* 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.
|
|
debug output function PRINT_DEBUG.
|