Skip to main content

i3-quickterm

A small drop-down terminal for i3wm and sway

Note this is a fork of lbonn/i3-quickterm. Upstream is still active and maintained, but the fork you're currently viewing has somewhat diverged in its architecture -- mainly started employing client-server paradigm.

Features

  • use your favourite terminal emulator
  • can select a shell with dmenu / rofi
  • adapt to screen width
  • multi-monitor aware

Installation

pipx install i3-qt

Usage

When launched, it will minimize the quickterm on the current screen if there is one. Otherwise, it will either prompt the user for the shell to open or use the one supplied in argument.

If the requested shell is already opened on another screen, it will be moved on the current screen.

First a daemon process needs to be started:

exec_always --no-startup-id i3-quickterm --daemon

It is recommended to map it to an i3 binding:

# with prompt:
bindsym $mod+p exec --no-startup-id i3-quickterm
# ...or always pop standard shell, without the selection menu:
bindsym $mod+b exec --no-startup-id i3-quickterm shell

Configuration

The configuration is read from ~/.config/i3-quickterm/config.json

  • menu: the dmenu-compatible application used to select the shell
  • term: the terminal emulator of choice
  • history: a file to save the last-used shells order, last-used ordering is disabled if set to null
  • ratio: the initial percentage of the screen height to use
  • borderWidthPx: the window border width configured in i3
  • pos: where to pop the terminal (top or bottom)
  • shells: registered shells ({ name: command })

term can be either:

  • a format string, like this one: urxvt -t {title} -e {expanded} with the correct arguments format of your terminal. Some terminals - like xfce4-terminal - need the command argument to be passed as a string. In this case, replace {expanded} by {string}
  • auto to select the first existing terminal of the list above (only to provide friendler defaults, not recommended otherwise)
  • a terminal name from the hardcoded list, which should work out of the box. Right now, the only reference for the list is the source code (search for TERMS =). If you'd like to add another terminal (or correct an error), please open a pull request.

menu, term, history and shell can contain placeholders for environment variables: {$var}.

Unspecified keys are inherited from the defaults:

{
    "menu": "rofi -dmenu -p 'quickterm: ' -no-custom -auto-select",
    "term": "auto",
    "history": "{$HOME}/.cache/i3-quickterm/shells.order",
    "socket": "/tmp/.i3-quickterm.sock",
    "ratio": 0.25,
    "borderWidthPx": 2,
    "pos": "top",
    "shells": {
        "haskell": "ghci",  # TODO: removed from upstream
        "js": "node",
        "python": "ipython3 --no-banner",
        "shell": "{$SHELL}"
    },
    "signalToShellToggles": {
        "SIGUSR1": "shell"
    },
    "envVarBlacklistPatterns": [],
    "envVarBlacklist": []
}

Requirements

  • python >= 3.8
  • i3 >= v3.11 or sway >= 1.2
  • i3ipc-python >= v2.0.1
  • dmenu or rofi (optional)

Metadata

Release files for i3-qt 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for i3-qt 0.0.2
File Size Uploaded Provenance Actions
i3_qt-0.0.2.tar.gz 10.4 kB Without provenance Details for i3_qt-0.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for i3-qt 0.0.2
File Interpreter ABI Platform Actions
i3_qt-0.0.2-py3-none-any.whl Python 3 none any Details for i3_qt-0.0.2-py3-none-any.whl

Total release size: 20.2 kB

Release files / i3_qt-0.0.2.tar.gz

Download URL i3_qt-0.0.2.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
44aa3c834eee52bc7ab07792da9bc90cc7d7be4715354d51e88250562552fcd0
BLAKE2b-256 checksum
How to use checksums
2a46f137360da9b65e4f86a89e7612a15e76a7c6657dd7149d2a04967815cb4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release files / i3_qt-0.0.2-py3-none-any.whl

Download URL i3_qt-0.0.2-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c1f762be4fb720a3559fb8741f6c8bcd5e54c014853ae89d833db3d54ef672f
BLAKE2b-256 checksum
How to use checksums
dd90a8be368c123cb5ce7dd167a3be670240015e1b39982164d2570eacfbe104
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Security for i3-qt 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page