Age | Commit message (Collapse) | Author |
|
* 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.
|
|
location.
|
|
environment.
|
|
group.
(find_window_name): search the current group for a matching
window.
(find_window_other): likewise.
(format_window_name): take a rp_window_elem as an argument, not an
rp_window. Print the group window's number, not the window's
internal number.
(get_window_list): loop through the current group.
* src/split.c (find_window_for_frame): search the current group
for a window to fit in the frame.
* src/ratpoison.h: include globals.h and group.h
* src/manage.c (unmanage): remove the window from any groups it
was in.
(map_window): map the window in any groups it is in.
(withdraw_window): unmap the window in any groups it is in.
* src/main.c: Move all globals to globals.h
(main): initialize the group functions.
* src/data.h: Move all defines and extern globals to globals.h
(struct rp_window_elem): new struct
(struct rp_group): likewise
* src/actions.h (cmd_gnext): new prototype
(cmd_gprev): likewise
(cmd_gnew): likewise
* src/actions.c (user_commands): new commands gnext, gprev, and gnew
(cmd_prev): fix to work with new group code.
(cmd_next): likewise
(cmd_gnext): new function
(cmd_gprev): likewise
(cmd_gnew): likewise
* src/Makefile.am (ratpoison_SOURCES): add files globals.h,
globals.c, group.h and group.c
|
|
dependant code updated.
* src/main.c: remove child_info global. Add rp_children global.
(chld_handler): update the terminated and status fields of any
terminated children.
* src/events.c (handle_signals): loop through each child process
and remove them from the list. Print a message for any child that
doesn't return a 0 status.
* src/data.h (rp_child_info): new fields, terminated and node.
remove child_info global. Add rp_children global.
* src/actions.c (spawn): Add the command to the list of children.
|
|
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.
|
|
switching frames.
* 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.
|
|
command-line, send the command to the correct screen.
* src/communications.c (send_command): new argument,
screen_num. Get the root window for the specified
screen. prototype updated.
|
|
|
|
debugging.
(main): parse the screen argument and process it.
|
|
|
|
option.
(print_help): add --display option. Add text to demonstrate
--display and --command take an argument.
(ratpoison_longopts): add display.
(ratpoison_longopts): add screen.
(ratpoison_opts): add 'd'
(ratpoison_opts): add 's'
(main): parse the screen argument and process it.
(print_help): add --screen
|
|
|
|
option.
(print_help): add --display option. Add text to demonstrate
--display and --command take an argument.
(ratpoison_longopts): add display.
|
|
returned elements from X11 call.
|
|
property returned.
(get_wmname): add newline in debug print out.
(get_wmname): fail if n is 0.
|
|
property returned.
(get_wmname): add newline in debug print out.
|
|
property returned.
|
|
defaults.win_name values.
(window_name): remove case WIN_NAME_TITLE and glob it with the
default switch.
* src/main.c (init_defaults): use WIN_NAME_* defines for
possible defaults.win_name values.
* src/actions.c (cmd_defwinname): use WIN_NAME_* defines for
possible defaults.win_name values.
(cmd_defwinname): likewise
* src/data.h (WIN_NAME_TITLE): new define
(WIN_NAME_RES_CLASS): new define
(WIN_NAME_RES_NAME): new define
* src/window.c (add_to_window_list): use xstrdup to create the
default value for user_name.
|
|
|
|
one client requests a command (fix infinite loop bug).
|
|
|
|
* src/bar.c (marked_message): pass correct arguments to bar_y.
* src/actions.c (cmd_defwinliststyle): error messages print the
correct command name.
|
|
void*. All callers updated.
* src/actions.c (cmd_number): update any frames pointing to the
windows that have changed.
|
|
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
|
|
|
|
and value using strtok.
* src/window.c (add_to_window_list): init the window's frame_number to EMPTY.
* src/number.h (numset_clear): new prototype
* src/manage.c (unmanage)[AUTO_CLOSE]: code update for new globals.
* src/frame.c (frame_new): init f->last_access to 0.
(frame_dump): dump the X11 window ID, not the window number.
(frame_read): new function
* src/events.c (destroy_window): just unmanage the window.
* src/actions.h (cmd_fdump): new prototype
(cmd_frestore): likewise
* src/actions.c (user_commands): new commands "fdump" and "frestore".
(cmd_fdump): new function
(cmd_frestore): likewise
* src/number.c (numset_clear): new function.
|
|
* src/split.h (current_frame): new prototype
* src/split.c (current_frame): new function
(current_window): use current_frame()
(split_frame): likewise
(remove_all_splits): likewise
(set_active_frame): likewise
(show_frame_message): likewise
(remove_all_splits): use current_screen()
* src/actions.c (cmd_prev_frame): use current_frame()
(cmd_next_frame): likewise
(cmd_select): likewise
(cmd_h_split): likewise
(cmd_v_split): likewise
(cmd_remove): likewise
(cmd_shrink): likewise
(cmd_resize): likewise
(cmd_focusup): likewise
(cmd_focusdown): likewise
(cmd_focusleft): likewise
(cmd_focusright): likewise
|
|
|
|
(split_frame): call screen_get_frame to get appropriate structure.
(split_frame): call find_window_number to get appropriate
structure.
(remove_all_splits): call screen_get_frame to get appropriate
structure.
(resize_frame): make sure all frames that will be resized are big
enough for the resize.
(resize_frame): return int
(resize_shrink_to_window): call find_window_number to get the
appropriate structure.
(resize_frame_right): return int
(resize_frame_left): likewise
(resize_frame_top): likewise
(resize_frame_bottom): likewise
(resize_frame_horizontally): backup the frameset and restore it if
the resize fails. Do not allow a frame to be resized too small or
too big.
(resize_frame_vertically): likewise
(remove_frame): call find_window_number to get the appropriate
structure.
(set_active_frame): likewise
(blank_frame): likewise
(show_frame_message): call screen_get_frame to get the appropriate
structure.
* src/screen.c (screen_width): new function (and prototype)
(screen_height): likewise
(screen_left): likewise
(screen_right): likewise
(screen_top): likewise
(screen_bottom): likewise
(screen_copy_frameset): likewise
(screen_restore_frameset): likewise
(frameset_free): likewise
(screen_get_frame): likewise
* src/split.c (maximize_frame): call screen_width and
screen_height to get the size for the frame.
* src/ratpoison.h: include screen.h
* src/manage.c (move_window):
* src/frame.h (frame_copy): new prototype
(frame_dump): likewise
* src/frame.c (frame_copy): new function
(frame_dump): likewise
* src/events.c (unmap_notify): compare frame numbers, not
pointers.
(client_msg): call screen_get_frame when blanking the frame.
* src/data.h (EMPTY): new define
(struct rp_window_frame): replace the win field with
win_number. Dependant code updated.
(struct rp_window): replace frame with frame_number. Dependant
code updated.
(struct screen_info): replace rp_current_frame with current_frame
and change type to int. Dependant code updated.
* src/Makefile.am (ratpoison_SOURCES): added screen.h and screen.c
|
|
* 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.
|
|
not frame_left).
|
|
if the frame isn't against the left side of the screen.
(resize_frame_vertically): only resize to the left
if the frame isn't against the top of the screen.
* src/split.c (create_initial_frame): call frame_new to allocate a frame.
(split_frame): likewise
|
|
|
|
for fselect and resize. Move keybinding for curframe.
* src/split.c (create_initial_frame): call frame_new to allocate a frame.
(split_frame): likewise
* src/main.c (free_screen): call frame_free to free the screen
frames.
* src/frame.h (frame_new): new prototype
(frame_free): likewise
* src/frame.c (frame_new): new function.
(frame_free): likewise
|
|
* src/frame.h (frame_left): new prototype
(frame_top): likewise
(frame_right): likewise
(frame_bottom): likewise
(frame_width): likewise
(frame_height): likewise
(frame_resize_left): likewise
(frame_resize_right): likewise
(frame_resize_up): likewise
(frame_resize_down): likewise
(frame_move_left): likewise
(frame_move_right): likewise
(frame_move_up): likewise
(frame_move_down): likewise
* src/frame.c (frame_left): new function
(frame_top): likewise
(frame_right): likewise
(frame_bottom): likewise
(frame_width): likewise
(frame_height): likewise
(frame_resize_left): likewise
(frame_resize_right): likewise
(frame_resize_up): likewise
(frame_resize_down): likewise
(frame_move_left): likewise
(frame_move_right): likewise
(frame_move_up): likewise
(frame_move_down): likewise
* src/split.c (resize_frame): new function
(resize_frame_right): likewise
(resize_frame_left): likewise
(resize_frame_top): likewise
(resize_frame_bottom): likewise
(resize_frame_horizontally): use resize_frame_right and
resize_frame_left to do the resizing.
(resize_frame_vertically): use resize_frame_top and
resize_frame_bottom to do the resizing.
* src/ratpoison.h (PRINT_ERROR): flush stdout
(PRINT_DEBUG): likewise
include frame.h
|
|
* src/split.c (create_initial_frame): give a number to the
initial frame
(split_frame): give the new frame a unique number
(split_frame): add the new frame after the current frame
(remove_all_splits): return the frame's number when deleting it.
(remove_frame): likewise
(find_frame_number): new function
* src/main.c (init_screen): initialize the frames_numset member
(free_screen): free the frames_numset member
* src/data.h (struct screen_info): new member, frames_numset
* src/actions.h (cmd_fselect): new prototype
* src/actions.c (user_commands): new command "fselect"
(cmd_fselect): new function
|
|
add window.c and window.h
* src/ratpoison.h: include window.h instead of list.h
|
|
|
|
|
|
(clean_up): call free_window_stuff(). Remove call to free_numbers().
* src/list.h (free_window_stuff): new prototype
(init_window_stuff): likewise
* src/list.c (rp_window_numset): new global
(init_window_stuff): new function
(free_window_stuff): new function
* src/data.h (rp_window_numset): new extern
* src/number.c (numset_init): new function
(number_is_taken): rename to numset_num_is_taken, callers updated.
(find_empty_cell): rename to numset_find_empty_cell, callers updated.
(add_window_number): rename to numset_add_num, callers updated.
(return_window_number): rename to numset_release, callers updated.
(init_numbers): remove function
(free_numbers): rename to numset_free, callers updated.
(numset_num_is_taken): take struct numset* as an argument.
(numset_find_empty_cell): likewise
(numset_add_num): likewise
(numset_request): likewise
(numset_release): likewise
(numset_free): likewise
(numset_new): new function
|
|
(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.
|
|
the current frame.
|
|
* src/manage.c (scanwins): added better debugging output
* src/events.c (cleanup_frame): move to split.c
(handle_key): ungrab the rat right after we read the key.
* src/actions.h (cmd_tmpwm): new prototype.
* src/actions.c (spawn): return the pid of the child
process. prototype updated.
(cmd_tmpwm): new function
(user_commands): new command, tmp_wm.
|
|
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
|