forked from BurntSushi/pytyle1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
executable file
·176 lines (145 loc) · 8.66 KB
/
CHANGELOG
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
#===============================================================================
# PyTyle - A manual tiling manager
# Copyright (C) 2009 Andrew Gallant <[email protected]>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#===============================================================================
Last updated: Aug 28, 2009 at 0:17
See http://pytyle.com for more information. Also,
please don't hesitate to contact me:
#===============================================================================
0.7.4
- Bug fix: Detection of panel orientation
If you let PyTyle automatically detect your panels (i.e., not setting your
workarea), then it wasn't properly reserving space if your panel was at
the top or left of your screen.
- Bug fix: Decorations (NEW CONFIGURATION OPTION ADDED)
If you aren't using any decorations at all in Openbox, then PyTyle was still
fiddling with them. Specifically, if you had decorations disabled on the
Openbox end, then PyTyle would re-add them if you issued an untile command.
Since Openbox still reports the sizes of decorations even when they're
disabled, there really isn't a way to reliably detect whether a window has
decorations or not. The solution here was to add a new configuration option:
original_decor. This should simply be whether or not you have decorations
enabled/disabled from the Openbox end.
#===============================================================================
0.7.3
- Detects new panels/docks on the fly
PyTyle will now detect panels/docks added while it's running. (You shouldn't
have to restart PyTyle when you change the orientation of your docks/panels.)
Note: This will *only* work if you're using one screen and *haven't* set
the WORKAREA option in your configuration file.
#===============================================================================
0.7.2
- New wiki added
http://pytyle.com
Check it out!
- Dynamically load your configuration file
In keeping with the fashion of XMonad, you can now change your PyTyle
configuration on the fly with the "reload" command (by default, it is
assigned to the "Alt-Q" key binding). Anything goes. You could even add
your own custom tiling layout from scratch while PyTyle is running.
Note: The "global_tiling" option isn't available to be changed dynamically.
Should it? Thoughts are welcome.
- Layout proportions are kept
Before this version, whenever you added/removed a new window to your tiling
layout, the master/slave proportions were reset to their defaults. This
should not happen any more. Layouts now have the ability to save their
"state" on the fly. (If you've been hacking your own layouts, it's important
that you take a look at the code changes in, say, PyTyle/Tilers/Vertical.py
so that you can incorporate saving state in your layout as well. It is very
easy.)
Note: You can reset your tiling state by doing one of the following three
things:
1. Change your tiling layout
2. *Reset* your layout (This isn't the regular "Alt-A" but the
"Alt-Shift-Space" command.)
3. Reload your configuration file.
- More layout options
Check out the default configuration file provided with this release for
additional LAYOUT configuration options. Namely, you can change the default
width/height factor of the Vertical/Horizontal layouts.
Note: You do not need to incorporate these changes into your configuration
file. PyTyle keeps all default config settings embedded to fall back on if
a setting is missing in the configuration file.
Note 2: If you ever want to reset your config file, you can do so easily by
stopping PyTyle, renaming your current configuration file to something else,
and starting PyTyle again. You will have a brand new default configuration.
#===============================================================================
0.7.1
- Some bug fixes.
#===============================================================================
0.7
- Initial support for Compiz.
This is done by detecting and calculating all of the viewports that
Compiz uses instead of desktops. The only thing that's giving me a
bit of trouble in Compiz is the Cascade layout, namely, something is
going wrong when I'm resetting the stacking order. (Window focus is
weird.) Also, if you're curious, x/y positions of windows in Compiz
are *relative* to the current viewport. So if you're using wmctrl to
debug, don't expect to get cogent x,y positions unless you figure in
the current viewport (which wmctrl will give you with wmctrl -d).
Note: Using multiple desktops with multiple viewports should, in theory
work. It has not been tested.
Note 2: PyTyle is only enabling viewport support when it detects that
*Compiz* is the window manager. If any other window manager needs
viewport support from PyTyle, I'll need to know about it to add it. (Or
you could modify Probe.is_compiz.)
Note 3: Per workspace/screen default layouts work with viewports. However,
this will not work as expected if you're using viewports and multiple
desktops.
- Global tiling option added
This is found in the "MISC" section of the configuration file. When
enabled, tiling will automatically be enabled on *all* workspaces and
screens. Meaning that, if you start PyTyle with this option enabled,
it will tile all workspaces immediately. (It will still use default
layouts specified in TILING.) You can still disable tiling on a per
workspace/screen basis by issuing the traditional "untile" command.
- Key binding setup changed (Support for specific layout on key press)
Before, I was using first class methods to bind keys to certain tiling
actions. While easy to do, it was not robust enough. I have now replaced
the first class methods in the configuration file with simple strings.
(Which, incidentally, are eventually passed through eval.) This means
that any old configuration file will be an epic fail with this new
version.
Note: You can bind keys to layouts by following the examples in the
configuration file. (By default, they are commented out.)
Note 2: "tile.default" has replaced "Tile.tile". It is the same thing.
Note 3: Incidentally, if you wanted to bind a certain tiling layout to
say, a menu item in OpenBox, you might set the Cascade layout to
"Ctrl-Alt-C", and you could use the command "xdotool key ctrl-alt-c"
to instruct PyTyle to use the Cascade layout. This of course requires
that you install xdotool. (This "workaround" is in place of using a
command line option like "pytyle cascade". It's possible this will be
implemented in the future.)
- Specific layout options
Layouts can now have specific configuration options. For example, the
Cascade layout was at first using the full screen. Instead of creating
a new and separate layout that was representative of a more traditional
cascading layout (i.e., not full screen, and indented windows), I've
added the ability to simply re-tool the current Cascade layout. For
example, you can change the "push_over" option to have a window indent
effect, or perhaps you might want the windows cascading on the right
side of the screen instead of the left. Among other things, you can also
change the relative width/height of the cascading windows.
- New tiling layout added: Horizontal Rows
Make sure you have a nice tall screen for this one! This resembles the
regular horizontal layout, but instead of piling all the windows in one
row underneath the master, it will actually use an arbitrary number of
rows depending on the number of columns you specify. (Another example
of using layout specific configuration- by default, it is 2 columns.)
All the usual tiling functions still work with this layout.
#===============================================================================