Omahub
← All plugins
H

Dropdown Terminal

by Hung Vo

A focused Omarchy dropdown terminal with bounded entrance effects, interactive pets, and privacy-preserving command completion indicators.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
df0d67c
Scanned
2 weeks ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
df0d67c
Reviewed
2 weeks ago

The plugin is a well-structured Quickshell bar widget that toggles a terminal in a Hyprland special workspace. It includes optional shell-integration and config-editing helpers, but those are opt-in, clearly described, and implemented with defensive file handling and explicit user confirmation. No obfuscation, credential theft, destructive install behavior, or hidden persistence was found.

  • The optional binding installer and shell-integration installer edit user config files (bindings.lua, input.lua, shell rc files); they are opt-in and confirm with the user, but a human should verify the generated blocks are exactly as described.
  • The shell integration writes lifecycle records to XDG_RUNTIME_DIR and reads them back; it is opt-in and documented as not recording command text, but it does record timestamps and exit statuses.
  • The plugin can temporarily modify Hyprland animation speed and add an input.special_fallthrough override; these are user-visible compositor changes, though they are described in the manifest and restored/removed by the plugin.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/tuthan/omarchy-dropdown-terminal --enable
Widgets #bar #system

Dropdown Terminal

An Omarchy Quickshell plugin that toggles the configured terminal in a floating special workspace. It supports custom sizing, entrance effects, optional pets, auto-hide, and privacy-preserving command status indicators.

Dropdown Terminal preview

Video demo

https://github.com/user-attachments/assets/e3437c1d-00c5-451e-b6e4-2c86dd82100a

Install

omarchy plugin add https://github.com/tuthan/omarchy-dropdown-terminal.git --enable

The plugin requires Omarchy, jq, hyprctl, and the omarchy command. Python 3 is needed by the optional binding installer; ImageMagick is needed only to validate custom pet packs.

Update

omarchy plugin update io.github.tuthan.dropdown-terminal --yes
omarchy restart shell

Local development

Omarchy loads plugins from a real directory, so copy the repository instead of symlinking it:

plugin_dir="$HOME/.config/omarchy/plugins/io.github.tuthan.dropdown-terminal"
[ -L "$plugin_dir" ] && unlink "$plugin_dir"
mkdir -p "$plugin_dir"
rsync -a --delete --exclude='.git/' ./ "$plugin_dir/"
omarchy-shell shell rescanPlugins
omarchy plugin enable io.github.tuthan.dropdown-terminal --section right

Repeat the rsync and rescan commands after source changes.

Keybinding and controls

The default binding is CTRL + GRAVE. Add it to ~/.config/hypr/bindings.lua:

hl.bind("CTRL + GRAVE", hl.dsp.global("io.github.tuthan.dropdown-terminal:toggle"))

The settings panel can install a different chord with conflict detection and an explicit confirmation. Middle-click the bar icon to open it; left-click toggles the terminal and right-click reviews the binding.

The panel controls:

  • terminal width, height, border color, and slide-from-top animation;
  • auto-hide, focus-through, icon visibility, and the bar icon;
  • finite entrance effects and reduced motion;
  • pets, roaming, interaction, voice, sound, villains, and bond state; and
  • generic urgency and precise command completion indicators.

The main settings can also be changed from a terminal:

omarchy bar set io.github.tuthan.dropdown-terminal widthPercent 90 --json
omarchy bar set io.github.tuthan.dropdown-terminal heightPercent 45 --json
omarchy bar set io.github.tuthan.dropdown-terminal autoHideOnFocusLoss true --json
omarchy bar set io.github.tuthan.dropdown-terminal showIcon false --json
omarchy restart shell

Command status

Generic urgency works without shell changes. For precise running, succeeded, and failed states, enable Command tracking and install the guarded integration for Bash, Zsh, or Fish from the settings panel.

The integration writes short lifecycle records to:

$XDG_RUNTIME_DIR/io.github.tuthan.dropdown-terminal.events

It never records command text, terminal output, or prompt output. Tracking is opt-in, and commands shorter than the configured notification threshold are ignored by default. If a terminal server drops the per-launch environment, precise tracking is unavailable but generic urgency still works.

Behavior

  • The first toggle runs omarchy launch terminal, preserving the configured default terminal.
  • The terminal is floated near the top of the current monitor at 90% × 45% by default and reused in special:dropdown-terminal.
  • Toggling from another monitor moves and resizes the same terminal there.
  • Existing dropdown clients are recovered after a shell restart; a second terminal is not created unnecessarily.
  • Runtime state is kept in a private XDG_RUNTIME_DIR directory, or in a private per-user directory under /tmp when needed.

Remove

omarchy plugin remove io.github.tuthan.dropdown-terminal

License

MIT