* Changes since 1.4.4
- bug fixes to history and xft
* Changes since 1.4.3
- add commands ratinfo, ratrelinfo, banishrel
- add history to input bar when libhistory is not used
- add settings historysize and historycompaction
- new window formatters %p, %M prints the pid of the window and whether its a
maxsize window.
- new commands grename, gother
- new bindings C-t N and C-t P bound to nextscreen/prevscreen
- new settings, bwcolor and fwcolor for setting the border color of focused
and unfocused windows.
- netwm dialog type windows supported
These windows are treated as transients. Some Firefox popup windows
are tagged as dialog windows and should now work with ratpoison as
expected.
- new format character %M
This expands to Maxsize if the window is a maxsize window, nothing if not.
- ratpoison can use xft
If xft is found on your system ratpoison will use it unless explicitely
told not to using --without-xft
* Changes since 1.4.2
** key event handling
top level key bindings are grabbed "asynchronously" instead of
"synchronously." This should eliminate the freezes some people have
experienced in previous versions.
Changes:
* src/main.c (xvsprintf): limit memory allocation
to 200K when vsnprintf return -1. (i.e. on pre-1999
systems not distinguising fatal errors and too small
buffer).
* src/manage.c (get_res_name, get_res_class): remove
(update_window_name): call get_class_hints directly to avoid it
being called two times.
* src/manage.c (get_wmname): always try XmbTextPropertyToTextList
first to also support UTF-8 window titles when encoded as XA_STRING
* src/main.c (clean_up): call free_user_commands, free_groups only
after free_window_stuff
* src/window.c (free_window_stuff): remove windows from group lists
* src/action.h (free_user_commands): new prototype
* src/action.c (set_var_free,user_command_free,free_user_commands):
new functions
* src/manage.c (get_wmname): free buffer to close memory hole
* src/actions.c (cmd_windows): free buffer to close memory hole
* src/main.c (init_defaults): only load the backup font when the
default font fails.
* src/main.c (init_defaults): if the default font fails, use the
backup font.
* src/conf.h (BACKUP_FONT): new define
* src/input.c (update_modifier_map): don't map both super and
hyper to the same modifier slot.
* src/split.c (set_active_frame): call switch_frame hook
(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
* src/frame.c (frame_read): fix bug to never set dedicated
* Changes since 1.4.0
** set padding affects bar location
On OSX the bar and top of each window is hidden by the menu bar. set
padding corrects the window problem but not the bar problem. So this
change fixes that.
** new set variable framefmt
See docs for info.
** new commands swap, exchangeleft, exchangeright, exchangeup, exchangedown
See docs for info
** new commands execa and execf
See docs for info.
** default font change
It is now "-*-fixed-bold-r-normal-*-15-*-*-*-c-*-*-*" which hopefully
fixes some i18n issues.
** new command set topkmap
See info manual.
** build date in ratpoison -v
** new command sfrestore
restores frame configurations for multiple screens.
** support for i18n fonts
patch-aa is no longer necessary: rpws is now a perl script
* Changes since 1.4.0-beta4
- new parameters in frame dumps
:screenh and :screenw specify the size of the screen the frame was on.
- New window format characters
- info takes optional argument and new infofmt setting
- aspect ratio hint honoured
- new hook deletewindow
- _net_wm_pid property supported
- set warp change: the mouse position relative to the window is now used
- new command redo
- new editor bindings C-m and C-h
Take maintainership
* Changes since 1.4.0-beta2
** meta takes a key argument
This can be used to stuff keys.
* Changes since 1.4.0-beta1
** RATPOISON environment variable
RATPOISON is set to the location of the ratpoison binary. This is
useful for scripts.
* Changes since 1.3.0
** command arguments can be wrapped in double quotes.
To include a space in a command argument, wrap the argument with ".
** New command undefinekey
not passing a 3rd argument to definekey and bind no longer unbind the
key. You must use undefinekey and unbind now.
** ratpoison -c prints errors to stderr
You can now capture errors and output seperately depending on whether
its printed to stderr or stdout.
** the mouse warp feature is now turned off by default
to turn it back on, run 'warp on'.
** version now displays the date and time
** new command, sselect
sselect lets you jump to an X11 screen by number.
** configure script warns about missing history lib
Rather than error out, now, ratpoison will just be built without history.
** new commands ratwarp, ratrelwarp, and ratclick
** more new commands
inext, iprev, iother, cnext, cprev, cother, prompt, dedicate,
describekey, focusprev, sdump, sfdump.
** yet two more new commands: putsel, getsel
putsel puts the specified text into the X11 selection so other clients
can yank it. getsel returns the current selection.
* Changes since 1.3.0-rc2-beta2
** new format option %f
This options displays the frame number the window is in or a space if
it is not in a window.
** Super modifier changed from S to s. S is now the shift modifier
* Changes since 1.3.0-rc2-beta1
** New command 'set'
set replaces the def* commands. For example 'defwinliststyle column'
is now 'set winliststyle column'.
The old def* commands now alias to their 'set' version.
* Changes since 1.3.0-rc1
** Top level keymap
The keymap named 'top' is now a top level keymap. No prefix key need
be pressed to access its bindings. In fact, the prefix key is now a
binding in the 'top' keymap.
** hsplit and vsplit switched
To be compatible with emacs these command names have been
switched. The bindings are the same but custom scripts and aliases
will have to make the switch.
** new command defframesels
Allow you to customize the keys used to select frames with fselect.
** Xinerama support
Each xinerama screen is handled as X11 screens normally are. The only
different is that each xinerama screen can select from all the
managed windows.
** focuslast finds the last focused frame among all screens
** fselect selects from frames in all screens
** new command-line option --file
Used to specify an alternate configuration file.
* Changes since 1.3.0-beta3
** new configure option --disable-history
** new commands readkey, newkmap, delkmap, definekey
These commands operate on the new feature: keymaps. They allow you to
have nested keymaps.
* Changes since 1.3.0-beta2
** new command gdelete
Delete a group.
** contrib/allwindows.sh script
A script that lists all groups and the windows in each group.
* Changes since 1.2.2
** Workspace script
rpws is an installed script that adds workspaces to ratpoison. Look at
contrib/rpws for instructions on how to use it.
** new commands addhook and remhook
There are now hooks for various operations.
** Completions
You can now type Tab and get completions on window names, group names,
and colon commands.
** Line editing capabilities
You can now go forward a word, backward a char, delete a word, etc.
** New commands gnewbg, gselect, groups, gmove, and gmerge
These commands allow further manipulation of window groups.
** shell commands return status
If a command the user executed (with the exec command) returns with a
non-zero exit status, the command and exit status are reported in a
message.
** new commands gnew, gnext, gprev
Window are now part of groups. There can be more than one group.
* Changes since 1.2.0-beta5
** command return status
If a command the user executed (with the exec command) returns with a
non-zero exit status, the command and exit status are reported in a
message.
* Changes since 1.2.0-beta4
** new commands unmanage and clrunmanaged
Instead of editing conf.h you can use these commands to dynamically
add (and clear) the unmanaged window list.
* Changes since 1.2.0-beta3
** new command line argument --screen
Now you can specify the screen you want to manage. By default
ratpoison manages all screens on the display.
** new command line argument --display
Now you can specify the display to connect to.
Changes since version 1.0.0
Many bug fixes
Some portability fixes
New functionality:
(user_commands): new command "license"
Add ruby bindings. From Doug Kearns <djkea2@mugc.its.monash.edu.au>.
(user_command): new command 'link'
(find_command_by_keydesc): new function
(resolve_command_from_keydesc): likewise
(cmd_link): likewise
(update_last_access): new function
(find_last_frame): likewise
(x11_mask_to_rp_mask): new function
(rp_mask_to_x11_mask): likewise
(user_command): new command "focuslast"
(find_frame_up): new function
(find_frame_down): likewise
(find_frame_left): likewise
(find_frame_right): likewise
(user_commands): new commands "focusup" "focusdown" "focusright"
"focusleft" "startup_message" "restart".
(show_last_message): new function
(user_commands): new "unsetenv" command
(user_commands): new commands deffgcolor, defbgcolor.
(update_gc): new function
(init_defaults): new function
(init_screen): initialize the screen's fg_color to black and
bg_color to white.
(user_commands): New commands defbarloc, defbartimeout, defborder,
deffont, defintputwidth, defmaxsizepos, defpadding, deftranspos,
defwaitcursor, defwinfmt, defwinname, defwinpos.