Skip to main content

Yakuake terminal manager

Project description

yaman - Yakuake terminal manager

Manager for Yakuake, a drop-down, tabbed & tiled terminal emulator.

What?

You know how working on a project you often need, besides an open IDE and browser, a number of separate terminals (npm, git, docker environment, ... ). You also need to run some scripts before you start and after you finish (e.g. docker containers). It's a hassle, right? Everything just becomes a nightmare when working on multiple projects.

Well, no more. Now you can setup your project environment with a single command.

What isn't covered?

The only thing I have not figured out how is to automate Tab Session Manager - i.e. the browser tabs.

Everything else - docker, vscode, yakuake can be handled by this tool.

PS: This is obviously a solution for a very specific set of tools. It's not meant to be a general purpose tool.

Features

  • Define tabs and terminals to open as part of a profile
  • Open, close and switch profiles
  • Tabs can define custom tiling per tab
  • Each created terminal can run any predefined set of commands
  • Run predefined commands when opening and when closing a profile (i.e. start/stop dockers)

How does it work?

You define a profile config file where you define the tabs, how they are split and what commands should be run (cd-ing into folders, tailing logs, starting file watchers, sshing into a server etc.) that looks like this:

version: 1
variables:
  path: /your/path 
pre:
  - cd %path%
  - docker-compose start
tabs:
  yourTabName: 
    - "cd %path%"
    - "git status"
  htop:
    - "htop"
  splitTab:
    left:
      top:
        - "ls -la"
      bottom: 
        - "ll"
    right:
      - "ps faux"
  server:
    - ssh server
down:
  - cd %path%
  - docker-compose stop

How do I use it?

Create a new profile

This creates a config file and opens it in your default editor.

yaman create <profileName>

List all profiles

yaman list

Open a profile

yaman open <profileName>

Stop a profile

yaman close <profileName>

Switch profile

This will close the open profile(s) and open the specified one.

yaman switch <profileName>

Edit profile

yaman edit <profileName>

How to install

Required

You'll need qdbus found in the following packages:

  • Arch: qt5-tools
  • Debian/Ubuntu: qttools5-dev-tools (not tested!)

Development

git clone <path>
poetry install
poetry run yaman

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

yaman-0.1.1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

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

yaman-0.1.1-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file yaman-0.1.1.tar.gz.

File metadata

  • Download URL: yaman-0.1.1.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.10 Linux/6.2.16-1-MANJARO

File hashes

Hashes for yaman-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1e6b48399a3e51c6124ccecc5ee3c541ed99bf542b04083cd879afcb31578a61
MD5 6c21e492616d9e6704eb14c5a75eba64
BLAKE2b-256 ea589c2f5e477e30ec39fe9e36c518d269b3f42e91b5be4fe263d18f46d295f5

See more details on using hashes here.

File details

Details for the file yaman-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: yaman-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.10 Linux/6.2.16-1-MANJARO

File hashes

Hashes for yaman-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 93f5032319802ecf3e8a4868dd3d0a6bb2bc8cd99f405f6790234e14a14bed77
MD5 281bd685677199fc95983423b10736b6
BLAKE2b-256 7f9271fb145a904d8ea13d1b156e452acbdb85555da45d5375bd4a860b888f4b

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