When I start up Guake I always do the following:
It would be really nice if, instead of having to type start-api-server, CTRL+SHIFT+T, start-web-server, ... I could somehow just tell Guake "start with a tab that runs start-api-server, a tab that runs start-web-server, etc." and then it would have my tabs ready when I open guake.
This could be extremely minimal, because as long as there is _some_ way to start with multiple tabs open, and have them each run a single command, users can customize that one command to run whatever other commands they want (by making it an alias or shell script).
You can achieve this with guake-indicator, it's a little indicator that sends commands to guake through the dbus interface and it's scriptable.
More info at
http://guake-indicator.ozzyboshi.com/
Another way is to build a json file with your text editor containing your commands and then every time you run guake right click on it and select your entry.
More info at
https://github.com/Guake/guake/issues/564
This is not exactly what you asked for but It works for me, hope It helps
you can run a script when Guake starts, I do this for configuring all my tabs
In gconf-editor you can add a key under apps/guake/general with the name startup_script and a path to your script. I have a similar set of needs regarding launching a couple of dev servers.
Example:
#!/bin/bash
/usr/bin/guake &
sleep 2 # let main guake process start and initialize D-Bus session
guake -r "~/projects/foobar" -e "cd ~/projects/foobar"
guake -n " " -r "ssh:some-host" -e "ssh some-host"
guake -n " " -r "dsr-f-server" -e "cd ~/projects/dsr/frontend && ember serve -dev"
guake -n " " -r "dsr-b-server" -e "cd ~/projects/dsr/backend && php -S localhost:8000 -t public/"
guake -n " " -r "ansible" -e "cd ~/projects/ansible"
guake -s 0
The options are documented under guake --help
Thanks for the replies all. I didn't want to install another app so I went with @bencromwell's suggestion. However, it didn't work.
I added:
<entry name="startup_script" mtime="1471539975" type="string" value="/home/me/.guake-start.sh"/>
to my:
.gconf/apps/guake/general/%gconf.xml
then I made a ~/.guake-start.sh:
#!/bin/bash
/usr/bin/guake &
sleep 2 # let main guake process start and initialize D-Bus session
guake -r "API Server" -e "start-apai"
guake -n " " -r "Web Server" -e "start-web"
guake -n " " -r "Shell" -e "cd /home/me/workspace"
guake -s 0
But when I quit (not just closed) Guake and restarted it, I had only a single tab open. Any idea what I might be doing wrong?
And as an aside, a Guake settings for "startup script" would be a lot more user-friendly than having to manually add an XML entry to a file hidden deep inside a hidden directory. And a few settings for "startup tab #1 name", "startup tab #1 command", "startup tab #2 name", etc. would be even better.
P.S. I'm pretty sure the problem is my XML, not my script, as I just ran the script and it seemed to work fine on its own ... well, after I remembered to give it executable permissions (one more thing that a "startup tab#1 ..." setting would solve :) )
I just discovered the "Path to script executed on Guake start" preference, which was exactly what I needed, so I'm closing this issue.
For anyone reading this later, to make Guake start up with a pre-specified set of tabs ...
1) Create a script file (eg. /home/you/.guake-start.sh)
2) Add the following code to that script file:
#!/bin/bash
/usr/bin/guake &
sleep 2 # let main guake process start and initialize D-Bus session
guake -r "Name of First Tab" -e "commandToRunToStartFirstTab"
guake -n " " -r "Name of Second Tab" -e "commandToRunToStartSecondTab"
guake -n " " -r "Name of Third Tab" -e "commandToRunToStartThirdTab"
guake -s 0
If you want more tabs simply ad more guake -n lines for each desired tab.
3) In the Guake general preferences change "Path to script executed on Guake start" to point to the script you created in step 1.
4) Restart Guake: it should now open with the specified tabs
This is a bit late, but in case somebody is still using this thread (like I just did): If you did everything like described (created the script file, added the path in the settings, restarted quake) and it doesn't work, check if the script is executable. For me, it didn't work until I made the script executable with chmod +x
It can be good if we can add the "Path to script executed on Guake start" from the command line.
Most helpful comment
I just discovered the "Path to script executed on Guake start" preference, which was exactly what I needed, so I'm closing this issue.
For anyone reading this later, to make Guake start up with a pre-specified set of tabs ...
1) Create a script file (eg. /home/you/.guake-start.sh)
2) Add the following code to that script file:
If you want more tabs simply ad more
guake -nlines for each desired tab.3) In the Guake general preferences change "Path to script executed on Guake start" to point to the script you created in step 1.
4) Restart Guake: it should now open with the specified tabs