On Tue, Feb 28, 2017 at 04:03:07PM -0500 I heard the voice of [email protected], and lo! it spake thus: > > I've been working on the default ctwmrc. I'm attaching what I've > done so far.
Great! Let's not forget to bear in mind that whatever gets come up with, it ain't gonna make everybody particularly happy. And that it's not really for any of us anyway; we're all gonna keep using the baroque monstrosities of custom config we've come up with for ourselves over the years. We want something that provides a useful environment for somebody just trying it out, and hopefully simultaneously serves as a good example config for some of what's possible. Of course, those goals are a little contradictory... So that said, some thoughts I have from poking at it. A lot are probably matters of taste, so take 'em from that perspective. This is discussion and suggestion, not veiled [or un-] commands! - Some defaults should be the other way around I think. OTOH, I'm gonna mostly ignore that in this mail, because I'm nearly certain I'm gonna do that down in the code anyway; expect another mail about that sometime soon... - If'n you ask me, ShowIconManager and IconifyByUnmapping are Fundamental(tm). Having actual icons around for iconified stuff as the way to access them seems clunky as heck once you get more than a few windows, never mind the fun when they wind up below the windows you actually have up. Of course, I hear tell there are some weirdos on the list who DO use icons and DON'T use the icon manager at all. But, they're weird. Proof: they're on this list. - Also I'd lean toward RandomPlacement; having to manually choose the position of new windows, and having everything blocked until you do, would be pretty peculiar to people used to other environments. - It may be helpful to add some of the standardish key bindings (e.g., everybody's favorite Alt-F4[0]) for window ops. Looking over what Windows, Mac, or KDE/Gnome do might hint at some things new users might expect. I mean, maybe "sort of uwm-ish" is a reasonably default for good newbie-familiarity in 1987, but... - Similarly, some of the standard-like titlebar buttons for things like maximize, and maybe a window menu. Y'know you can do that? See [1]. Of course, what you'd want in a window menu in practice would differ from what you'd want in a root menu, so you probably would want to make a special menu for it too. - If you start messing with titlebar buttons, you probably want to consider NoDefaults instead. Actually, I'm of more than half a mind that that should be there anyway; that way somebody looking at it doesn't get all head-scratchy wondering where some magic is coming from that they can't find in the config. - I wouldn't include f.adoptwindow. The whole captive ctwm thing is weird and wonky, and I remain not untempted to deprecate and quietly murderize it. I don't think we should tempt an inexperienced user with it. f.pin is also useful demonstration; how useful it is use-wise on any given menu is probably a bit harder to call... - Definitely want more menu work. Some additional depth and categorization. Maybe showing off the various special menus[2]. I've been happier since I nested f.quit down in an extra layer of menu, so it's harder to hit accidentally. And including more of the sort of programs people are likely to want to run now that it's not the 80's. Of the 4 things you can exec from that menu, even as a grumpy old man I don't even have xman or xmag installed, and I don't recall ever even using either one other than recreationally back in the 90's. xcalc is around, but I certainly never use it either. Web browsers, OTOH, I spawn off all the time. - Similarly some of the special color overrides, title/occupy, etc. If it's a program no random new user is gonna have around or even know about (WTF is "Axe", anyway?), it won't do anything, and will only confuse them when the try and read the config. Also, perhaps swap the 'xterm' entries over to 'XTerm' so they still match the standard class even if the window name is changed (as from previous mails a while back, this may just be an extra vagary of my setup). - For the second purpose (documentation of the possible), more interspersed comments on some things would be good. Key/button bindings for instance. The header comment describing the syntax is good, but details on the individual lines about what the modifiers/context mean in human terms would probably help new readers. What each of the coloring vars are for might be nice too. Grump. The manual could use a little work on that topic too... - I like tabs for indenting blocks (though not for aligning columns after text). But Thank The Maker for getting rid of the godawful mixing of both! > A change log is in the file. I'd discourage this. They tend to end up very inconsistently updated, so that Murphy pretty much guarantees that any time you actually look at it to find out something, the thing you're looking for isn't there. And if they _were_ updated well (and usually, even if they aren't), they wind up enormous, and every time you open the file you have to scrollscrollscrollscroll to get to where you wanted to be. That's what we have a VCS for! :) > The only problem is that I tested my changes and I can not, with or > without my mods, discover what f.movetitlebar does. Anyone know? It's for moving a squeezed titlebar around on top of a window. If you don't have SqueezeTitle set, it won't do anything. > Comments on what aught to be added to a default ctwmrc as well as a > colour scheme (the default seems to be high contrast), aught to be > are welcome. Might be helpful surveying what people here are using. Mine's heavy on maroon and grays, probably because that's how twm was setup on an AIX RS/6000 box I used back in the 90's that the remote ancestry of much of my config comes from. You might try playing around with some color scheme generators. I used one I found in a little googling when I redid the web site; can't tell offhand which it was, but http://www.colorschemer.com/online.html is a nice simple one, and http://paletton.com/ has more bistles and whells. https://coolors.co/ seems to be a little of both; more random in operation. Or you just mess around trying stuff until something looks good, assuming you have a better eye for colors than I do[3]. [0] Of course, anybody trying that on my machine will be real disappointed when they find themselves staring at my 4th workspace... [1] e.g., with this quick&dirty addition, LeftTitleButton ":menu" { Button1 = : f.menu "windowops" } you can pull up the windowops menu on any window, and since it's already in a window context, stuff that acts on windows like iconify and move etc already has the window chosen, so it acts immediately, rather than waiting for you to tell it what window to act on. Maybe bind it to right-click on the titlebar instead of an icon? [2] e.g., in the test config I use here, I've got a 'f.menu "specmenus"' item in the 'main' menu, which menu looks like: menu "specmenus" { "Specials " f.title "Windows " f.menu "TwmWindows" "Icons " f.menu "TwmIcons" "Workspaces " f.menu "TwmWorkspaces" "AllWindows " f.menu "TwmAllWindows" "AllIcons " f.menu "TwmAllIcons" "Keys " f.menu "TwmKeys" "Visible " f.menu "TwmVisible" } Not all of them are really useful for much of anybody of course, especially not newbs. But some probably are. [3] Which isn't hard. Most colorblind people do. -- Matthew Fuller (MF4839) | [email protected] Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream.
