Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Launcher app for GTK+ 3 desktop environments
Shell Elixir C
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
debian
example/ginvoke
m4
.gitignore
Makefile.am
Makefile.in
README.md
aclocal.m4
appwindow.c
appwindow.h
autogen.sh
commandentry.c
commandentry.h
config.guess
config.sub
configure
configure.ac
depcomp
install-sh
main.c
missing

README.md

ginvoke2

A GTK+ 3.x launcher for nerds (a reimagining/rewrite of ginvoke)

Status

Alpha

Overview

QuickSilver and Gnome Do are nice and all, but tools like this are just begging to be easily extensible.

Executor does a great job of this on Windows, but those of us in Gnome/GTK+ land are lacking a similarly programmable option.

ginvoke2 is an attempt to address the issues of the original ginvoke:

  • Written as a native GTK+ 3.x application.
  • Rewrite core & UI code in C: if GTK+/GLib/GObject changes underneath us, let the build fail hard.
  • Allow users to script at the system level (e.g. bash, Perl & Ruby scripts in ~/bin) rather than hacking the same thing into a Python script.
  • Use Python/Perl/Ruby/etc. to drive ginvoke1 style language "quirks" (e.g. URLs, directories, etc.)

Prerequisites

  • GTK+ 3.x
  • Python 2.{5,6,7} (optional)

Installation

$ git clone git://github.com/thomaslee/ginvoke2
$ ./configure --prefix=/usr
$ make
$ make install

Once ginvoke2 is installed, set up a keyboard shortcut that launches /usr/bin/ginvoke. You will use this shortcut to toggle visibility of the command window.

Usage

ginvoke2 more or less acts as an easy-access, single-fire shell prompt. You hit the keyboard shortcut, enter a command, ginvoke2 executes the command in a separate process and hides the command window.

If you're willing to write some simple bash scripts, this actually becomes pretty powerful.

As a simple example, say I want to be able to easily launch an xterm in a particular directory without touching the mouse. I can do this:

  1. Hit the keyboard shortcut to launch ginvoke2
  2. Enter gnome-terminal --working-directory=/path/to/some/directory
  3. Hit return.

This will launch gnome-terminal in the given directory.

That command is a little unwieldy, so I would probably add a bash script somewhere on my $PATH called e.g. terminal:

#!/bin/bash

set -e

gnome-terminal --working-directory="$@"

Now I can execute terminal /path/to/some/directory instead of gnome-terminal --working-directory=/path/to/some/directory in ginvoke2.

TODO

Command transforms

Sometimes processes spun up by ginvoke exit when you kill the ginvoke process. Seems to occur when ginvoke is run from the command line rather than via a keyboard shortcut. Probably need an extra fork() or two & some setsid() rubbish.

Use Python/Ruby/Perl scripts to parse input commands & provide ginvoke2 with hints about what should be done to execute them. For example, I might want ginvoke to perform a google search whenever the I enter a command prefixed by a question mark, or open a browser when I enter a command prefixed with http://

License

This software is licensed under the terms of the GPL v3 License.

Support

Please log defects and feature requests using the issue tracker on github.

About

ginvoke2 was written by Tom Lee.

Follow me on Twitter or LinkedIn.

Something went wrong with that request. Please try again.