:: Re: [DNG] ctwm
Góra strony
Delete this message
Reply to this message
Autor: Dave Turner
Data:  
Dla: dng
Temat: Re: [DNG] ctwm
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./