:: Re: [DNG] ctwm
Top Page
Delete this message
Reply to this message
Author: Steve Litt
Date:  
To: dng
Subject: Re: [DNG] ctwm
On Tue, 29 Aug 2017 23:18:45 +0100
Dave Turner <dave_t_turner@???> wrote:

> On 29/08/17 13:26, Adam Borowski wrote:
> > On Sun, Aug 27, 2017 at 09:14:11PM -0400, Steve Litt wrote:
> >> I tried ctwm.
> >>
> >> The package manager installs it like a breeze, but in the
> >> tradition of Debian packages, it doesn't work out of the box.
> > Instead of complaining here, it'd be more productive to talk to the
> > package's maintainer:
> >
> >      Debian QA Group <packages@???>

> >
> > Oh, wait -- the maintainer is you! (And also your cat and your
> > mother in law.). Thus, please submit patches. The package is
> > orphaned, so you are allowed to make any sane changes whatsoever
> > (as a non-DD, "sane" is defined as "whatever passes uploader's
> > review"). Drive-by changes are fine.
> >
> > You may submit the patches to Devuan or Debian, but as this matter
> > is not related to systemd, the latter would be greatly better:
> > (still) 100-1000 times more users, packages migrate to Devuan
> > anyway. Thus, it'd be nice if you could send your proposed changes
> > for review to anyone who can upload to Debian (like me for example).
> >
> >> First problem: The Debian package forgets to install
> >> /usr/share/xsessions/ctwm.desktop, so pressing F1 on the slim
> >> login screen doesn't find it. You can't get to ctwmrc using
> >> normal methods. Oops.
> >>
> >> So create the following /usr/share/xsessions/ctwm.desktop :
> > [snip]
> >
> > This looks like an obvious, undebatably good change.
> >
> >> If you only use a mouse...
> >>
> >> Trouble is, as it ships from the factory, ctwm is extremely
> >> keyboarder hostile. Try it and see: No matter what you do with
> >> your keyboard, you need to grab your mouse to fix the focus. Given
> >> that most lightweight WMDE users are keyboardists, this is a
> >> problem.
> >>
> >> Or not.
> >>
> >> Edit ~/.ctwmrc after copying it elsewhere, and add the following
> >> lines below the list of simple settings like "NoGrabServer" or
> >> "GrabServer", "DecorateTransients", the font assignments, etc, add
> >> the following lines:
> >>
> >> ==================================================
> >> UsePPosition "on"       # Help kbd instantiated windows get focus
> >> RandomPlacement "on"    # Help kbd instantiated windows get focus
> >> AutoFocusToTransients   # Help kbd instantiated windows get focus
> >> SaveWorkspaceFocus      # Obviously workspace focus should be
> >> retained WindowRing              # Enable Alt+Tab type window
> >> circulation WarpRingOnScreen        # Enable Alt+Tab type window
> >> circulation ==================================================  
> > I don't know ctwm (and was greatly relieved as a newbie that I can
> > replace that twm thingy with WindowMaker) -- thus, in your opinion,
> > is what you propose:
> > ᴀ) a default good for everyone
> > ʙ) personal preference of a random (if well-meaning) guy?

> >
> > If ᴀ, then what about making it work better out of the box?
> >
> >> Now go below all the Button assignments as well as any hotkey
> >> assignments, and add the following:
> >>
> >> ==================================================
> >> # HOTKEY DMENU Ctrl+Shift+;
> >> "semicolon" = s | c : all : f.exec
> >> "/home/myuid/bin/dmenu_litt.sh"
> >>
> >> # HOTKEY defops MENU, HIGHEST LEVEL CTWM MENU
> >> "comma" = s | c : all : f.menu "defops"
> >>
> >> # HOTKEY LIST OF ALL MENUS ON ALL WORKSPACES
> >> "period" = s | c : all : f.menu "TwmAllWindows"
> >>
> >> # NOTE! ALT+TAB CANNOT BE MADE TO WORK.
> >> # USE Ctrl+Shift+h and Ctrl+Shift+l instead.
> >> "h" = s | c : all : f.warpring "prev" # HOTKEY REV THIS WKSPC
> >> WINS "l" = s | c : all : f.warpring "next" # HOTKEY FWD THIS
> >> WKSPC WINS
> >>
> >> "u" = s | c : all : f.menu "TwmWindows" # HOTKEY THIS WKSPACE WIN
> >> LIST ==================================================
> > I'd put this into /usr/share/doc/ctwm/examples/ -- unless you
> > believe it'd be reasonable to override the current/old upstream
> > default with what you propose.
> >
> >> I don't know how resource-conserving ctwm is compared to twm,
> >> Openbox and its other competitors, but I believe ctwm can be
> >> crafted into a demu-equipped, keyboarder high productivity machine
> >> just like Openbox and all the others, while still respecting your
> >> machine's resources and not spending them profligately.
> > I'd dismiss this particular argument. We're not talking about a WM
> > which is so bloated to require the machine to have whole 4MB ram
> > and thus needs to be trimmed down to run on 2MB. The crummiest
> > monitor-capable SoC you can buy today has ~1GB ram, with anything
> > real having 2GB in the low-end ARM world and far more everywhere
> > else.
> >
> > Only a few WMs can be still called "bloated": GNOME (needs a
> > mid-end GPU to even run, or slooow software emulation otherwise),
> > Cinnamon (uses GNOME's backend), maybe some configurations of KDE.
> >
> > Choice between everything else should be a matter of ergonomics
> > only: you use what is most comfortable for you; micromanaging the
> > last bit of resource usage is counterproductive -- it'd be like
> > writing an editor in assembly.
> >
> >
> > But, returning to the original issue: you can't claim that the
> > maintainer does a bad job if there's no maintainer. There's also
> > no one to step in your way if you'd want to make improvements.
> >
> >
> > Meow!
>
> I wondered why ctwm in debian was 10 years out of date!
>
> I've never built a proper deb before, and I didn't do a proper job
> this time, just did enough to get ctwm working.
>
> If you want the latest 4.0.1 version released in June 2017 do this:-
>
> *ctwm*
>
> Now we come to ctwm. The version of ctwm in debian and therefore
> devuan is 3.7-4 which is more than 10 years old!
> The latest version of ctwm is 4.0.1 dated 2017-06-05.
> Note that cmakeis a requirement and will be installed using aptitude
> as normal.
>
> *so we are going to use the source code from the ctwm project.*
>
> sudo apt-get install cmakebzr
>
> now use aptitude to install:- libX11-dev libxmu-dev libxpm-dev
> libjpeg-dev flex bison cmake checkinstall
>
> ctwm needs yacc, debian has bison so we’ll try that… and it worked!
>
> create ~/code/bzr
>
> # Create a workspace and get the current code
> % mkdir -p ~/src/ctwm
> % cd ~/src/ctwm
> % bzr branch lp:ctwm trunk
>
> ## The `bzr branch command will probably give a warning about
> ## "launchpad-login". If you're not intending to push code back
> ## up to launchpad, you can ignore it.
>
> ## Build, etc
> % cd ~/src/ctwm/trunk
> % makethen inside the /bzr/ctwm/trunk/build directory where ctwm
> is:-sudo checkinstall
> and it worked!
>
> The final info from the make is “You can remove it from your system
> anytime using:dpkg -r build
>
> /installing ctwm on sid the only dependency seems to be librplay3 but
> ctwm say USE PLAY is OFF by default! Probably doesn’t need it then!
> Seems to work OK./



Hi Dave,

We should stay in touch. I'm going to make two tiny Devuan packages:
One to add a couple files to make dmenu scroll vertically, and one to
make ctwm keyboarder friendly, easily visible for all visual acuities,
and to install the xsession files that the Debian package doesn't
install. I'm hoping what I do is absolutely independent of the ctwm and
dmenu packages used, but we should still keep in touch.

SteveT

Steve Litt
September 2017 featured book: Manager's Guide to Technical
Troubleshooting Brand new, second edition
http://www.troubleshooters.com/mgr