~ctwm/ctwm/trunk

« back to all changes in this revision

Viewing changes to doc/devman/rlayout.adoc

  • Committer: Matthew Fuller
  • Date: 2018-12-16 22:56:18 UTC
  • Revision ID: fullermd@over-yonder.net-20181216225618-qe1z8dwdjiyw8jqn
Adjust SVG refs to use faked fragment id's rather than query params.
This lets HTTP caching only pull it once.

Show diffs side-by-side

added added

removed removed

Lines of Context:
76
76
 
77
77
Let's consider an example layout.
78
78
 
79
 
image::static/monitors.svg?v_monitors=1[opts=interactive]
 
79
image::static/monitors.svg#v_monitors=1[opts=interactive]
80
80
 
81
81
When starting up, ctwm will find the maximal horizontal:
82
82
 
83
 
image::static/monitors.svg?v_hstripe=1[opts=interactive]
 
83
image::static/monitors.svg#v_hstripe=1[opts=interactive]
84
84
 
85
85
and vertical:
86
86
 
87
 
image::static/monitors.svg?v_vstripe=1[opts=interactive]
 
87
image::static/monitors.svg#v_vstripe=1[opts=interactive]
88
88
 
89
89
stripes.  This get stashed up in the `RLayout` for the Screen, and will
90
90
be used when figuring various zooms.
97
97
 
98
98
#### Horizontal zooming
99
99
 
100
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_x=300&g_xwin_y=40[opts=interactive]
 
100
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_x=300&g_xwin_y=40[opts=interactive]
101
101
 
102
102
This window is now _mostly_ on `Mon1`, and mostly on the "top half" of
103
103
things.  If we `f.horizoom` it, it thus zooms up to the full width of
104
104
`Mon1`:
105
105
 
106
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_w=400&g_xwin_x=3&g_xwin_y=40[opts=interactive]
 
106
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_w=400&g_xwin_x=3&g_xwin_y=40[opts=interactive]
107
107
 
108
108
But if we `f.xhorizoom` it, it takes up the full width of the horizontal
109
109
stripe it's on (_note showing stripes in the background here, not
110
110
monitors like the surrounding images_):
111
111
 
112
 
image::static/monitors.svg?v_hstripe=1&v_xwin=1&g_xwin_w=600&g_xwin_x=3&g_xwin_y=40[opts=interactive]
 
112
image::static/monitors.svg#v_hstripe=1&v_xwin=1&g_xwin_w=600&g_xwin_x=3&g_xwin_y=40[opts=interactive]
113
113
 
114
114
Or, if we moved it over so most of it was on `Mon2` instead,
115
115
 
116
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_x=350&g_xwin_y=40[opts=interactive]
 
116
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_x=350&g_xwin_y=40[opts=interactive]
117
117
 
118
118
then the `f.horizoom` would zoom it up to the full width of `Mon2`:
119
119
 
120
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_w=200&g_xwin_x=403&g_xwin_y=40[opts=interactive]
 
120
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_w=200&g_xwin_x=403&g_xwin_y=40[opts=interactive]
121
121
 
122
122
and `f.xhorizoom` would do the same thing as above.
123
123
 
131
131
 
132
132
Now let's consider `f.fullscreenzoom` and its `x` variant.
133
133
 
134
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_x=300&g_xwin_y=100[opts=interactive]
 
134
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_x=300&g_xwin_y=100[opts=interactive]
135
135
 
136
136
The window is still mostly on `Mon1`.  Note that part of the window is
137
137
currently in dead space, and so not visible.  If `f.fullscreenzoom` it,
138
138
because it's mostly on `Mon1`, it will cover that monitor completely:
139
139
 
140
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_w=400&g_xwin_h=200&g_xwin_x=3&g_xwin_y=3[opts=interactive]
 
140
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_w=400&g_xwin_h=200&g_xwin_x=3&g_xwin_y=3[opts=interactive]
141
141
 
142
142
Or, if we pushed it over to be mostly on `Mon2`,
143
143
 
144
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_x=350&g_xwin_y=100[opts=interactive]
 
144
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_x=350&g_xwin_y=100[opts=interactive]
145
145
 
146
146
then `f.fullscreenzoom` will fill that out:
147
147
 
148
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_w=200&g_xwin_h=400&g_xwin_x=403&g_xwin_y=3[opts=interactive]
 
148
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_w=200&g_xwin_h=400&g_xwin_x=403&g_xwin_y=3[opts=interactive]
149
149
 
150
150
`f.xfullscreenzoom`, like the other `x` variants, will span monitors.  In
151
151
the case of `fullscreenzoom`, it will consider both the horizontal and
158
158
as a monitor.  So ``f.xfullscreenzoom``'ing the window will make it cover
159
159
up the whole top horizontal stripe:
160
160
 
161
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_w=600&g_xwin_h=200&g_xwin_x=3&g_xwin_y=3[opts=interactive]
 
161
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_w=600&g_xwin_h=200&g_xwin_x=3&g_xwin_y=3[opts=interactive]
162
162
 
163
163
If, however, we first moved it down so it didn't occupy the top
164
164
horizontal stripe at all,
165
165
 
166
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_x=350&g_xwin_y=225[opts=interactive]
 
166
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_x=350&g_xwin_y=225[opts=interactive]
167
167
 
168
168
then the largest stripe available for it to fill would be the right
169
169
vertical stripe, leading to the same result as the right-size
170
170
`f.fullscreenzoom` above:
171
171
 
172
 
image::static/monitors.svg?v_monitors=1&v_xwin=1&g_xwin_w=200&g_xwin_h=400&g_xwin_x=403&g_xwin_y=3[opts=interactive]
 
172
image::static/monitors.svg#v_monitors=1&v_xwin=1&g_xwin_w=200&g_xwin_h=400&g_xwin_x=403&g_xwin_y=3[opts=interactive]
173
173
 
174
174
In this case, it's technically filling `Vstripe2`, rather than `Mon2`,
175
175
but in the case of the particular layout we're working with, it's the