gnunn1 / tilix

A tiling terminal emulator for Linux using GTK+ 3
https://gnunn1.github.io/tilix-web
Mozilla Public License 2.0
5.42k stars 292 forks source link

RFE: Macro feature for saving and reusing input to send to terminal session #88

Open Conan-Kudo opened 8 years ago

Conan-Kudo commented 8 years ago

One particularly interesting feature that I've seen in Xshell for Windows is the ability to record scripts, commands, etc. as a key combination or a button that can clicked to insert and run in a given terminal session (or all of them).

The feature is called Quick Command in Xshell, and it's briefly described on their product's key features page.

It'd be awesome if Terminix supported something similar.

ghost commented 8 years ago

+1

gnunn1 commented 8 years ago

If someone could point me at some screenshots of this feature implemented elsewhere or do a mockup it would be quite helpful.

ghost commented 8 years ago

Hi Gnunn1,

The terminal you developed is great! Thank you.

I have another suggestion that is similar to what Conan-Kudo asked: the possibility to script Terminix.

For example a "Terminal script" that will do something like this:

This feature will be appreciated by programmers and Linux administrators because it will give them the possibility to develop 1 script per project and each script will spawn automatically the "Terminix view" that are needed by the project (6 view for 6 redis servers, 2 vertical splits for a Python project, etc.).

gnunn1 commented 8 years ago

@Asher256 You can do that already with a session file and for each terminal overriding the command to execute in the terminal.

ghost commented 8 years ago

Does the "session" feature manage the splits and each command I can run on splits? (like 2 horizontal splits + 3 vertical splits on each horizontal split)

Can you tell me more about this session feature? Where can I go modify it?

gnunn1 commented 8 years ago

Yes, when you save the session file it saves the placement of all of the individual terminals in the session. You can then load the session from the GUI, via the Load menu item, or the command line using the --session switch.

To override the command that is used for each terminal, instead of just loading a shell, go into each terminal menu and select 'Layout Options..'. Enter the command you want that terminal to load in the Command field. Repeat this process for each terminal in turn and then save the session file. Next time you load the session file it should run these commands.

gnunn1 commented 7 years ago

This would be pretty feasible using LUA as there is an existing D integration with it. After that, it's just a matter of designing some interfaces to expose to LUA.

https://github.com/JakobOvrum/LuaD

yodatak commented 6 years ago

It could be simple now to use something like the password prompt and asign they to a shortcut , like doing a sudo or something