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.

Reply via email to