forked from herbstluftwm/herbstluftwm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
330 lines (280 loc) · 12.9 KB
/
NEWS
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
herbstluftwm NEWS -- History of user-visible changes
----------------------------------------------------
Current git version
-------------------
* New setting: verbose
* Fix the initial floating position of new windows by taking their
position relative to the nearest hlwm monitor.
* new example scripts:
- float-maximize.sh
Release 0.7.0 on 2016-02-04
---------------------------
* Handle EWMH request _NET_WM_MOVERESIZE more conform
* Make tag objects accessible by their index
* Automatically unmanage desktop windows (e.g. xfdesktop), and force them
to stay below all other windows.
* new command: close_and_remove
* new herbstclient flags: --last-arg --print0
* new example scripts:
- maximize.sh
- toggledualhead.sh
- windowmenu.sh
- wselect.sh (new subcommand "select_here")
Release 0.6.2 on 2014-03-27
---------------------------
Two bug fixes:
* A crash has been fixed. It could be triggered by changing a
non-callback settings attribute e.g. settings.raise_on_focus
* The dialog re-mapping-problem has been fixed. So now, applications can
show the same dialogs again after the dialog has been closed (e.g. the
connection window of qjackctl).
Release 0.6.1 on 2014-03-25
---------------------------
* directional shift of floating windows
* fix crash of directional focus
* document theme.minimal
Release 0.6.0 on 2014-03-19
---------------------------
* Add window decorations, configurable via the theme-object
* The tag attributes curframe_windex and curframe_wcount have been removed,
they are replaced by the more general attributes frames.focus.windex
frames.focus.wcount.
* new example script: scratchpad.sh
* if swap_monitors_to_get_tag is set to 0, then focus the other monitor if
the desired tag is shown on another monitor instead of doing nothing
* new split mode: auto
* new attribute monitors.count indicating the number of monitors
* new settings object with an attribute for each setting.
* directional focus for floating clients, i.e. switch between floating
windows via focus left|right|up|down. It also raises the freshly focused
window.
* directional monitor focusing
* new detect_monitors flags: --list -l --no-disjoin while detect_monitors
does disjoin_rects on the detected monitors per default.
* For each client a keymask can be given. A keymask is a regular
expression, that is matched against the string representation of a
keybinding. If it matches, the keybinding is enabled for this client,
otherwise not. The default is an empty keymask ("") that matches all
keybindings, so no bindings are masked out by default. A keymask is a
client attribute, and can be set by a client rule.
* add completion to the mousebind command
* add mouse function call to call commands on mouse button press
* add setting update_dragged_clients
* new rule consequence: monitor
* new command: try
* new command: silent
Release 0.5.3 on 2013-12-24
---------------------------
* make window floating faster, by dropping old motion events
* new rule flag: prepend
* close now accepts an arbitrary window id as a parameter
* Also allow decimal window ids for commands accepting a window id, like
raise, jump, close
* new split modes, i.e. parameters to the split command: bottom, right
(indicating the relative location of the new empty frame)
* new split mode: explode
* make fraction parameter for the split command optional
* respect size hints in floating and tiling mode
* new setting: frame_transparent_width
* frame_bg_transparent: instead of copying the pixmap from the root window
achieve transparency by cutting out a rectangle from the center of frames
using the Shape Extension of X.
* Make respecting of sizehints configurable for tiling and floating mode
via the client properties sizehints_tiling and sizehints_floating
* new setting: pseudotile_center_threshold
* new command: cycle_frame
* new object attribute type: color
Release 0.5.2 on 2013-06-23
---------------------------
Changes:
* cycle_all now raises the focused client.
* focus a client on its tag after moving it there (by shift_to_monitor or move)
* disallow focus_follows_mouse if the focus change hides another window
(e.g. an pseudotiled window in the max layout). In that case an extra
click is required to change the focus.
* new command complete_shell for posix shell specific completion
* add completion for the rule command
* add completion for keycombinations in keybind
* add completion for setenv, getenv and unsetenv
* the hook consequence now also tells the window id that triggerd the rule
* new command: echo
* new commands: true false
* rule labels: rules can be given a label with the 'label' property. The
label can be printed to stdout using the 'printlabel' flag to the rule
command. Unrule command accepts a label to remove all rules with that
label.
* new command: list_rules
* allow true/false as arguments to commands accepting boolean values. This
affects the commands: floating, fullscreen, pseudotile and rule.
* new command: new_attr, remove_attr, get_attr, set_attr
* new command: substitute, sprintf, mktemp
Release 0.5.1 on 2013-01-05
---------------------------
Changes:
* new command: use_previous
* Makefile: new target: install-nodoc -- install without man/html-docs
* fixup of the + flag in tag_status
* fixup of the example script q3terminal.sh
* announce it if the tag changes due to remove_monitor
Release 0.5.0 on 2012-12-31
---------------------------
Incompatible changes:
* The setting focus_follows_shift has been removed. The behaviour now is
set like it were set to 1; the focus always follows the shift now.
Changes:
* new settings: wmname, mouse_recenter_gap
* hook togglehidepanel: the default panel.sh also accepts the parameters
"current" or a certain monitor index
* align captions of the tree output (commands: layout, stack) better by
inserting a space in front of every caption
* let new clients and monitors (and other items that are stacked) appear on
top of the stacking order
* chaining of commands now is possible with the new command: chain
* new commands: and or negate
* tag switch locking for monitors. The new lock_tag and unlock_tag commands
control, whether tag switching operations for a monitor are allowed.
* set the urgent flag on _NET_WM_STATE_DEMANDS_ATTENTION
* clear the urgent flag on window focus
* new command: list_padding
* new commands: getenv/setenv/unsetenv
* new rule: ewmhnotify
* floating, fullscreen, pseudotile: default to toggle if no argument is
given
* add error messages for herbstclient
* new commands: focus_edge, shift_edge
* new command: shift_to_monitor
* optional names for monitors, new command rename_monitor
* new consequence: hook
* new example script: q3terminal.sh which provides a q3-like terminal
Release: 0.4.1 on 2012-08-30
----------------------------
This fixes some build system issues:
* Separate CFLAGS and CPPFLAGS
* Add patch level to the version number
* Only use __MACH__ if really needed
* Honor CPPFLAGS
Release: 0.4 on 2012-08-18
--------------------------
Changes that require user interaction on upgrade:
* the setting window_gap is now called frame_gap
Other changes:
* new setting window_gap which controls the gap between windows within one
frame
* new setting: frame_padding
* new command: close_or_remove
* new flags '-' and '%' for tag_status for multi monitor handling
* toggle default panel on hook togglehidepanel
* new setting: window_border_urgent_color
* new command: set_monitors
* new command: disjoin_rects
* new command: jumpto
* use clock_get_time on systems with a mach kernel (typically Mac OS X).
This lets herbstluftwm run on Mac systems again.
* fix many memory leaks.
* new command line flag --skip-visible for use_index and move_index
* new command: detect_monitors, to detect Xinerama monitors automatically
* new ewmh feature: react to _NET_WM_DESKTOP client messages
* new command: rotate
* new setting: auto_detect_monitors
* only one Makefile for herbstluftwm and herbstclient. The herbstclient
binary now is put in the main directory.
* new settings: smart_frame_surroundings and smart_window_surroundings
* new settings: window_border_inner_color and window_border_inner_width
* new settings: frame_border_inner_color and frame_border_inner_width
* new option --skip-invisible for cycle_all
* cycle_layout now offers to cycle through a custom list of layouts
* add completion for +1 and -1 to many commands: cycle, cycle_all,
cycle_monitor, cycle_layout, split and use_index
* start system wide autostart file if there is no working user defined one
* clients are restored (i.e. managed) from _NET_CLIENT_LIST even if they
are not visible
* do proper window and monitor stacking, this also introduces:
- new command: raise_monitor
- new setting: raise_on_focus_temporarily
- new command: stack
* new command: focus_nth
* new command: bring
* respect the WM_TAKE_FOCUS atom, this fixes keyboard focus issues with
many (mostly Java/swing based) applications
* new rule consequences: switchtag, ewmhrequests
Release 0.3 on 2012-04-12
-------------------------
Changes:
* new hook: window_title_changed
* hook focus_changed now also reports the window title
* the setting ignore_class is removed, because this also can be done by
rules. You can replace a line like 'set ignore_class "$foo"' in your
autostart by 'rule class~"$foo" manage=off'
* remember the value when toggling a setting and restore it on next toggle
* new command: cycle_value
* new commands: use_index, move_index
* recursive command completion for keybind
* new rule condition: title
* in the default autostart:
- new green and gray color theme
- use/move was replaced by use_index/move_index
* proper signal handling: map all windows on SIGINT,SIGQUIT,SIGTERM
* respect the initial fullscreen state of new clients on startup (as it is
set in the _NET_WM_STATE property)
* monitor locking mechanism, i.e. a new setting: monitors_locked with its
accessors lock and unlock and the command line argument -l and --locked
Release 0.2 on 2012-01-25
-------------------------
Small bugfixes and major features:
* new command: monitor_rect
* let panel.sh fork less often
* set clients to fullscreen
* new client layouting algorithm: grid layout
* new command argument: keyunbind --all
* new command: pseudotile (tile client but keep its floating size)
* new command: list_keybinds
* new hook: focus_changed
* client rules with:
- condition: class
- condition: instance
- condition: pid
- condition: maxage
- condition: windowtype
- condition: windowrole
- operator: = (equals)
- operator: ~ (regex-matching)
- flag: once
- flag: not (negation of conditions)
- consequence: tag
- consequence: focus
- consequence: index (where to insert a new client in layout tree)
- consequence: pseudotile
- consequence: fullscreen
- consequence: manage (whether window will be managed)
* basic ewmh features:
- the following properties will be set:
_NET_ACTIVE_WINDOW
_NET_CLIENT_LIST
_NET_CURRENT_DESKTOP
_NET_DESKTOP_NAMES
_NET_NUMBER_OF_DESKTOPS
_NET_SUPPORTING_WM_CHECK
_NET_WM_DESKTOP
_NET_WM_STATE: fullscreen
- the following client messages are handled:
_NET_ACTIVE_WINDOW
_NET_CURRENT_DESKTOP
_NET_WM_STATE: fullscreen
Release 0.1 on 2011-10-02
-------------------------
Initial release. The tiling algorithm and many things are working. But some
things like EWMH or rules aren't implemented yet (See BUGS file for a list of
planned features). Currently implemented features are:
* basic tiling concept
* floating mode (with border snapping)
* calling herbstluftwm internal commands with herbstclient
* change keybindings/mousebindings at runtime
* change/get settings (e.g. colors) at runtime
* add/remove monitors at runtime
* wmexec into other window manager
* dump/load tiling layouts to/from a string
* bash/zsh tab completion for herbstclient
* hook system: let herbstclient listen for internal events
* provide an easy way to build an own panel (using herbstclient hooks/commands)
(there is also an example panel.sh)
* give information about urgent state of clients