• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

_cabal_deps/H03-May-2022-342,268250,464

src/H09-Sep-2020-1,8461,333

.gitignoreH A D09-Sep-202042 55

BSDmakefileH A D09-Sep-2020709 4031

LICENSEH A D09-Sep-20201.3 KiB2722

README.mdH A D09-Sep-20202.3 KiB10461

Setup.hsH A D09-Sep-202046 32

cabal.projectH A D03-May-20221.7 KiB4544

conlecterm.cabalH A D09-Sep-20202.7 KiB9270

conlecterm.confH A D09-Sep-20201.7 KiB11278

conlecterm.cssH A D09-Sep-20204 KiB214175

conlecterm.desktopH A D09-Sep-2020426 1817

default.sessionH A D09-Sep-2020112 11

tabs.cssH A D09-Sep-2020978 5451

README.md

1# conlecterm - a simple tabbed terminal
2
3A simple frame for embedding applications that support the XEmbed
4protocol.  The program uses the GTK Socket class to generate a window
5for the embedded application to use.
6
7The display uses a GTK Notebook to collect multiple applications into
8a single top level window.
9
10Each group of applications is termed a _session_ and multiple sessions
11can be defined each having the option of a different tab orientation.
12
13Tabs can be moved by draggng them to the desired position.
14
15The order of the tabs is saved in the session file when close button is clicked.
16
17# Configuration
18
19the configuration file has three kinds of configuration elements
20
21- Commands
22
23  A list of strings, the first being the program.  Any string may
24  optionally contain the Window ID or tab text.
25
26
27- Panes
28
29  Define the text that appears on the tab, the command to run, the
30  initial directory.
31
32
33# Programs using XEmbed
34
35## Working
36
37- urxvt works
38- emacs works
39
40## Partially working
41
42- gvim  (Ubuntu: vim-gtk) very slow (30 sec) to start shows menu proxy timeout. Seems to be an Ubuntu bug.
43
44
45## Not working
46
47- xterm not accepting focus, but X cut and paste works.
48
49
50# Compiling
51
52The program is written in Haskell and requires GTK and X11
53
54Haskell packages:
55
56Operating System  Packages
57----------------  --------
58Ubuntu            libghc-gtk-dev libghc-x11-dev libghc-parsec3-dev libghc-hashtables-dev libghc-aeson-dev
59FreeBSD           hs-gtk2hs hs-X11 hs-parsec hs-hashtables hs-aeson
60
61
62Installing the above packages should bring in the right dependencies.
63
64A simple Makefile is provided.
65
66# Building with cabal
67
68~~~
69cabal sandbox init
70cabal update
71cabal install alex
72cabal install happy
73cabal install gtk2hs-buildtools
74cabal install --dependencies-only
75cabal build
76~~~
77
78# Configuration
79
80Configuration directory is searched from:
81
82- `${XDG_HOME}/conlecterm`
83- `${HOME}/.config/conlecterm`
84- `${HOME}/.conlecterm`
85
86Then first directory found is used and this is checked for a
87configuration file.
88
89The configuration is loaded from a file in the above directory called
90`config.rc`.
91
92The program will not start if a valid directory is not found or the
93directory does not contain a `config.rc`.
94
95Saved session files are called `SESSION.session` where *SESSION* is
96replaced by the session name.  The format of this file JSON.
97
98# Bugs
99
100
101# TODO
102
103- add the _send_ function
104