forked from jordansissel/keynav
-
Notifications
You must be signed in to change notification settings - Fork 3
/
CHANGELIST
214 lines (186 loc) · 9.16 KB
/
CHANGELIST
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
0.20110708.*
- patch from wxs to clean up errors when building with clang.
- Fix bug in grid-nav where the column was selected first, when the first
letter is that of the row.
0.20101224.*
- Fix a bug in how I use strtok_r that causes crashes in FreeBSD.
Reported by Richard Kolkovich.
0.20101014.*
- Added 'restart' command. Makes keynav restart. Useful for binding a key to
reload the config.
- Added 'loadconfig' command. This lets you include additional config files
to load on the command line or in one of the default keynavrc files.
(requested by Axel Beckert)
- keynav will now restart if it receives SIGHUP or SIGUSR1
- Map 'Enter' by default to 'warp,click 1,end' (requested by Axel Beckert)
by Axel Beckert)
- Fix a bug causing the point under the mouse cursor to not click through the
keynav window in certain conditions. Reported via mailing list by Eric Van
Dewoestine and Krister Svanlund.
0.20100623.*
- No functional changes.
- Remove monolithic build against libxdo. xdotool is now available in just
about every major platform (fedora, ubuntu, archlinux, freebsd, and more)
that we don't need to ship with xdotool.
0.20100601.*:
- Update to follow API changes in libxdo.
Now requires libxdo = 2.x
0.20100403.*:
- Use cairo graphics for drawing instead of raw Xlib. This makes drawing a
little bit less painful and will allow me to more quickly prototype ideas
in the future.
- Add 'grid nav' navigation. The original prototype was written by Nazri in 2008.
This adds a new command: grid-nav. This command takes one argument, of:
toggle, on, off. When on grid navigation, you can select a specific grid
by coordinate. The coordinates at this time are A to Z for both row and
column.
For example, if your grid is 2x2, you can select the top-right cell by
typing 'AB' when grid nav is activated.
0.20100302.*:
- Started using glib for dynamic arrays (GPtrArray)
- Uses new versioning scheme major.date.svnrev
- Added 'version' (or -v or --version) to output the keynav version
- Now requires libxdo.so.1 (via xdotool)
- Add ability to record keynav actions with the 'record' command. Optional argument
is a filename to save the recordings to for persistence across keynav runs.
Example in keynavrc to bind 'q' to record to ~/.keynav_macros:
q record ~/.keynav_macros
Works similar to vim recording.
1) Hit record once
2) Type the key you want to record to
3) Do things in keynav you want recorded.
4) Any 'end' operation or hitting record again will terminate and save
this recording.
Recordings only persist if you specify a file to save to, otherwise they are lost
across keynav restarts.
20091231.04:
- Try repeatedly to grab the keyboard with XGrabKeyboard on 'start' commands.
This loop is a necessary workaround for programs like xbindkeys that could
launch keynav but at the time of launch still hold a keyboard grab
themselves. Reported by Colin Shea.
20091231.02:
- Nonfunctional bug fixes and other code cleanup from patches by Russell Harmon
20091231.01:
- Some internal code refactor/cleanup
- Reduce drawing flicker by drawing to a Pixmap and blitting to the window.
- Allow commands to be given on keynav startup. (Reported by Colin Shea)
The same commands valid as keybindings are valid as startup commands:
% keynav "start, grid 3x3"
- Allow clicking through the keynav grid window area (Reported by Yuri D'Elia)
- Support daemonizing using the 'daemonize' command in keynavrc. Added an
example to the distributed keynavrc.
- Use new library features given by xdotool/libxdo 20091231.01
20091208:
- Support linking against libxdo.so if it is found, otherwise we build xdo.o
into keynav. The original intent of including xdotool in the release package
was to make make it easy to build keynav without a packaging system. Now
that more distros have keynav and xdotool, this requirement is less
important.
This change is in response to Debian rqeuest:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560103
20091108:
- Added xinerama support.
* Default 'start' will now only be fullscreen on your current xinerama
display. You can move between screens by using the move-* actions to move
the current selection outside the border of the current screne.
- All xdotool commands now integers so we can forward their return status
to the user.
- Actually handle SIGCHLD now so the shell commands get reaped on exit.
20080614.01:
- Several bug fixes and feature additions suggested by Yuri D'Elia.
- Sync xdotool library to 20080606
- Added default key binding Ctrl+[ as 'end' (requested by Luke Macken)
- New command: 'sh' - Executes shell commands.
Example keynavrc: ctrl+x sh "xterm -bg black -fg white"
- New command: 'history-back' - Undo a window change operation
Example keynavrc: a history-back
+ Such operations include: cut-*, grid, cell-select, move-*
+ The history size is currently hard-coded at 100 entries.
+ If you exceed 100 moves, the oldest entry will be removed.
+ Every time keynav is activated, the history is wiped.
- Fix: Any command starting with "start" is now bound globally.
- Fix: All rendering is delayed until after the end of the current command
sequence. This fixes (in order of annoyance, worst first):
1) Crash when a 'start' and 'end' exist in the same command sequence.
2) Visible 2x2 grid first, before a 3x3 grid when the start command is
'start, grid 3x3'
3) Rendering blinking a full white window on the screen before clipping to
the grid.
4) Visible blink when "cut-left,cut-up" and such are run simultaneously.
- Fix: If the 'start' command is invoked again while keynav is active, then
the default arrangement is set (full screen and 2x2 grid). Previously, the
'start' command was a no-op if keynav was active.
20080522:
- Sync xdotool library to 20080521.
- Added 2 grid examples to keynavrc
- Applied patches from Richard Kolkovich
+ Fix backwards math when calculating Nth cell when using 'cell-select N'
+ Fix dislexia when doing 'cell-select NxM'
+ Abort update() calls when app is inactive.
- Now warns you if you try to execute an invalid command.
20080509:
Feature request: Grid support.
* New command: 'grid NxM' N and M are row and columns, respectively.
You can divide the screen into any number of rows and columns.
The default is 2x2.
* New command: 'cell-select N' or 'cell-select NxM'
With this command you can select a specific cell to zoom to.
Usage: cell-select N
Selects the Nth cell, counting from top left to bottom right.
The order of a 3x3 grid would be:
1 2 3
4 5 6
7 8 9
Usage: cell-select NxM
Selects the specific cell at NxM. '2x2' will select row 2 column 2.
Other important changes:
- Whitespace before command names works now.
- Added a pile of new examples in keynavrc.
20080508:
Bug fix:
If you tried to override an existing key binding, it would add a 2nd
binding for that key instead of actually overriding it.
Reported by Tim Schumacher.
20080501:
Patches from Mark (20080501)
* ~/.keynavrc extends defaults rather than replacing them
* "clear" in ~/.keynavrc resets keybindings
* comments can appear anywhere on a line
Patches from Eric (20080501)
* If the move or size value is greater than 1.0, then assume it is an absolute value.
Patches from Lukas Mai (20080429)
* Fixes a few minor bugs
* Clean up to compile without most warnings when -pendantic and -Wall are enabled.
20071031:
- Fix support when NumLock/ScrollLock/CapsLock is on.
20071023:
- Add support for {Super,Hyper}_{R,L} modifiers (aka Mod4Mask)
20070903:
- Drag is now working. Problem was KeyEvent.state contains masks such as
| Button1Mask which is set when mouse button 1 is held, so keybindings stopped
| working. Ignoring Button[1-5]Mask in this value fixes the problem.
- Drag takes two optional arguments: a button followed by a keysequence to fire.
| 'drag 1 alt' will do an alt+leftclick drag.
| 'drag 2' will do a middleclick drag.
- sync to xdotool@20070903
- Fix a bug in parse_mods and parse_keysym where it was destructively changing the string.
- Fix a bug where I was using the loop iterator 'i' inside another for loop. Oops.
- Add to defaults my nethack-vi-style diagonal keybindings
20070814:
- Arguments for {move,cut}_{up,left,down,right} in form of percentage values.
Default for cut is 0.5 (cut the window in half)
Default for move is 1.0 (move the full width/height of the window)
- More examples in distributed keynavrc
- sync to xdotool-20070812
20070705:
- Report when keysyms or keycodes cannot be looked up for whatever reason.
20070703:
- Include COPYRIGHT (bsd license) and a sample keynavrc in the release.
20070629:
- Correctly use defaults if no $HOME and no $HOME/.keynavrc is found (patch from wxs)
- Clean target is now recursive
20070627:
- Config file support. Loads ~/.keynavrc
+ The config file lets you much more than the original keynav.
- Uses xdo for mouse activity
- Some drawing fixes