HIVE (HBOS Interface & Visual Environment) is a lightweight, modular desktop environment for HBOS. It provides the window manager, compositor, desktop shell, user-space GUI toolkit, and SDK for building independent graphical applications. The HPT package manager is a required Git submodule and ships in every regular HIVE build.
git clone --recurse-submodules https://github.com/HeBitOS/HIVE.git
cd HIVEFor an existing checkout, initialize dependencies with
git submodule update --init --recursive.
app/
├── include/ Public HAX/HIVE application SDK
├── calc.c Independent calculator
├── clock.c Independent uptime clock
├── files.c Independent file manager
├── hexview.c Independent hexadecimal viewer
├── imgview.c Independent BMP viewer
├── settings.c Independent settings frontend
├── shortcuts.c Independent shortcut reference
├── taskmgr.c Independent process-signal frontend
├── widgets.c HIVE toolkit showcase
└── wdemo.c Independent windowed application example
src/
├── api/ Snapshot of the HBOS ↔ HIVE service contract
├── graphics/ GUI font, icon, and wallpaper renderers
├── gui/ Window manager, compositor, runtime, and migration code
├── gpu.c/.h Display backend used by the current runtime
└── tools/gui.c Legacy in-kernel desktop shell pending ring3 migration
tests/ Host-side SDK and interaction tests
tools/ Resource generation utilities
docs/ API reference and repository-boundary documentation
HPT/ Required package manager Git submodule
Applications under app/ only include the public SDK and keep their UI state
inside hive_ui_t. They must not include desktop-private headers such as
gui_state.h, wm.h, or winsrv.h.
HIVE 0.1-beta5-gui.3 provides Toolkit API 1.3: Label, Button, Textbox,
Checkbox, List, Progress, Slider, Scrollbar, Menu, Image, Canvas, and Panel
widgets; row/grid layout and widget trees; keyboard focus; hover/pressed states;
pointer capture; text selection; and UTF-8-safe editing.
HIVE includes HPT, its apt-style package manager for disk-installed HAX
applications, as a pinned Git submodule. HPT supports local and IPv4 HTTP
repositories plus CA-verified DNS/IPv4/IPv6 HTTPS repositories with
AAAA-first/A-record fallback, cached metadata, search, dependencies, SHA-256
verification, install/remove/upgrade, and execution through execve. HIVE
deliberately has
no supported package-manager-free variant. Only a future fully kernel-only
HBOS profile may omit the entire HIVE/HPT user-space stack. See the
HPT documentation.
The registration-based desktop applications are now independent HAX
processes. The desktop discovers them through HAX metadata, launches them
asynchronously, and passes file paths to the image and hexadecimal viewers.
Their former src/gui/apps/ modules are no longer present or linked.
The repository is still in the physical-split transition for the desktop
runtime itself. Several older tools implemented directly inside
src/tools/gui.c (notes, file statistics, snake, browser, code workbench, and
terminal) remain to be extracted while the desktop, resources, and compositor
move from kernel-linked code to a ring3 service.
make testThe host-side test validates the public widget ABI, input state machine, widget trees, layout helpers, slider dragging, mouse release behavior, text selection, UTF-8 editing, and the rule that independent applications cannot include desktop/kernel-private headers. It also runs HPT's parser, version, SHA-256, and repository-manifest tests.
The transitional window server still depends on HBOS kernel contracts. Test it against a local HBOS checkout with:
make integration-test HBOS_DIR=/path/to/HBOSBuild every independent application, including HPT, without building an ISO:
make apps HBOS_DIR=/path/to/HBOSGenerate a local HPT repository from those application artifacts:
make repo HBOS_DIR=/path/to/HBOSServe the generated build/repo directory on Linux with
HPT-server.
Keep an HBOS checkout next to this repository, then build and start the HIVE sources and applications directly in QEMU:
make runmake start is an alias for make run; use make run-uefi for UEFI or
make image to build without starting QEMU. If HBOS is elsewhere, pass
HBOS_DIR=/path/to/HBOS. Integration artifacts are kept under
build/hbos/ in this repository.
Refresh only the HBOS-owned ABI and libc contract snapshots with:
make sync HBOS_DIR=/path/to/HBOSThe command never overwrites app/, the public HIVE SDK, the desktop runtime,
tests, resources, or documentation.
For a complete HBOS image, use the HBOS repository.
HIVE's apps, image, run, and run-uefi targets stage HPT automatically
and refuse to continue when the submodule is missing.
HIVE is licensed under the GNU Affero General Public License v3.0. See
LICENSE.