Skip to main content

A small drop-down terminal for i3 and sway

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i3_qt-0.0.1.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

i3_qt-0.0.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file i3_qt-0.0.1.tar.gz.

File metadata

  • Download URL: i3_qt-0.0.1.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for i3_qt-0.0.1.tar.gz
Algorithm Hash digest
SHA256 651ed776247c3fb5eb1da1d612daaa609c24bcdb338de6d07a9f196b6815835e
MD5 aa8261beb40d908288b5e3d36fb8c945
BLAKE2b-256 fff72f05ea9492d8ee44f1a7c441195c3b5a8c4ebbb1bf0c0a5c54d63977a42d

See more details on using hashes here.

File details

Details for the file i3_qt-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: i3_qt-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for i3_qt-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d744c0ef65f258dff6575680ddd60bc54f288d4344128fec38e0550e0a3f714e
MD5 55cd0136ce2b000f0a1b42539e8cee72
BLAKE2b-256 3c5a25ba43e0165b91a5945827df6129fc6a47b393ed904bed11b07cb2af59e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page