thqm

A simple HTTP server to serve a dynamic menu for your scripts over the network.


thqm takes its name from the arabic تحكم, pronounced tahakoom, meaning control.

thqm is a nifty little HTTP server. It dynamically generates a web page menu based on the provided stdin and outputs any selections to stdout. In a sense, it functions similarly to dmenu/rofi but as a HTTP servers.

This makes it very flexible and script friendly.

See the examples folder for some example scripts.

📦 Installation

Manual

To compile and install manually from this repo, you'll need rust installed.

To compile the binary:

console $ git clone https://github.com/loiccoyle/thqm-rs $ cd thqm-rs $ cargo build --release

The compiled binary will be located at ./target/release/thqm. Just place this binary somewhere in your $PATH.

Cargo

console $ cargo install thqm

Arch linux (AUR)

Using your favourite AUR helper:

console $ paru -S thqm

📋 Usage

CLI options

thqm has a few command line options, when in doubt see the --help.

``` $thqm --help thqm 0.1.6 Loic Coyle loic.coyle@hotmail.fr Control your scripts over the network.

thqm generates a web page menu from standard input and outputs client selections to standard output.

See https://github.com/loiccoyle/thqm.rs/tree/main/examples for full scripts.

Basic usage: $ echo 'Option 1\nOption 2' | thqm -U | while IFS= read -r sel; do case $sel in 'Option 1') echo 'hello';; 'Option 2') echo 'world';; *) echo "$sel";; esac done

USAGE: thqm [OPTIONS]

OPTIONS: --custom-input Show custom input field. -h, --help Print help information --interface Network interface to use to determine ip. --list-styles List available page styles. --no-qrcode Don't show the qrcode on the page. --no-shutdown Don't allow the server to be shutdown from the page. --oneshot Shutdown server after first selection. -p, --port Set the server's port. [default: 8000] -P, --password Authentication password. -q, --show-qrcode Show the qrcode in terminal. -s, --style