Code Monkey home page Code Monkey logo

terminix's Introduction

Build Status

Terminix

A tiling terminal emulator for Linux using GTK+ 3

Screenshot

Screenshot

About

Terminix is a tiling terminal emulator which uses the VTE GTK+ 3 widget with the following features:

  • Layout terminals in any fashion by splitting them horizontally or vertically
  • Terminals can be re-arranged using drag and drop both within and between windows
  • Terminals can be detached into a new window via drag and drop
  • Input can be synchronized between terminals so commands typed in one terminal are replicated to the others
  • The grouping of terminals can be saved and loaded from disk
  • Terminals support custom titles
  • Color schemes are stored in files and custom color schemes can be created by simply creating a new file
  • Transparent background
  • Background images
  • Automatic (triggered) profile switches based on hostname and directory
  • Supports notifications when processes are completed out of view. Requires the Fedora notification patches for VTE

The application was written using GTK 3 and an effort was made to conform to Gnome Human Interface Guidelines (HIG). As a result, it does use CSD (i.e. the GTK HeaderBar) though it can be disabled if necessary. Other than Gnome, only Unity has been tested officially though users have had success with other desktop environments.

At this point in time the application has been tested to varying degrees with the following distros:

  • Arch Linux (primary test platform, works)
  • Ubuntu 16.04 (secondary, works)
  • Fedora 23 (primary, works)
  • RHEL 7.2 (primary, works)
  • Fedora Rawhide (Supported with Gnome 3.20, works)

Dependencies

Terminix requires the following libraries to be installed in order to run:

  • GTK 3.14 or later
  • GTK VTE 0.42 or later
  • Dconf
  • GSettings
  • Nautilus-Python (Required For Nautilus integration)

Localization

Terminix is localized using Weblate, please visit the Weblate hosted Terminix translations site in order to assist with translations, please do not submit direct pull requests to this repository for translations.

Themes

While Terminix only includes a small number of themes, additional themes can be easily downloaded and installed. The github repo Terminix-Themes has a wide variety of pre-built themes to choose from.

Building

Terminix is written in D and GTK 3 using the gtkd framework. This project uses dub to manage the build process including fetching the dependencies, thus there is no need to install dependencies manually. The only thing you need to install to build the application is the D tools (DMD and Phobos) along with dub itself. Note that D supports three compilers (DMD, GDC and LDC) and Terminix only supports DMD.

Once you have those installed, compiling the application is a one line command as follows:

dub build --build=release

The application depends on various resources to function correctly, run sudo ./install.sh to build and copy all of the resources to the correct locations. Note this has only been tested on Arch Linux, use with caution.

Note there is also experimental support for autotools, please see the wiki page on autotools for more information.

Build Dependencies

Terminix depends on the following libraries as defined in dub.json:

  • gtkd >= 3.3.0
  • gdk-pixbuf-pixdata (Used when building resource file)

Install Terminix

Terminix is available for the following distributions as a 64 bit application:

Distribution Package
Arch AUR Terminix Package
Fedora COPR Repository
Cent OS 7.2 EPEL Package via COPR
Debian Package, 32bit version available
Ubuntu PPA WebUpd8
Ubuntu Offical Waiting on LDC
Tanglu Part of Tanglu 4
OpenSUSE Package Search
AOSC OS ABBS Manifest

For 64 bit distros where a package is not available, Terminix can be installed manually from the releases section by downloading terminix.zip and following these instructions:

sudo unzip terminix.zip -d /
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Note the project is actively looking for package maintainers, if you are interested in assuming this role for one or more distros please see Issue #25.

At this time no 32 bit version of Terminix is available and there are no plans to create a 32 bit version at this time. While in theory it would be possible to compile a 32 bit version from source code, no testing of this has been done.

Uninstall Terminix

This method only applies if you installed Terminix manually using the install instructions. If you installed Terminix from a distribution package then use your package manager to remove terminix, do not use these instructions.

Download the uninstall.sh script from this repository and then open a terminal (not Terminix!) in the directory where you saved it. First set the executable flag on the script:

chmod +x uninstall.sh

and then execute it:

sudo sh uninstall.sh

terminix's People

Contributors

aancw avatar alex285 avatar alexwhitman avatar artoria2e5 avatar awandepan avatar benwaffle avatar bilelmoussaoui avatar blooperz avatar danielkza avatar davidosomething avatar dsboger avatar edubxb avatar fitojb avatar frnogueira avatar giray avatar gnunn1 avatar grigio avatar grigorii-horos avatar haaninjo avatar igor-dyatlov avatar metotosakamoto avatar mingcongbai avatar phw avatar psokol avatar sukso96100 avatar talpah avatar weblate avatar welaq avatar wilzbach avatar ximion avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.