486 Commits (c1128417a991258b2382a76ec4529b213ee15c91)

Author SHA1 Message Date
Anselm R Garbe 2b4157eccd applied Peter Hartlich's initmodmap patch
16 years ago
Premysl Hruby 0f26de991f applied fix of toggletag by Jan Kaliszewski
16 years ago
Anselm R Garbe 840f937a98 Martin Hurtons typo fix
16 years ago
Anselm R Garbe 6975a7e31a fixed error I did when applying Martin Hurton's drawtext patch
16 years ago
Anselm R Garbe 47f63dce55 applied Martin Hurtons resizemouse patch
16 years ago
Anselm R Garbe 02a8ca95cf applied Martin Hurton's movemouse() patch
16 years ago
Anselm R Garbe 2ce50a9cad using None instead of 0 for trans
16 years ago
Anselm R Garbe bfa5869da1 abc...
16 years ago
Anselm R Garbe 087a55f8d3 removed the i = textnw... as remarked by Martin Hurton
16 years ago
Anselm R Garbe 6d7285fd6e applied Martin Hurton's scan() patch with slight modifications
16 years ago
Anselm R Garbe 69c7b4b0ba changed order of variables in drawtext
16 years ago
Anselm R Garbe 97699e5b1b applied Martin Hurton's drawtext() patch
16 years ago
Anselm R Garbe 2dc7f42fd7 applied Martin Hurton's view() simplification, not checking arg
16 years ago
Anselm R Garbe 9f3a5cb754 making a comment more explicit
16 years ago
Anselm R Garbe b48fa3f101 removed setlocale() stuff, not necessary if Xmb in use
16 years ago
Anselm R Garbe d8d733c34f added some comments regarding FAQ about s{x,y,w,h}, w{x,y,w,h}, b{y,h,lw}
16 years ago
Anselm R Garbe bb01e5a16f initialize trans with 0
16 years ago
Premysl Hruby 06f7eed103 fix of XGetTransientForHint in manage()
16 years ago
Premysl Hruby 0ffa6d1393 applied cleanup from M. Hurton and S. Nagy
16 years ago
Premysl Hruby 15ce143620 fixes using arg->i instead of arg->ui
16 years ago
anselm@anselm1 63d7190231 applied Johannes Hofmann's patch, please test
17 years ago
Anselm R Garbe b279cef670 made readin a config.h variable
17 years ago
Anselm R Garbe 4a2902efe4 forcing fullscreen windows to bw=0, though most fullscreen apps are broken anyways
17 years ago
Anselm R Garbe 6fad4c49f1 potential crash fix if xinerama behaves broken, though I doubt it
17 years ago
Anselm R Garbe 7ecadcee39 local use of xidx is useless, got rid of it, falling back to screen 0 if pointer query fails for whatever reason
17 years ago
Anselm R Garbe c86ed46a1b got rid of compile time xidx configuration, querying mouse pointer instead
17 years ago
Anselm R Garbe 9086f98068 reverted uint redefinition
17 years ago
anselm@aab 9aa4a9043d applied anydot's urgency hint patch, thanks!
17 years ago
Anselm R Garbe d5893f55be renamed eprint die
17 years ago
Anselm R Garbe f529d41ca1 simplified detach()
17 years ago
Anselm R Garbe 45768ee04b removed aux* stuff from Client
17 years ago
Anselm R Garbe bf76cefe47 minor fix to view()
17 years ago
Anselm R Garbe 9bb0f20515 applied Frederik Ternerot's grabbuttons patch with slight modifications
17 years ago
Anselm R Garbe 2431ae7df7 locale update
17 years ago
Anselm R Garbe 7f7c3140a9 fix of monocle
17 years ago
Anselm R Garbe 277155cf77 another merge
17 years ago
Anselm R Garbe 0c38ec7cd6 does this fix anything?
17 years ago
Anselm R Garbe deef4c9bfd fixed Gottox' buttonpress/ClkTagBar code
17 years ago
Anselm R Garbe b86c818599 applied Gottox' ClkTagBar patch
17 years ago
Anselm R Garbe c2a916bf30 made arrange again like it was once
17 years ago
Anselm R Garbe 2bd46d1ce6 fix
17 years ago
Anselm R Garbe 6e0ce46365 use sel instead of seeking the list
17 years ago
Anselm R Garbe c853d5e9bb resize should apply if !banned
17 years ago
Anselm R Garbe 31da0b7525 applied Gottox patch
17 years ago
Anselm R Garbe 12ea925076 untested monocle
17 years ago
Anselm R Garbe 79ecbeca7e non-zero
17 years ago
Anselm R Garbe f25cc5678f tiled layout resizehints should be respected by default
17 years ago
Anselm R Garbe 5a92420fce restored y-coordinate fixing of client windows
17 years ago
Anselm R Garbe a06b9193c7 minor fixes towards 5.0
17 years ago
Anselm R Garbe 43bb77a569 removed explicit warp in movemouse
17 years ago
Anselm R Garbe b6aa84e51b removed the ButtonPressMask for root windows as well
17 years ago
Anselm R Garbe 9ff5143acb removed root window click handling
17 years ago
Anselm R Garbe 1edf6a7866 removed font and color definitions
17 years ago
Anselm R Garbe 1f1a132784 fixed tag click handling, however ClkRootWin doesn't work for me
17 years ago
Anselm R Garbe 709da0b858 some bugfixes of the patch application yesterday
17 years ago
Anselm R Garbe 5cd65f8cd8 integrated yiyus mouse.diff (though the bar click handling is slightly broken, I'm to tired to debug it now, yiyus could you please?)
17 years ago
Anselm R Garbe e3838e8585 made Xinerama screen index customizable
17 years ago
Anselm R Garbe 016dca4f69 removed trailing spaces reported by Soleen
17 years ago
Anselm R Garbe 8f052596b2 crash fix
17 years ago
Anselm R Garbe 9463d5354b made lt visible again in config.def.h
17 years ago
Anselm R Garbe d662f98d89 added nsz' patch
17 years ago
Anselm R Garbe e5a965a274 added SHCMD support for pipe-based commands due the new spawn() versio
17 years ago
Anselm R Garbe 5d422bb1ce using foo layout during cleanup (suggested by Gottox), add Arg->v handling for togglelayout() suggested by anydot
17 years ago
Anselm R Garbe 38a43c2dcc lt will point to a foo-layout during cleanup now (Gottox' suggestion), and togglelayout respects Arg->v
17 years ago
Anselm R Garbe c56533615f integrated Peter Hartlich's patch, removed const char *c from union, simplified togglelayout
17 years ago
Anselm R Garbe a8e0772c4d applied anydot's patchset.diff
17 years ago
arg@suckless.org 98e7950be8 final version -- Gottox verified it using the test driver
17 years ago
arg@suckless.org 88e6eb4a3a revert of introduced problem
17 years ago
arg@suckless.org 0840c1367c applied nsz' textnw patch thank you
17 years ago
arg@suckless.org 077d3e435b updated the for-loop with Gottox' proposal
17 years ago
arg@suckless.org d26b60b43e minor change
17 years ago
arg@suckless.org 32f36ab2d5 applied nsz's patches (many thanks!)
17 years ago
arg@suckless.org 08bcf721b4 small change to drawtext
17 years ago
Anselm R Garbe fc578c57e4 fixed the tile() issue with xpdf
17 years ago
Anselm R Garbe c8eaab21b6 using anydot's memcpy-approach in drawtext, however it still looks awkward to me
17 years ago
Anselm R Garbe c26e22ccee Gottox' drawtext simplification
17 years ago
Anselm R Garbe c2784e4a38 applied noviewprev.diff, fix.diff and unusedflags.diff
17 years ago
Anselm R Garbe 6e9387793b fix
17 years ago
Anselm R Garbe 92f3c181c3 lt->arrange in mfact
17 years ago
Anselm R Garbe d589f7679a isfixed implies isfloating
17 years ago
Anselm R Garbe 75690c808d applied nibbles fixes, slightly modified
17 years ago
Anselm R Garbe fde58d5e63 applied yiyus tip patch from tue
17 years ago
Anselm R Garbe e1002745fa core dump fix in cleanup
17 years ago
Anselm R Garbe 940a4cc6c6 updated the initial comment to reflect the use of bit arrays
17 years ago
Anselm R Garbe 64243ab05b slight changes
17 years ago
Anselm R Garbe 32c5046635 removed bx and bw, unnecessary
17 years ago
Anselm R Garbe 6c8618f502 renamed domax into ismax
17 years ago
Anselm R Garbe 9189f7a12d simplified tile()
17 years ago
Anselm R Garbe 2d4faae522 removed Layout->updategeom, unnecessary
17 years ago
Anselm R Garbe 5d2385b636 removed TEXTW
17 years ago
Anselm R Garbe 0fe2e783e9 applied yiyus domax patch with slight modifications
17 years ago
Anselm R Garbe cd3d83f571 replaced isvisible with a macro
17 years ago
Anselm R Garbe 0a9ef560c0 removed emallocz
17 years ago
Anselm R Garbe 56b2fece9e removed debug output, sanitized tag limit check
17 years ago
Anselm R Garbe 48d0c56eac Key.mod is uint, Client.[old]bw is int
17 years ago
Anselm R Garbe 825d6cb93a s/unsigned long/ulong/
17 years ago
Anselm R Garbe f852504014 s/nextunfloating/nexttiled/, changed zoom() behavior
17 years ago
Anselm R Garbe c3fa9e879f s/unsigned int/uint/
17 years ago
Anselm R Garbe 8e05f6c592 s/void */const void */
17 years ago
Anselm R Garbe 39d1ecd5b0 applied Gottox bitmask + void *arg patch
17 years ago
anselm@anselm1 103fb58a44 some minor fixes
17 years ago
anselm@anselm1 5f55af40ae simplification
17 years ago
anselm@anselm1 822101dd5b merged tile.c again into dwm.c
17 years ago
Anselm R Garbe 6bdef73a4f take bar into account
17 years ago
Anselm R Garbe 234b12eb73 be more polite to clients which like to appear outside the window area, but still on the screen
17 years ago
Anselm R Garbe 499315c22c fix
17 years ago
Anselm R Garbe f22d047d41 make it easier for the user, if Xinerama support is given, always use the screen 0 as window area/bar area, everything else can be used for floating clients
17 years ago
Anselm R Garbe 71365a524f only snap within window area
17 years ago
Anselm R Garbe 3afca3e6a1 s/DEFGEOM/CUSTOMGEOM/
17 years ago
Anselm R Garbe 549726869b recent changes, introduced togglebar, changed some defines into variable declarations where possible
17 years ago
Anselm R Garbe 585294ce0f removed the <M> togglelayout call
17 years ago
Anselm R Garbe bd67a82fb5 removed monocle for now
17 years ago
Anselm R Garbe 14d8d828ab removed the exact focus mechanism of next/prev window
17 years ago
Anselm R Garbe 4246affc15 moved all tile()-related stuff into tile.c which is included from config.def.h, the default dwm is now nearly independent from the arrange() algorithm in use
17 years ago
Anselm R Garbe 42c4b31003 removed tileh, renamed tilev into tile again, removed counttiles, tilemaster
17 years ago
Anselm R Garbe a785a0d712 removed Layout->isfloating
17 years ago
Anselm R Garbe 489ac07e83 removed reapply() -- unnecessary
17 years ago
Anselm R Garbe 349d768b57 renamed setlayout into togglelayout
17 years ago
Anselm R Garbe 6dfa7cac56 removed temporary wildcard handling
17 years ago
Anselm R Garbe 71681c21a5 added wild-card handling for tags
17 years ago
Anselm R Garbe 704781875c applied nsz's another style patch
17 years ago
Anselm R Garbe d7cc0f6416 applied nsz's style.diff patch
17 years ago
Anselm R Garbe 6b79f3f326 just added a comment
17 years ago
Anselm R Garbe 446fa8c671 minor fixes
17 years ago
Anselm R Garbe fa244aa7fb having monocle on Mod1-m
17 years ago
Anselm R Garbe 7ac4f8a4af hotfix
17 years ago
Anselm R Garbe 7eb26288fc removed Geom stuff, introduced updategeom() again, still view is somewhat broken?
17 years ago
Anselm R Garbe 5602f44b29 implemented exact focus next, if arg != NULL to focus{next,prev}
17 years ago
Anselm R Garbe b848f4bda8 applied the proposal by nsz
17 years ago
Anselm R Garbe 86c4797f2c applied JUCE patch
17 years ago
Anselm R Garbe c094ed2473 simplification of view() as proposed by anydot
17 years ago
Anselm R Garbe bfd6079a15 applied yiyus tagset patch
17 years ago
Anselm R Garbe 7f70d90219 applied yiyus fgeom patch
17 years ago
Anselm R Garbe 858251de46 applied dfenze drawtext simplifications
17 years ago
anselm@anselm1 c059625128 applied Ph's seltags-simplification with some modifications
17 years ago
anselm@anselm1 874837f653 applied Ph's MIN/MAX patch, nice work!
17 years ago
anselm@anselm1 5fa559dbfc applied Ph's patch regarding geom and lt initialization
17 years ago
anselm@anselm1 146ff227fe applied Gottox' applyrules() fix
17 years ago
Anselm R Garbe 721b208478 applied applyrules-fix by Jukka, thank you Jukka!
17 years ago
Anselm R Garbe 6229ed20c2 fix
17 years ago
Anselm R Garbe 940240e5e6 applied the proposed monocle patch from the mailinglist
17 years ago
Anselm R Garbe 0e21794e02 yet another cleanup
17 years ago
anselm@anselm1 c982bb1389 applied Peter Hartlich's simplification patch of setmfact and his revival of MFACT, appliead Janness Hofmann's simplification of grabbuttons() -- thanks guys!
17 years ago
Anselm R Garbe 6cf73e706a aspects hints seem broken for fullscreen apps
17 years ago
Anselm R Garbe 0c71b16b92 bugfix
17 years ago
Anselm R Garbe 00c28a7ef2 setmfact should not have any effect if in floating layout
17 years ago
Anselm R Garbe 5a3a2d6b63 minor fix
17 years ago
Anselm R Garbe a355782a77 revival of mfact and setmfact
17 years ago
Anselm R Garbe 20cd336087 setlayout and setgeom are now togglable again
17 years ago
Anselm R Garbe a6a216f28c geom indicator and layout indicator is only displayed if there are several geoms/layouts
17 years ago
anselm@anselm1 2c2063bc75 hotfix of idxoftag
17 years ago
anselm@anselm1 e6ede461a9 blw/bgw calculation bugfix
17 years ago
Anselm R Garbe 6877205e9d updated configurenotify
17 years ago
anselm@anselm1 fb5f99d935 minor bugfix in applyrules
17 years ago
Anselm R Garbe 9fa5ca3538 renamed c->border into c->bw, fixed monocle to subtract c->bw from each h/w value
17 years ago
Anselm R Garbe fe6b0c0fc1 geoms are now drawed in the status bar
17 years ago
Anselm R Garbe aa2395b6a8 removed the string-based setgeom approach, introduced a new Geom type instead and a helper macro
17 years ago
Anselm R Garbe dba22848c7 made the string-based setgeom working
17 years ago
Anselm R Garbe 33b1960220 some experimental state DO NOT USE THIS, I plan to have a nicer interface to change geometries
17 years ago
Anselm R Garbe e237b2a76f some changes towards 4.9
17 years ago
Anselm R Garbe 1380569133 removed the comment again
17 years ago
Anselm R Garbe 831428b00c some polishing in tileh/tilev
17 years ago
Anselm R Garbe 69439715c0 minor bugfix
17 years ago
Anselm R Garbe f2e98f48fb added a new comment
17 years ago
Anselm R Garbe c19d4b2930 some cleanup
17 years ago
Anselm R Garbe 02673538bc added updatebarpos()
17 years ago
Anselm R Garbe 95eae7b9d2 removed all defines of geoms, implemented setgeoms() instead, added config.anselm.h to show how I'd like to see that people edit their geoms
17 years ago
Anselm R Garbe 59107755c8 some polishing
17 years ago
Anselm R Garbe d05d09b205 updated dwm(1)
17 years ago
anselm@anselm1 47b1974446 added bx, by, bw, wx, wy, ww, wh, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, th, wx, wy, ww, wh ad variables
17 years ago
Anselm R Garbe d7b074fcce new stuff
17 years ago
Anselm R Garbe c9170189bf implemented setlayout in the way proposed on the ml, split tile() into two functions, a third will follow soon
17 years ago
Anselm R Garbe f7a45ff28b allow for vstack
17 years ago
Anselm R Garbe add7df6e9b added some comments what the TODOs are for 4.8
17 years ago
Anselm R Garbe 88c8ead3e8 removed some more useless clunk
17 years ago
Anselm R Garbe 2e95837220 implemented the stuff as I discussed on dwm@
17 years ago
Anselm R Garbe 5d9ae3f3b7 fixed urgent hint handling
17 years ago
Anselm R Garbe 2e38296edd renamed maximise to monocle again.
17 years ago
Anselm R Garbe 59aa02a075 fixed urgency hint, though Xinerama integration is still ongoing
17 years ago
anselm@anselm1 e3c2d327f6 next on TODO
17 years ago
anselm@anselm1 295ad21092 renamed MAXLEN into MAXTAGLEN (backward compliance)
17 years ago
anselm@anselm1 39af3c2607 renamed monocle into maxmise, documented the keybindings in dwm(1)
17 years ago
Anselm R Garbe 96ee9d888c monocle goes mainstream
17 years ago
Anselm R Garbe a82cba2759 fixed applyrules bug
17 years ago
anselm@anselm1 f7c097e802 removed View cruft, now back to the roots
17 years ago
anselm@anselm1 ad0a2fa042 fixed some issues nsz reported in IRC log
17 years ago
anselm@anselm1 7bc272a4e4 made the basics of the tagging concept working -- if people want dynamic tags, that's even possible with this concept, the vtags[] array needs to be modified during runtime for this -- the new code is quite experimental, ugly and needs polishing
17 years ago
anselm@anselm1 f1719ac2de removed initags -- we autoselect the first tag in each view instead
17 years ago
Anselm R Garbe d99ec61482 a small fix to buttonpress
17 years ago
Anselm R Garbe 2f70a14ee1 some more changes towards a better dwm
17 years ago
anselm@anselm1 00ca643bd7 proceeded, though we still miss a real Tag struct
17 years ago
anselm@anselm1 d5178292ed simplified dwm
17 years ago
anselm@anselm1 2bfd3fffbf certain fixes, though still a lot of the mutex stuff missing
17 years ago
anselm@anselm1 a3d8c05a95 pushing my changes of tonight upstream (hg tip is NOW very UNSTABLE -- but those changes are necessary to get a decent multihead support) -- I renamed Monitor into View, to reflect in a better way the dwm terminology of the past
17 years ago
anselm@anselm1 fd01413fae fixed Gottox' mail address
17 years ago
Anselm R Garbe c43d7b7587 added Gottox to Copyright holders after all his contributions, applied his last patch
17 years ago
Anselm R Garbe de5b294edc some other fixes, resize contains a minor bug
17 years ago
Anselm R Garbe 8e0f8ffcc6 crash fix
17 years ago
Anselm R Garbe dd21823536 made arrange() Monitor-dependent as well, fixed the movemouse/resizemouse issues
17 years ago
Anselm R Garbe 9cb9c32ee7 minor
17 years ago
Anselm R Garbe 4076e2ff60 applied Gottox' monitor.diff patch (thanks btw)
17 years ago
Anselm R Garbe 55edd2d6ec made restack, drawbar also Monitor-related only
17 years ago
Anselm R Garbe 2e8e5509d9 changed arrange functions to contain the Monitor as first argument
17 years ago
Anselm R Garbe 4426032450 applied Jukka's zoom-patch
17 years ago
Anselm R Garbe e0f0397896 resize handles offscreen issues
17 years ago
Anselm R Garbe ca3e847e45 applied some necessary changes
17 years ago
Anselm R Garbe c2737b7b93 removed Monitor->dc, unnecessary
17 years ago
Anselm R Garbe 191cb9ce28 removed Monitor->root, since we do not support classical multihead
17 years ago
Anselm R Garbe 6ab163c695 some drawbar() polishing, and certain related fixes
17 years ago
Anselm R Garbe e8244395e4 urgency hook handling needs also to invert the square if present
17 years ago
Anselm R Garbe 954db46bac Chris pointed me to the fact, that the window geoms calculation can be done once for each monitor, so I applied this remark
17 years ago
Anselm R Garbe 508922b90d fixed missing else branch
17 years ago
Anselm R Garbe 4adfdc9d95 applied dme's patch to prevent changing prevtags if nothing actually changed
17 years ago
Anselm R Garbe c619363d15 applied dwm-4.8-snaptileds.diff
17 years ago
anselm@aab 012710a3ce implemented urgent hint handling (with multihead support)
17 years ago
anselm@aab c2c54cc0fa got initial Xinerama support working, though there is a lot work todo
17 years ago
anselm@anselm1 a62630ae92 some more polishing/consistency changes
17 years ago
anselm@anselm1 62b18fb9d4 proceeded with multihead/Xinerama support
17 years ago
anselm@anselm1 e0d6451086 removed maximize, there will be monocle soon
17 years ago
anselm@anselm1 7a496e9777 fixed wrong tagging stuff
17 years ago
anselm@anselm1 40a734bca9 root window and screen have to be in Monitor struct, we want side-by-side Xinerama and Multihead support (only Xinerama when enabled and present)
17 years ago
anselm@anselm1 985e330524 merged Christof Musik's Xinerama support patches, though this needs some polishing!
17 years ago
Anselm R. Garbe 5f19423c7b simplified Mod-m
17 years ago
Anselm R. Garbe d66ad1457e implemented reapply for re-applying the tagging rules during runtime, Mod-r
17 years ago
Anselm R. Garbe 68ff133857 fixed focus steeling bug done by clients like opera
17 years ago
Anselm R. Garbe 4380db468a removed support for the NetSupportingWmCheck stuff, netbeans, argouml and others also don't work with compiz, so it is Suns problem to provide a fix
17 years ago
Anselm R. Garbe 123a565bb9 yeah compiz didn't did the trick, but identifying dwm as LookingGlass (LG3D)
17 years ago
Anselm R. Garbe d0e0505301 foo
17 years ago
Anselm R. Garbe 762b66ae7c hack that adds NET_SUPPORTING_WM_CHECK handling, dwm identifies itself as compiz, hence I believe this might workaround the JDK 1.6+ XToolkit bug
17 years ago
Anselm R. Garbe cb4951dd54 applied Ritesh's patch to stext handling with some minor modifications
17 years ago
Anselm R. Garbe 667da18b31 initialize prevtags in setup, now users can setup which seltags should be selectedin config.h
17 years ago
Anselm R. Garbe e9a0733506 Using a new tags definition (const char [][MAXTAGLEN] - thanks go to Szabolcs!
17 years ago
arg@suckless.org 198502f41d moved LENGTH to dwm.c, moved prevtags to dwm.c
17 years ago
Anselm R. Garbe 35efafe8ac we check variable == value, and not the other way - the other way is for beginner programmers.
17 years ago
Anselm R. Garbe 951d022dfc removed a misleading comment about client title windows, which don't exist anymore
17 years ago
Anselm R. Garbe 54bde0f9d7 full names in -v output of dwm
17 years ago
Anselm R. Garbe 260a55ef62 doing it in a shorter way
17 years ago
Anselm R. Garbe 0e98090d65 removed fgets usage, increment offset until a line is read, dwm will drop all lines read in one call, except the first!!! one (previously it preferred the last) - but the current approach is simplier and works better for general purpose in conjunction with the offset handling
17 years ago
Anselm R. Garbe af4667a85a simplified
17 years ago
Anselm R. Garbe a98b5e5935 made error handling more proper
17 years ago
Anselm R. Garbe b8985dc7bb replaced low-level stext reading with an fgets call
17 years ago
Anselm R. Garbe 6f60b2e1cd revival of RESIZEHINTS
17 years ago
arg@suckless.org 3033d45d1c sanders patch for b2 toggle
17 years ago
Anselm R. Garbe 34e7872c89 replaced Nmacros with LENGTH(x) macro
17 years ago
Anselm R. Garbe c36f7c3c5e replaced ISTILE with domwfact/dozoom bools, removed nrules, nlayouts and ltidx, added NRULES, NLAYOUTS and Layout *layout as alternatives, removed isarrange(), checking against layout->arrange instead.
17 years ago
Anselm R. Garbe 3fd39feb41 some sanity changes
17 years ago
Anselm R. Garbe 93eee247ca going toward 4.7
17 years ago
arg@suckless.org 13577b15e5 fixed a comment
17 years ago
Anselm R. Garbe 5473e763f6 also consider width for tile fallback enforcing
17 years ago
arg@suckless.org cdd6c3e820 removed RESIZEHINTS and enhanced tile for fixed or aspect-ratio'ed clients
17 years ago