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.2.tar.gz (10.4 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.2-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: i3_qt-0.0.2.tar.gz
  • Upload date:
  • Size: 10.4 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.2.tar.gz
Algorithm Hash digest
SHA256 44aa3c834eee52bc7ab07792da9bc90cc7d7be4715354d51e88250562552fcd0
MD5 d759d0074fcd9f63ff77f78fa3d3ac12
BLAKE2b-256 2a46f137360da9b65e4f86a89e7612a15e76a7c6657dd7149d2a04967815cb4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: i3_qt-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4c1f762be4fb720a3559fb8741f6c8bcd5e54c014853ae89d833db3d54ef672f
MD5 e6e089bfc181e411e0d3522918ce4d73
BLAKE2b-256 dd90a8be368c123cb5ce7dd167a3be670240015e1b39982164d2570eacfbe104

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