From 17b8c95b948d4fe2d38cac4f80ffa8fb0a750d4f Mon Sep 17 00:00:00 2001 From: blasty Date: Sat, 11 Jul 2026 22:58:52 +0200 Subject: disasm: render opcode bytes (toggle 'o'), padded to widest insn Fetch per-instruction opcode bytes alongside the disasm listing and show them in a column between the address and the mnemonic. Instruction length comes from consecutive addresses (variable-length safe: x86 movabs shows its full 10 bytes); the block over-fetches one instruction for the last line's boundary, falling back to the function end for the final insn. The column pads to the widest instruction across the whole function: _fetch_block tracks a running max, and on load a background scan_bytes() settles a stable width so padding doesn't jump as blocks stream in. _op_field is shared by the rendered strip, _line_plain, and search _fmt so cursor/match offsets stay aligned. 'o' toggles the column. --- systemd/install.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 systemd/install.sh (limited to 'systemd/install.sh') diff --git a/systemd/install.sh b/systemd/install.sh new file mode 100755 index 0000000..0a118b7 --- /dev/null +++ b/systemd/install.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# Install & enable the idatui-mcp user service. Re-run after editing the unit. +set -eu + +UNIT=idatui-mcp.service +SRC=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)/$UNIT +DEST_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user" + +mkdir -p "$DEST_DIR" +ln -sf "$SRC" "$DEST_DIR/$UNIT" + +# Keep the service alive after logout / across reboots without a login session. +loginctl enable-linger "$(id -un)" || true + +systemctl --user daemon-reload +systemctl --user enable --now "$UNIT" + +echo +echo "Installed. Handy commands:" +echo " systemctl --user status idatui-mcp" +echo " systemctl --user restart idatui-mcp" +echo " journalctl --user -u idatui-mcp -f" +echo " systemctl --user edit idatui-mcp # drop-in overrides (ports, workers)" -- cgit v1.3.1-sl0p