1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
|
ratpoison NEWS --- history of user-visible changes. -*- outline -*-
Copyright (C) 2000, 2001, 2002, 2003, 2004 Shawn Betts
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
* 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 since 1.4.1
Just bug fixes.
* 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
* Changes since 1.4.0-beta4
** new parameters in frame dumps
:screenh and :screenw specify the size of the screen the frame was
on. using these values (when present) ratpoison will scale the frames
to fit the new screen size (if different).
** New window format characters
See the info file for details.
** info takes optional argument and new infofmt setting
the info command takes an optional formatting argument. if no argument
is supplied a default fmt is used. To change the default use 'set
infofmt'. See the manual for details.
** shell commands do not insert trailing space
Until now all completions had a trailing space. Now shell command
completion doesn't to make it easier to tab complete directories. The
previous behavior one had to delete the space then type / and
continue.
** aspect ratio hint honoured
windows with aspect ratio hints are treated as transients and are
given the same default gravity as maxsize windows.
** new hook deletewindow
When a window is deleted this hook is called.
** _net_wm_pid property supported
ratpoison will put windows that have the _net_wm_pid property into the
frame & group that was current when the windows' client was
launched. for example:
ratpoison -c split -c gnew -c "exec firefox" -c focus -c gnext
will Do The Right Thing.
** set warp change
the mouse position relative to the window is now used, instead of
relative to the root window.
** new compat command
the old def* aliases are depricated and have been moved to this
command. Execute it to restore these bindings.
** new command redo
** new editor bindings C-m and C-h
* 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
** window list style is columnar by default
* 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-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 argumen --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 1.2.0-beta2
* Changes since 1.1.1
** new comand 'defwinliststyle'
when turned on, the window list is displayed in a column, not a row.
** new command 'verbexec'
prints a message when executing a shell command
** new commands 'fdump' and 'frestore'
These commands are for saving and restoring frame sets.
** key presses
All actions now occur after the user has released the key.
** keybinding changes
fselect is bound to C-t C-f and C-t f, curframe is now bound to C-t F,
and resize is bound to C-t C-r and C-t r.
** new command fselect
select a frame by its number.
** new command 'tmpwm'
temporarily run a different window manager, then come back to
ratpoison once it has terminated.
** error and debug reporting
The format has been changed to the more standard format used by C
compilers.
** New commands 'resize', 'shrink'
resize resizes a frame and shrink shrinks a frame to the size of the
window in it.
** Shell command exit status
When a shell command fails to execute then a message is reported in
ratpoison: "Command not found."
** New command 'warp'
Toggles rat warping. By default ratpoison saves the position of the
rat when leaving a window and when the user returns to the window the
rat's position is restored. This can be counter-intuitive, so now you
can toggle it.
** split, vsplit, hsplit
These commands now take a single argument. The argument can be a ratio
which divides the frame into two frames sized based on this ratio, or
it can be a number representing the number of pixels the existing
frame will occupy.
* Changes since 1.1.0
** new commands "nextscreen" and "prevscreen"
* Changes since 1.0.0
** defbarloc changed to defbargravity
** defbarloc
This command take a gravity argument just like the wingravity
commands.
** new command defbarborder
This command allows you to customize the border width of ratpoison's
windows. These windows are the input window, the bar window, and the
current frame indication window.
** "number" command takes additional optional argument
The second argument is used to specify a window other than the
current.
** new command "alias"
An alias gives a name to a command sequence. For instance, you could
alias 'emacs' to 'exec emacs'. Then you could simply type 'C-t :emacs'
and ratpoison would boot emacs.
** new command "license"
Display ratpoison's license. This is also bound to C-t V and C-t C-V.
** input history
All input you type into ratpoison is stored as a history entry. Use
C-p and C-n to cycle through it.
** new command "defbarpadding"
This command specifies how much ratpoison pads the bar window. See the
documentation for usage.
** new command "link"
Call the command that a keybinding is bound to. for instance, 'link
C-t' would call the command 'other'.
** new command "focuslast"
Switch between the current frame and the last focused frame. It is
bound to C-t M-Tab.
** Raise requests don't change frame focus if rudeness doesn't allow it
If a window in another frame requests to be raised, a message pops up
just like everywhere else. The old behavior was to jump focus to the
windows frame regardless of the rudeness.
** New windows formatting option %l
Prints a last access number. The higher the number, the more recently
the window was accessed.
** Remove command line options --kill and --restart
Use -c quit and -c restart instead.
** New command restart
Restart ratpoison.
** New command lastmsg
Display the last message.
** New command info
display information about the current window.
** New command unsetenv
Remove an environment variable from...well...the environment.
** New command chdir
Change the current directory.
** Multiple commands passed to ratpoison via the command-line are now processed
A stream of commands like, `ratpoison -c next -c prev -c next' are
processed in order.
** clock command renamed to time
This was to improve screen compatibility.
** New command setenv
Use this to set environment variables for all programs run from
ratpoison thereafter.
** Command defbartimeout renamed to msgwait
This was done to better mirror screen commands.
** Command generate renamed to meta
This was done to better mirror screen commands.
** Comand maximize renamed to redisplay
This was done to better mirror screen commands. It is no longer bound
to C-t m it is now bound to C-t l.
** Cursor in the input window
There is now a cheap cursor to help you remember where you are.
** conf.h compile-time customizations moved
They are now accessible through the def* suite of commands.
** Window alignment
Windows can now be aligned so they stick to the top-left corner of the
screen, the center of the screen, the bottom-right, etc. Use the `pos'
command. There is a customizable default setting for each of the three
'kinds' of windows: `defwinpos' for normal windows, `deftranspos' for
transient windows, and `defmaxsizepos' for normal windows with
maximimum size hints.
** Window format string
The format of the list of windows dumped by the `windows' command is
now customizable with `defwinfmt'.
** Different Window naming schemes
Windows now have 3 resources that can be used as their default name:
the WMNAME hint which generally contains transient information such as
what file is currently open, the res_name from the WMCLASS hint, or
the res_class the WMCLASS hint. This affects commands like `select'
which search for a window by name.
* Changes since 0.1.1
** new conf.h customization MAXSIZE_WINDOWS_ARE_TRANSIENTS
determines whether windows with maxsize hints are treated like
transient windows.
** The frame indicator
The frame indicator never sticks and only appears when there is more
than one frame (i.e. when there are splits).
** Transient window handling has changed
Transient windows now map ontop of the current window.
** new command 'rudeness'
This command allows you to fine tune what windows rp will map
when. For instance you can ask rp not to map new windows. Instead it
will notify you with a message: "New window #1 (emacs)".
** user abort key sequence
When typing input, hit C-g (customizable in conf.h) to abort the
input.
** new key syntax
keys are now specified with C-, M-, A-, H-, S- which stand for the
control, meta, alt, hyper, and super modifiers. ^ does not denote
control. Before, control t looked like ^t now it looks like C-t.
** new command 'help'
help brings up a key binding listing. it is bound to C-t ?.
** new command 'quit'
This command quits ratpoison
** windows not residing in a frame are hidden
This gets rid of annoying flickers around the edges of active windows
as windows in the back update.
** rat cursor changes
When you hit the prefix key the rat cursor changes to a square to tell
you what it is waiting for another key. This feature can be removed in
conf.h.
** Split windows
Well, the day is finally here. You can now split windows in
ratpoison. Hit C-t s to split horizontally and C-t S to split
vertically. Have fun!
** new command-line option --command
You can now send ratpoison commands (colon-commands) to ratpoison via
the command line. for example to tell ratpoison to go to the next
window type this:
$ ratpoison --command next
** window borders are configurable
WINDOW_BORDER_WIDTH has been added to conf.h. This constant determines
the border width for all windows.
** Rodent handling
A new command, :banish, which will move the rat pointer out of harms
way, has been added. It is bound to 'C-t b' by default. No more
slapping your rat out of the way, as fun as that was.
* Changes since 0.1.0
** Window list changes
A '+' is now drawn between the window number and the window name for
the last accessed window.
** AltGr (XK_Mode_switch) support
ratpoison now handles AltGr on all its input.
* Changes Since 0.0.5
** C-t e removed
Since you can custo your own keystrokes, there's not much sense
cluttering things with a binding to launch emacs.
** XErrorEvents don't bring down ratpoison
A friendly message pops up displaying the error message. This does
mean that there is a problem with ratpoison and it should be
investigated and reported. But at least your entire session doesn't go
down.
** Sorted window list
The window list is now sorted by number.
** Resizing input window
The size of the input window can be customized in conf.h by setting
INPUT_WINDOW_SIZE. It also dynamically resizes to accommodate the user
input.
** Pointer location
The pointer location is saved on a per window basis. When ratpoison
switches to a window it restores the pointer location to its location
the last time that window had focus.
** Auto quit ratpoison
When the auto close feature is enabled, ratpoison will exit when the
last managed window is closed. This feature can be turned on by
uncommenting the line:
/* #define AUTO_CLOSE */
in conf.h
** Improved shell command
The 'exec' command now calls execl ("/bin/sh", "sh", "-c", cmd, 0)
where cmd is your shell command. In short, you can now make shell
command calls with parameters.
The default keybinding has been changed from C-: to C-! for the 'exec'
command.
** Command line
An emulation of screen's colon command has been implemented. This
allows you to make wm commands by name. The current command set
includes: abort, next, prev, exec, select, colon, kill, delete, other,
windows, title, clock, maximize, newwm, and version. To bring up a
command line prompt, type C-:. See the info or man page for details
on the command set and its usage.
** Keysym reading updates
keystrokes are now handled far better. Shifted keystrokes work. More
uniform key event processing.
You can no longer "over modify" keys. Previously, if C-tn was bound
to 'next', you could type C-tC-n and get the same result. No longer.
You need to explicity map both C-tn and C-tC-n if you want both to
work.
** XSizeHints honoured
Windows may not maximize fully now since they use XSizeHints to figure
out how big the window can be.
** Bold color removed
ratpoison now uses only foreground and background colors. They
default to black and white, respectively. To represent the current
window in the bar, the current window's text is reversed.
** Colormap support
ratpoison now maintains colormaps
** New keystrokes
*** C-t space and C-t enter
Do the same as C-tn (next window)
*** C-tA
Shows a the time in the display bar
*** C-tv
Shows the version of ratpoison
** Messages in the window bar
ratpoison now outputs user error messages.
** Stability
All fixed length buffer sizes in window names that resulted in
curious segfaults have been fixed.
** Themes support
There is still no theme support, despite what you might have heard.
* Changes Singe 0.0.4
** added --kill and --restart
These command line options allow the restarting and killing of a
running ratpoison process.
** Mouse jumps to the bottom of the screen on keypresses
This is pretty annoying if you're using anything other than keyboard
apps. It is disabled by default.
* Changes Since 0.0.3
** Added --enable-debug
This turns on debugging messages
** Added --version and --help command line options
* Changes Since 0.0.2
** Installation
*** Added automake and autoconf
To build and install ratpoison, you must now do this:
aclocal
automake -a -c
autoconf
./configure
make
make install
** Features
*** Added jump to window by name Hit C-t C-' and a box will pop up
asking you for the name of the window to jump to.
*** Added rename-window
hit C-t C-a and a box will pop up asking you to rename the current
window. Once it has been renamed, it will stay renamed.
** Bugs and Bug fixes
|