Stacking Wayland Compositor
  • C 97.7%
  • Meson 1.2%
  • Makefile 1%
  • Shell 0.1%
Find a file
2026-03-21 21:05:27 +00:00
etc border: add style (fvwm/mwm) 2026-03-21 20:04:46 +00:00
include/hikari border: add style (fvwm/mwm) 2026-03-21 20:04:46 +00:00
protocol Make hikari build with wlroots 0.13.0 2021-04-09 17:15:35 +00:00
share border: add style (fvwm/mwm) 2026-03-21 20:04:46 +00:00
src borders: add missing color.c file 2026-03-21 21:05:27 +00:00
tools build: fix typo in version script 2026-03-11 23:09:18 +00:00
.boring add layer-shell support 2020-04-06 12:19:30 +00:00
.clang-format Let there be light! 2020-02-05 10:02:33 +00:00
.gitignore Update to wlroots-0.19.2 2026-03-09 11:29:40 +00:00
CHANGELOG.md Release 3.0.0 2026-03-11 22:57:34 +00:00
CoC.md Add CoC to repository 2020-08-21 13:23:53 +00:00
hikari_unlocker.c build: fixup warnings 2026-03-11 18:16:45 +00:00
LICENSE reformat LICENSE 2020-03-10 09:15:32 +00:00
main.c Clean up Makefile 2020-07-30 16:35:26 +00:00
Makefile border: add style (fvwm/mwm) 2026-03-21 20:04:46 +00:00
meson.build border: add style (fvwm/mwm) 2026-03-21 20:04:46 +00:00
meson_options.txt meson: fix version.h generation 2026-03-11 18:16:45 +00:00
README-FreeBSD.md README: split FreeBSD instructions 2026-03-15 16:20:03 +00:00
README.md README: use correct syntax for links 2026-03-15 16:22:52 +00:00
UPDATING.md Installation without suid for hikari is now the new default 2020-12-10 10:38:09 +00:00

Hikari - Wayland Compositor

Description

hikari is a stacking Wayland compositor with additional tiling capabilities, it is heavily inspired by the Calm Window manager (cwm(1)). Its core concepts are views, groups, sheets and the workspace.

The workspace is the set of views that are currently visible.

A sheet is a collection of views, each view can only be a member of a single sheet. Switching between sheets will replace the current content of the workspace with all the views that are a member of the selected sheet. hikari has 9 general purpose sheets that correspond to the numbers 1 to 9 and a special purpose sheet 0. Views that are a member of sheet 0 will always be visible but stacked below the views of the selected sheet.

Groups are a bit more fine grained than sheets. Like sheets, groups are a collection of views. Unlike sheets you can have a arbitrary number of groups and each group can have an arbitrary name. Views from one group can be spread among all available sheets. Some operations act on entire groups rather than individual views.

Note...

This is a fork from the original hikari repository which doesn't seem to be active any longer.

Although this work was originally done in the darcs VCS, all future work is now centred on Codeberg, and hence it is expected that PRs, Issues, etc., are logged there in terms of this repo and ideally future hikari development as well.

Installation

FreeBSD

For FreeBSD-specific instruction see: FreeBSD Installation Instructions

Linux/Everything Else

Dependencies

  • wlroots
  • pango
  • cairo
  • libinput
  • xkbcommon
  • pixman
  • libucl
  • evdev-proto
  • XWayland (optional, runtime dependency)
  • pandoc (optional, needed to build man pages)

Build Environment: Meson

Compiling and Installing

% meson setup build
% meson compile -C build && meson install -C build

For specific compile-time options, see meson_options.txt although many of these autodetect based on what's installed already

Community

The hikari community gears to be inclusive and welcoming to everyone, this is why we chose to adhere to the Geekfeminism Code of Conduct.

If you care to be a part of our community, please join our Matrix chat at #hikari:acmelabs.space, or on #hikari IRC on libera.chat

Contributing

Please make sure you use clang-format with the accompanying .clang-format configuration before submitting any patches.

Patches, PRs, Issues, etc., should all be reported to the codeberg repository where this project is being managed:

https://codeberg.org/thomasadam/hikari