Manatee

From HaskellWiki
Revision as of 15:55, 11 November 2010 by AndyStewart (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

Manatee is Haskell integrated environment written in Haskell.

The goal of the Manatee project is to provide a fast, safe and flexible integrated environment for haskell hacking.

You can consider it is new environment mix Gnome and Emacs. Like Gnome to provide friendly graphics interface and work efficient like Emacs.

Manatee use multi-processes framework, any sub-module running in separate process to protected core won't crash. So it minimize your losses when some unexpected exception throw in extension.

You can find screenshots at : http://goo.gl/MkVw

Installation

Below is build step for Manatee:

1) Install GHC compiler http://www.haskell.org/ghc/download_ghc_6_12_3.html:

Download ghc package for your system, then do below command :

./configure && sudo make install

2) Install C library: In Debian use below command:

sudo aptitude install libgtksourceview2.0-dev libgconf2-dev libwebkit-dev libcurl4-openssl-dev libgtkimageview-dev libpoppler-glib-dev poppler-data libtagc0-dev -y

3) Install cabal:

If you're haskell newbie, use below command to install cabal (haskell expert ignore this):

sudo aptitude install cabal-install -y

4) Install dependent Haskell library:

First make sure HOME/.cabal/bin/ in your PATH

Generic way is add `PATH=$PATH:~/.cabal/bin` in your ~/.bashrc

Then do below command (NOTE: don't use root permission with cabal, otherwise Manatee can't work):

cabal update && cabal install happy c2hs gtk2hs-buildtools glib gio pango cairo gtk

5) Install Manatee (same, don't use root permission):

cabal install manatee-core manatee-anything manatee-browser manatee-editor manatee-filemanager manatee-imageviewer manatee-ircclient manatee-mplayer manatee-pdfviewer manatee-processmanager manatee-reader manatee

That's all, then type command manatee to play it! :)

Now Manatee looks can't work in XMonad, i'm working on it. It's no problem if you use Gnome.

Quick start

When you first run manatee, it will show a Global Search menu In search menu, it will search different kind candidate for your input.

Example, when you type http://www.google.com in it, it will show Browser candidate for you, then you hit RETURN or "Alt + m" will open link in browser.

If you type Haskell filepath, example, /path/Haskell.hs, manatee will caball editor module to open /path/Haskell.hs

If also can type pdf filepath to open in pdf viewer module, image is same.

You also can open file manager to open directory path.

Press F3 will start RSS/Atom reader

Press F6 will login #haskell channel.

Focus Interactivebar

Alt + f => Focus interactive bar

Alt + F => Focus buffer

Alt + b => Toggle focus between interactive bar and current buffer

Alt + g => Close interactive bar

Interactivebar keymap

Tab => Complete candidate for input

Backspace => Delete char backward

Alt + , => Delete char backward

Alt + < => Delete word backward

Alt + d => Clean input

Alt + x => Cut input

Alt + c => Copy input

Alt + v => Paste input

Tab keymap

Alt + 7 => Select left tab

Alt + 8 => Select right tab

Alt + & => Select first tab

Alt + * => Select last tab

Alt + ' => Close current tab

Alt + " => Close all tabs except current one

Alt + 9 => Select previous tab group

Alt + 0 => Select next tab group

Ctrl + 7 => Move current tab to left

Ctrl + 8 => Move current tab to right

Ctrl + & => Move current tab to first

Ctrl + * => Move current tab to last

Ctrl + ' => Undo tab close action with current model

Ctrl + " => Undo tab close action globally

Window keymap

Alt + t => Split current window vertically

Alt + T => Split current window hortizontally

Alt + n => Select next window

Alt + p => Select previous window

Alt + ; => Close current window

Alt + : => Close all windows except current one

Super + . => Enlarge current window

Super + , => Shrink current window

Super + j => Enlarge window down

Super + k => Enlarge window up

Super + h => Enlarge window left

Super + l => Enlarge window right

Super + J => Shrink window down

Super + K => Shrink window up

Super + H => Shrink window left

Super + L => Shrink window right

How to write Manatee extension

Add soon