Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

ducktape-rs

  • Clone with SSH
  • Clone with HTTPS
  • 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:

    1. Hover the pointer over this download link.

      ctwc_compositor

      It should refer to a tar file at the website ctwc.FadedAce.net.

    2. Click the above download link to start the download. The payload is less than 500KB.

    3. 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
    1. 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).