LinuxCommandLibrary

wlc

Run a Wayland compositor

TLDR

List projects using a configuration file

$ wlc [[-c|--config]] [path/to/file] list-projects
copy

List components in a project, and override API URL and API key
$ wlc [[-u|--url]] [URL] [[-k|--key]] [key] ls [project]
copy

List translations from a component in a specific format
$ wlc [[-f|--format]] [text|csv|json|html] ls [project]/[component]
copy

Print statistics for a project
$ wlc stats [project]
copy

Display help
$ wlc [[-h|--help]]
copy

SYNOPSIS


The term "wlc" primarily refers to the Wayland Compositor Library (libwlc), a development library, and not a direct, executable Linux command. Therefore, a standard command synopsis in the form of `command [options] [arguments]` does not apply.

Functionality derived from libwlc is typically integrated into other Wayland compositors or specialized debugging/development utilities that might use "wlc" in their name, but `wlc` itself is not a command.

PARAMETERS

(Not applicable)
    As "wlc" is a library and not a standalone command, it does not accept command-line parameters in the traditional sense. Its functionalities are invoked programmatically by applications built upon it. Any tools that might have 'wlc' in their name (e.g., `wlc-backend-info`) would have their own specific set of options and arguments.

DESCRIPTION

"wlc" primarily refers to the Wayland Compositor Library (libwlc), an integral C library designed for creating Wayland compositors. Wayland is a modern display server protocol, aiming to replace the older X Window System. Unlike traditional Linux commands such as `ls` or `grep`, `wlc` is not an executable program that a user would run directly from the terminal.

Instead, it serves as a foundational building block, providing a robust and extensible framework for developers to implement their own Wayland compositors. These compositors manage windows, drawing, input, and other graphical elements on a user's screen. While `libwlc` significantly simplified the development of Wayland environments, it has since been largely superseded by newer projects like `wlroots`, which offers a more modular and feature-rich approach to Wayland compositor development.

CAVEATS

`wlc` itself is not a direct command-line utility. It is a library used by developers to build Wayland compositors. Users typically interact with the compositors built using `wlc` (or similar libraries like `wlroots`), rather than `wlc` directly. It's crucial to understand this distinction to avoid confusion.

Furthermore, `libwlc` has largely been deprecated in favor of `wlroots` for new Wayland compositor development, offering more flexibility and features. While existing compositors might still rely on `libwlc`, new projects are encouraged to use `wlroots`.

USAGE CONTEXT

While `wlc` is not a command, its influence is seen in Wayland-based desktop environments and window managers. If you are using a compositor built with `libwlc` (e.g., some older versions of `sway` or other custom compositors), you are indirectly utilizing `wlc`'s capabilities. Debugging and development tools related to Wayland might occasionally expose information or settings that reference the underlying `libwlc`.

DISTINGUISHING FROM `WC`

It's important not to confuse `wlc` with `wc` (Word Count), which is a standard Linux command used to count lines, words, and characters in files. They are completely unrelated in functionality and purpose.

HISTORY

The `libwlc` project was initiated with the goal of providing a stable, performant, and easy-to-use library for developing Wayland compositors. It aimed to abstract away much of the complexity of the Wayland protocol, allowing developers to focus on the unique features of their compositors. It gained traction as an alternative to building compositors from scratch using low-level Wayland protocols.

However, over time, `libwlc`'s architecture proved less flexible for certain advanced use cases and its maintenance slowed. This led to the creation and rise of `wlroots`, which adopted a more modular approach, allowing compositors to pick and choose components as needed. Consequently, `libwlc` is now largely considered deprecated, with `wlroots` being the de facto standard for new Wayland compositor development.

SEE ALSO

wayland(7), wlroots(7), sway(1), weston(1), gnome-shell(1), kwin_wayland(1)

Copied to clipboard