Age | Commit message (Collapse) | Author |
|
exchange_with_frame now always selects the second frame given,
simplifying the code (getting rid of segfaults when both were
on different screens). This changes the behaviour of cmd_swap
to always focus the first argument when two arguments are given.
This patch also removes the screen argument of exchange_with_frame,
which is now no longer needed (and cmd_swap was giving the wrong
screen anyway in the case of multiple arguments given).
|
|
Now the inverted rectangle is drawn first and the text overtop in the bg color.
|
|
|
|
* remove call to give_window_focus in remove_frame
* set the border color in hide_window
calling give_window_focus in remove_frame was plain incorrect. setting
it in hide_window might be considered overkill but I believe it will
catch this case and any others that might be lurking.
|
|
|
|
|
|
rp_draw_string
|
|
|
|
(show_frame_indicator): only show frame indicator
(set_active_frame): new arg force_indicator. all callers updated.
(show_frame_indicator): new arg force. all callers updated.
* src/main.c (init_defaults): init bar_in_padding
* src/globals.c (rp_switch_screen_hook): new hook
* src/data.h (struct rp_defaults): new slot, bar_in_padding
* src/bar.c (bar_x): honour bar_in_padding setting
(bar_y): likewise
* src/actions.c (init_set_vars): add barinpadding
(set_barinpadding): new function
* src/globals.h: new global rp_switch_screen_hook
|
|
is empty.
|
|
(show_frame_message): format frame_fmt string with format_string
* src/messages.h (MESSAGE_FRAME_STRING): removed
* src/main.c (init_defaults): init defaults.frame_fmt
* src/data.h (struct rp_defaults): add frame_fmt
* src/actions.c (set_framefmt): new function
(init_set_vars): new set var "framefmt"
|
|
|
|
(init_xinerama): likewise
* src/window.c (init_window_stuff): take void arguments. prototype updated.
(free_window_stuff): likewise
* src/split.c (remove_all_splits): take void arguments. prototype updated.
(current_frame): likewise
(init_frame_lists): likewise
(find_last_frame): likewise
(current_window): likewise
(remove_all_splits): likewise
(hide_frame_indicator): likewise
(show_frame_indicator): likewise
* src/main.c (check_child_procs): take void arguments. prototype updated.
(clean_up): likewise
* src/number.c (numset_new): take void arguments. prototype updated.
* src/manage.c (clear_unmanaged_list): take void arguments. prototype updated.
(list_unmanaged_windows): likewise
(ungrab_keys_all_wins): likewise
(grab_keys_all_wins): likewise
(current_screen): likewise
(unhide_all_windows): likewise
* src/main.c (sighandler): static function
(hup_handler): likewise
(alrm_handler): likewise
(handler): likewise
(print_version): likewise
(print_help): likewise
(show_welcome_message): take void arguments
(init_defaults): likewise
* src/input.c (ring_bell): take void arguments. prototype updated
(update_modifier_map): likewise
* src/history.c (get_history_filename): take void arguments
(history_load): take void arguments. prototype updated
(history_save): likewise
(history_reset): likewise
(history_previous): likewise
(history_next): likewise
(history_list_items): likewise
* src/group.c (group_in_list): static function
(init_groups): take void arguments. prototype updated
(free_groups): likewise
(group_next_group): likewise
(group_prev_group): likewise
* src/globals.c (x_export_selection): take void arguments
(get_cut_buffer): likewise
(get_primary_selection): likewise
(get_selection): take void arguments. protype updated.
(init_globals): likewise
* src/events.c (selection_clear): take void arguments
(handle_signals): likewise
(listen_for_events): take void argumens. prototype updated
* src/bar.c (reset_alarm): take void arguments
(show_last_message): take void arguments. prototype updated.
(free_bar): likewise
* src/actions.c (init_set_vars): static function. take void arguments
(clear_frame_redos): take void arguments
(pop_frame_undo): likewise
(pop_frame_redo): likewise
(keymap_new): static function
(parse_keydesc): likewise
(trivial_completions): likewise
(keymap_completions): likewise
(window_completions): likewise
(group_completions): likewise
(colon_completions): likewise
(exec_completions): likewise
(hook_completions): likewise
(var_completions): likewise
(update_all_gcs): take void arguments
(grab_rat): likewise
(ungrab_rat): likewise
(init_user_commands): take void arguments. prototype updated.
(free_keymaps): likewise
(free_aliases): likewise
|
|
* 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
|
|
|
|
* src/manage.c (window_is_transient): new function
(maximize_normal): honour aspect ratio hint
* src/window.c (update_window_gravity): use maxsize_gravity for windows with aspect hints.
(set_active_window_body): call window_is_transient
* src/split.c (cleanup_frame): call window_is_transient
|
|
numset_find_empty_cell in a variable and use it as an index into
the numbers_taken array.
* src/actions.c (cmd_curframe): return the frame number in
non-interactive mode.
* src/split.c (cleanup_frame): in the maxsize windows are
transients check either the width or height must be less than the
screen width/height (just like in windows.c).
|
|
|
|
|
|
|
|
window in. All callers updated.
(group_prev_window): make sure the matched window is in the same
screen as win.
(group_next_window): likewise
* src/window.c (find_window_other): add argument, the screen to
find the window in. All callers updated.
|
|
(init_screens): init rp_frame_numset
(init_screen): set screen's frames_numset to rp_frame_numset
* src/globals.h: new global prototype, rp_frame_numset
* src/globals.c: new global, rp_frame_numset
* src/split.c (find_last_frame): find the last from of all the
screens. prototype updated. Callers updated.
(find_frame_number): search all screens. prototype
updated. callers updated.
* src/actions.c (cmd_fselect): select from frames in all screens.
|
|
checking if win is NULL.
(give_window_focus): set rp_current_screen to xine_screen_num of
the window's screen.
(set_active_window): when using xinerama get the frame from the
current screen.
* src/split.c (set_frames_window): update the window's scr
attribute to point to the frame's screen.
(find_window_for_frame): when xinerama is being used search all
windows.
(set_active_frame): update rp_current_screen to point to the
frame's screen.
* src/screen.h (init_screens): new prototype
(is_rp_window_for_screen): likewise
* src/screen.c: include string.h and X11/cursorfont.h
(init_screens): new function
(is_rp_window_for_screen): new function.
(init_screen): fill in xine_screen_num when using xinerama.
* src/ratpoison.h: include xinerama.h
* src/manage.c (current_screen): use xine_screen_num to find the
current screen.
(scanwins): use is_rp_window_for_screen to skip over ratpoison windows.
(scanwins): when using xinerama only manage windows inside the viewable area.
* src/main.c (main): call init_xinerama and init_screens. Move
screen initing code to these functions.
(init_rat_cursor): move to screen.c
(init_screen): likewise
(find_screen): likewise
(clean_up): call free_xinerama
* src/group.c (group_last_window): only check windows in the
current screen, unless xinerama is being used in which case all
windows are accessible.
(group_next_window): likewise
(group_prev_window): likewise
* src/globals.h: new globals rp_have_xinerama, xine_screen_num.
* src/events.c (new_window): when using xinerama, the new window's
screen is the current screen.
(key_press): when using xinerama, use the current screen.
* src/data.h (struct rp_screen): remove root_attr and add left,
top, width, height. All dependant code updated. Add xine_screen_num.
* src/actions.c (cmd_remove): show the frame indicator in the new
current frame after removing the frame.
* src/Makefile.am (ratpoison_SOURCES): add xinerama.c and xinerama.h
|
|
indicator windows.
(show_frame_indicator): hide the 'current frame' indicator before
showing it.
|
|
* 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
|
|
current screen.
* src/group.h (group_delete_group): new prototype
* src/group.c (group_last_window): find the last window in the
current screen.
(group_next_window): find next window in current screen.
(group_prev_window): find previous window in current screen.
* src/manage.c (force_maximize): call XSync() after first resize.
* src/globals.h (GROUP_DELETE_GROUP_OK): new define
(GROUP_DELETE_GROUP_NONEMPTY): likewise
* src/actions.h (cmd_gdelete): new prototype
* src/actions.c (user_commands): new command gdelete
(cmd_gdelete): new command
|
|
* src/split.c (set_active_frame): run the switch frame hook.
* src/ratpoison.h: include hook.h
* src/group.h (set_current_group): new prototype
* src/group.c (set_current_group): new function
* src/globals.h (rp_prefix_hook): new extern
(rp_switch_win_hook): likewise
(rp_switch_frame_hook): likewise
(rp_switch_group_hook): likewise
(rp_hook_db): likewise
* src/globals.c (rp_prefix_hook): new hook
(rp_switch_win_hook): likewise
(rp_switch_frame_hook): likewise
(rp_switch_group_hook): likewise
(rp_hook_db): new global
* src/events.c (handle_key): call the prefix hook.
* src/data.h (struct rp_hook_db_entry): new struct
* src/actions.h (cmd_addhook): new prototype
(cmd_remhook): likewise
* src/actions.c (user_commands): add commands addhook and remhook.
(cmd_windows): show the window bar no matter what if the bar
timeout is > 0.
(cmd_gnext): call set_current_group
(cmd_gprev): likewise
(cmd_gnew): likewise
(cmd_gselect): likewise
(cmd_addhook): new function
(cmd_remhook): likewise
* src/Makefile.am (ratpoison_SOURCES): add hook.c and hook.h
|
|
* 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
|
|
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.
|
|
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.
|
|
|
|
* 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
|
|
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
|
|
(cmd_number): likewise
(cmd_escape): use list looping macro
(cmd_escape): likewise
(cmd_defpadding): likewise
(cmd_defborder): likewise
* src/data.h: include linkedlist.h
(struct rp_window_frame): use struct list_head instead of next,
prev pointers.
(struct rp_window): likewise
(struct screen_info): rename rp_window_frame_sentinel to
rp_window_frames and change it's type to list_head.
* 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
|
|
(resize_shrink_to_window): likewise
(resize_frame_vertically): likewise
(resize_frame_horizontally): likewise
* src/split.c (num_frames): no longer a static function
(resize_shrink_to_window): new function
(resize_frame_vertically): likewise
(resize_frame_horizontally): likewise
* src/main.c (init_defaults): init frame_resize_unit.
* src/data.h (struct rp_defaults): new member frame_resize_unit.
* src/conf.h (RESIZE_VGROW_KEY): new define
(RESIZE_VGROW_MODIFIER): likewise
(RESIZE_VSHRINK_KEY): likewise
(RESIZE_VSHRINK_MODIFIER): likewise
(RESIZE_HGROW_KEY): likewise
(RESIZE_HGROW_MODIFIER): likewise
(RESIZE_HSHRINK_KEY): likewise
(RESIZE_HSHRINK_MODIFIER): likewise
(RESIZE_SHRINK_TO_WINDOW_KEY): likewise
(RESIZE_SHRINK_TO_WINDOW_MODIFIER): likewise
(RESIZE_END_KEY): likewise
(RESIZE_END_MODIFIER): likewise
* src/actions.h (cmd_shrink): new prototype
(cmd_resize): likewise
(cmd_defresizeunit): likewise
* src/actions.c (user_commands): add commands cmd_resize and
cmd_shrink, and cmd_defresizeunit.
(cmd_shrink): new function
(cmd_resize): likewise
(cmd_defresizeunit): likewise
|
|
(VERTICALLY): likewise
(split_frame): new argument 'pixels'. The current frame is split
and resized to 'pixels' pixels.
(v_split_frame): new argument 'pixels'. prototype updated.
(h_split_frame): likewise
* src/actions.c (user_commands): hsplit, vsplit, and split take a
string argument.
(read_split): new function
(cmd_h_split): takes a ratio or number to determine how big the
frame split will be.
(cmd_v_split): likewise
|
|
multiple screens.
* src/data.h (struct rp_window_frame): new data member 'number'.
* src/actions.h (cmd_prevscreen): new prototype
(cmd_nextscreen): likewise
* src/actions.c (user_commands): new commands "nextscreen" and
"prevscreen"
(cmd_nextscreen): new function
(cmd_prevscreen): likewise
|