CTWC
A CTWM Work-Alike for Wayland
Description
CTWC is a custom collection of agent modules for use with any compositor which supports Built-in Clients and the Agent Protocol, e.g., the TWC compositor. The result is a desktop personality inspired by the CTWM window manager for the X Window System.
CTWC provides a test-bed for the TWC compositor and for the TWC modular architecture. A Wayland based work-alike for CTWM was the original motivation for the TWC project.
Design
CTWC makes extensive use of the Agent Protocol. It contains several Built-in Clients, each dedicated to the function of a single agent and each implemented in a separate source file.
The source files (modules) are:
-
geom.c
Binds the interactive agent for select, move, resize.
-
icon.c
Binds the icon stylist to create icons for windows.
-
wksp.c
Binds the workspace agent to manage workspaces.
-
icon_mgr.c
Binds the task agent to supply icon managers.
-
menu.c
Binds the menu agent to provide menus and keyboard shortcuts.
-
deco.c
Binds the decoration stylist to adorn windows.
Since each agent is implemented as a separate client, it is possible/tractable to replace any agent with some alternate. Even an individual user may modify or rewrite any of the agent modules.
Each CTWC client (agent) is built as shared-object plug-in. For convenience, a single multi-client plug-in is built which contains the built-in version of all the CTWC clients.
For completeness, a compositor, called ctwc_compositor, is built with all the CTWC agents statically linked.
Status
The current code base should be considered pre-alpha and very unstable. It is essentially a first cut at a Wayland replacement for CTWM.
See the TWC Project for more context and the trial howto for info on how to download, build and install. All work is confined to a single directory tree including installed files, so removing the trial is easy.
Preview
As a convenience for the curious, an executable version of a CTWC compositor is provided.
To download the ctwc_compositor executable:
-
Hover the pointer over this download link.
It should refer to a tar file at the website ctwc.FadedAce.net.
-
Click the above download link to start the download. The payload is less than 500KB.
-
Copy and paste the following checksum line into a file named ctwc_sha256sum. Note you're copying the checksum data from a page located in the CTWC repository at gitlab.
dd15d60f2166f4994eb065665d05800be6fe68177f26a7cb2d1918f664060674 ctwc_25_03_25.tar.gz
- Verify the checksum of the tar archive.
$ sha256sum --check ctwc_sha256sum
Once downloaded and checksummed, use these instructions to unpack the tar archive.
PATH_TO_DOWNLOAD_DIR=. . .
PATH_TO_PREVIEW_DIR=. . .
ARCHIVE=ctwc_<date>.gz
mkdir --parents ${PATH_TO_PREVIEW_DIR}
cd ${PATH_TO_PREVIEW_DIR}
cp ${PATH_TO_DOWNLOAD_DIR}/${ARCHIVE} .
tar -tf ${ARCHIVE}
README
ctwc_compositor
ctwc_example.toml
package_chk.sh
tar -xvf ${ARCHIVE}
Now review the README file.
Note: The deep graphics nature of any wayland compositor makes running them in a virtual machine problematic. Success is more likey with the latest systems. CTWC is currently developed on Debian trixie (testing).