Crate penrose_ui

source ·
Expand description

Penrose-ui: a bare bones toolkit for adding UI elements to Penrose

A note on the intended purpose of this crate

Penrose-ui is not intended as a general purpose UI library. It is incredibly minimal in the functionality it provides and is primarily designed to provide a built-in status bar for the penrose tiling window manager library. While it should be possible to make use of this crate for writing UIs without integrating with penrose, that is certainly not the intended use case and is not fully supported.

Getting started

The main functionality of this crate is provided through the Draw nad Context structs which allow for simple graphics rendering backed by the xlib and fontconfig libraries.

A note on the use of unsafe code

Given the aims of this crate and the desire to pull in as few dependencies as possible, it makes heavy use of unsafe to wrap C FFI calls. Please make sure that you read the available documentation and SAFETY comments in the source code to understand what is happening under the hood if you have any concerns about this.

Re-exports

Modules

  • A lightweight and configurable status bar for penrose
  • The core Draw and Context structs for rendering UI elements.

Enums

  • Error variants from penrose_ui library.

Functions

  • Create a default dwm style status bar that displays content pulled from the WM_NAME property of the root window.

Type Aliases

  • A Result where the error type is a penrose_ui Error