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.0.tar.gz (15.4 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.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yaman-0.1.0.tar.gz
  • Upload date:
  • Size: 15.4 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.0.tar.gz
Algorithm Hash digest
SHA256 9c91237600fa563b38fe0d0d4394e389e36c69ad1234edbae31c4b21072631a2
MD5 2809bc7bb661dcbf9fb0ba72d36840c6
BLAKE2b-256 4734ee2d334b481be2cf0cf822b73aa29ac9bd97329ed3b4037038907d772e4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yaman-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 afb99765cbf6486aa55ca2b3ba8e9382a34512fb6ea2632e5415867b700621af
MD5 8b50eeac427fb0e0b850d0cdc6036faf
BLAKE2b-256 c4bcebff51e16af12f87b3a7229ed6b7464695c5b22d8cd64a9132965fb3c6e8

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