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

Uploaded Python 3

File details

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

File metadata

  • Download URL: yaman-0.1.2.tar.gz
  • Upload date:
  • Size: 17.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.2.tar.gz
Algorithm Hash digest
SHA256 39773cc0fc76f2bd82be6767b061ecfeeba9524d2a4d5c56c506bb24cbad1a30
MD5 e0733c9530e02db9e95368ff88bff042
BLAKE2b-256 bd2d62d834401ffd713ef3c1b758308681a22e0d59c3dd7c1e96968a9624b926

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yaman-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 19.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 02677fe48faaf515a2f5374ac0aa625e24772c511d148229d3df040d74f77eb2
MD5 4d3864d707cedd9d03b4ff1712a407a0
BLAKE2b-256 e9b4a616144d0824dc2ae55ac2bd93a67aef2fac3812e00f33b4c34a310c78f8

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