Age | Commit message (Collapse) | Author |
|
* src/bar.c (draw_mark): abort if mark_end is the beginning of the
line or the start and end of the mark is the same.
|
|
* 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
|
|
(show_bar): call reset_alarm()
(count_lines): make function static. clean up code.
(max_line_length): likewise
(pos_in_line): likewise
(line_beginning): likewise
(draw_string): new static function
(correct_mark): likewise
(prepare_bar): likewise
(get_mark_box): likewise
(draw_inverse_box): likewise
(draw_mark): likewise
(update_last_message): likewise
(marked_message): Move most of the code to seperate function
calls. Call reset_alarm(), prepare_bar(), draw_string(),
correct_mark(), draw_mark(), and update_last_message().
* src/actions.c (cmd_select): fix crash bug.
* src/window.c (get_window_list): mark_end is the length of the
string. Don't do a special case if the window list is being
displayed as a column.
|
|
event. Remove gobble_rel argument. Callers updated.
|
|
* src/window.c (find_window): add debugging output describing
which window list the window was found in.
* src/group.c (group_new): assign the group's number the number
passed as an argument.
* src/events.c (destroy_window): withdraw iconified and normal
windows before unmanaging them.
(handle_signals): delete the node from the list before freeing it.
* src/bar.h (message): remove define.
(marked_wrapped_message): remove prototype
(message): new prototype
* src/bar.c (message): new function
(marked_wrapped_message): renamed to marked_message. remove
marked_message.
|
|
XCreateGC.
|
|
screen_info. Dependant code updated.
|
|
(list_unmanaged_windows): likewise
(add_unmanaged_window): likewise
* src/manage.c (unmanaged_window_list): no longer a const.
(num_unmanaged_windows): new static global
(clear_unmanaged_list): new function
(list_unmanaged_windows): likewise
(add_unmanaged_window): likewise
(unmanaged_window): use num_unmanaged_windows to tell how many
elements are in the unmanaged list.
* src/actions.h (cmd_unmanage): new prototype
(cmd_clrunmanaged): likewise
* src/actions.c (user_commands): new commands unmanage,
clrunmanaged.
(cmd_unmanage): new function
(cmd_clrunmanaged): likewise
* src/bar.c (BAR_IS_HIDDEN): new define.
(update_bar): new function.
* src/actions.c (cmd_frestore): call update_bar() instead of
update_window_names().
* src/actions.c (cmd_frestore): update the window list after
restoring the frames.
|
|
update_window_names().
(set_active_frame): likewise
(blank_frame): likewise
* src/bar.h (update_bar): new prototype.
* src/bar.c (BAR_IS_HIDDEN): new define.
(update_bar): new function.
* src/actions.c (cmd_frestore): call update_bar() instead of
update_window_names().
* src/split.c (set_active_frame): update the window list after
switching frames.
(blank_frame): update the window list after blanking the screen.
* src/actions.c (cmd_frestore): update the window list after
restoring the frames.
* src/split.c (split_frame): update the window list after the
split.
|
|
* src/bar.c (marked_message): pass correct arguments to bar_y.
* src/actions.c (cmd_defwinliststyle): error messages print the
correct command name.
|
|
the whole line.
* src/actions.c (cmd_number): update any frames pointing to the
windows that have changed.
|
|
the end of the mark is the length of the buffer minus the start of
the mark.
* src/main.c (init_defaults): init window_list_style to STYLE_ROW.
* src/data.h (struct rp_defaults): new member, window_list_style.
* 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.window_list_style is in column mode.
(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
'defwinliststyle'. Move @end take to after the def* commands.
(cmd_verbexec): new function. Added prototype.
(cmd_defwinliststyle): likewise
|
|
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
|
|
(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
|
|
|
|
* src/conf.h (MAX_ALIAS_RECURSIVE_DEPTH): new define
* src/bar.c (bar_x): update to work with all X11 gravity values.
(bar_y): likewise
* src/actions.c (cmd_defbargravity): Rename from
cmd_defbarloc. Dependant code updated.
(cmd_defbargravity): accept all gravity arguments.
|
|
spaces on both sides.
* src/main.c (init_screen): Create the frame, input, and bar
windows with a border width of defaults.bar_border_width.
(init_defaults): initialize defaults.bar_border_width
* src/bar.c (bar_x): Incorporate defaults.bar_border_width into
calculations.
(bar_y): likewise
* src/actions.h (cmd_defbarborder): new prototype
* src/actions.c (user_commands): new command "defbarborder"
(cmd_defbarborder): new function
* src/main.c (init_screen): create the help window with a 0 border
width.
|
|
(sbuf_printf): likewise
* src/sbuf.c (sbuf_printf_concat): new function
(sbuf_printf): likewise
* src/ratpoison.h: include stdarg.h
(xvsprintf): new prototype
(xsprintf): likewise
* src/main.c (xvsprintf): new function
(xsprintf): likewise
* src/bar.c: remove include of stdarg.h
(marked_message_printf): call xvsprintf.
|
|
* 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
|
|
message.
|
|
vsnprintf of -1 properly.
|
|
(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".
|
|
(cmd_lastmsg): likewise
* src/bar.h (show_last_message): new prototype
* src/bar.c: new static globals last_msg, lash_mark_start, and last_mark_end.
(marked_message): Store the message in last_msg.
(show_last_message): new function
* src/actions.c (cmd_info): new function
(cmd_lastmsg): likewise
(user_commands): new commands "info" and "lastmsg"
(initialize_default_keybindings): Add key bindings for "info" and
"lastmsg".
|
|
bg_color to create the inverse GC.
* src/actions.h (cmd_deffgcolor): new prototype
(cmd_defbgcolor): new prototype
* src/actions.c (cmd_defbartimeout): merge the 2 ifs.
(cmd_defbartimeout): verify that the number is positive.
(cmd_defborder): likewise
(cmd_defwinname): gobble leading whitespace. Use strings as
arguments, not numbers.
(cmd_windows): Use the argument as a window format string in
non-interactive mode.
(cmd_windows): if data is NULL use the default format string.
(user_commands): new commands deffgcolor, defbgcolor.
(update_gc): new function
(cmd_deffgcolor): likewise
(cmd_defbgcolor): likewise
|
|
(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.
|
|
|
|
|
|
a result string
|
|
* src/manage.c (scanwins): ignore the help window
(hide_window): increment window's iconizing variable
* src/main.c (main): display welcoming message
(init_screen): create the help window
(init_screen): don't map the frame indicator window
(clean_up): destroy the help window
* src/list.c (add_to_window_list): initialize iconizing to 0
* src/events.c (new_window): skip help_window
(unmap_notify): skip normal processing if the event is from
iconizing the window.
(unmap_notify): clean up the window's frame if it is being
withdrawn.
* src/data.h (struct screen_info): new variable help_window
* src/bar.c (update_window_names): only print the window list if
the bar is already displaying the window list.
* src/actions.h (cmd_help): new prototype
(cmd_quit): likewise
* src/actions.c (initialize_default_keybindings): new keybinding for "help"
(cmd_quit): new function
(cmd_help): likewise
|
|
(v_split_frame): renamed frome v_split_window
(split_frame): renamed frome split_window
(remove_all_splits): renamed frome remove_all_frames
(find_windows_frame): new prototype
(find_frame_next): likewise
(find_frame_prev): likewise
(current_window): likewise
(init_frame_list): likewise
(set_active_frame): likewise
* src/split.c (create_initial_frame): new function
(init_frame_list): likewise
(find_windows_frame): likewise
(find_frame_next): likewise
(find_frame_prev): likewise
(current_window): likewise
(update_frame_indicator): likewise
(set_active_frame): likewise
(split_frame): rename from split_window
(v_split_frame): rename from v_split_window
(h_split_frame): rename from h_split_window
(remove_all_splits): renamed frome remove_all_frames
(total_frame_area): traverses rp_window_frame list
(num_frames): likewise
(frame_overlaps): likewise
(remove_frame): likewise
(remove_frame): calls delete_frame_from_list
* src/manage.c (scanwins): skips the frame_window
(maximize_transient): finds the window's frame
(maximize_normal): likewise
* src/main.c (main): calls init_frame_list
(init_screen): create and map the frame_window
* src/list.c (give_window_focus): new function
(goto_window): likewise
(set_active_window): calls give_window_focus
* src/list.h (give_window_focus): new prototype
(goto_window): likewise
* src/events.c (new_window): the screen's frame_window is not
managed
(cleanup_frame): new function
(unmap_notify): calls cleanup_frame if window exists in a frame
(destroy_window): likewise
* src/data.h (struct screen_info): remove frame field
(struct rp_window_frame): new fields win, prev, next
(rp_window_frame_sentinel): new global
* src/actions.c (cmd_prev): jumps to last accessed window if
current frame is empty.
(cmd_next): likewise
(cmd_remove): nothing is done if only 1 frame exists
* src/data.h (struct screen_info): new field frame_window
(rp_current_frame): new global
(rp_current_window): removed. All dependant code updated.
|
|
window.
|
|
set_active_window().
* list.h (remove_from_window_list): removed prototype
(find_window_in_list): new prototype
(append_to_list): likewise
(insert_into_list): likewise
(remove_from_list): likewise
* list.c: propogated use of rp_unmapped_window_sentinel and
rp_mapped_window_sentinel.
(find_window_in_list): new function
(find_window): calls find_window_in_list to search mapped and
unmapped window lists.
(remove_from_window_list): removed function
(init_window_list): initialized sentinels
(find_window_prev): searches only the mapped window list.
(find_window_next): likewise
(find_window_other): likewise
(append_to_list): new function
(insert_into_list): new function
(remove_from_list): new function
* events.c (unmap_notify): Searches only the mapped window
list. moves the window from the unmapped window list to the mapped
window list.
* data.h: removed rp_window_head and rp_window_tail, updated
dependant files. Added rp_mapped_window_sentinel and
rp_unmapped_window_sentinel globals.
* bar.c (update_window_names): loops only through mapped window
list.
|
|
|
|
* 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
|
|
|
|
|
|
(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.
|
|
* 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.
|
|
|
|
moved key strokes into a structure in actions.c along with all key stroke functi
ons. added ability to ignore badwindow errors. fixed up unmap_notify function. w
hen waiting for a keystroke after the prefix has been hit, pressing a modifier d
oesn't count as a 'keystroke' and doesn't abort the current key combination bein
g keyed
|
|
|