aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/win.c
diff options
context:
space:
mode:
authorBoris Faure <billiob@gmail.com>2015-07-22 23:16:23 +0200
committerBoris Faure <billiob@gmail.com>2015-07-22 23:16:23 +0200
commitee6a319f174217f03cff52e722d3af6c0ca170a9 (patch)
treea89ef077e02b0ae595d61b4361378859ed058c63 /src/bin/win.c
parentterminology: Fix formatting (diff)
downloadterminology-ee6a319f174217f03cff52e722d3af6c0ca170a9.tar.gz
add some documentation
Diffstat (limited to 'src/bin/win.c')
-rw-r--r--src/bin/win.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bin/win.c b/src/bin/win.c
index a17643c..a674922 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -15,6 +15,31 @@
#include "controls.h"
#include "term_container.h"
+
+/**
+ * Design:
+ * A terminal widget is Term. It hosts various Evas_Object, like a `termio`
+ * handling the textgrid.
+ * It is hosted in a Term_Container of type Solo.
+ * On Term_Container:
+ * It is a generic structure with a set of function pointers. It is a simple
+ * way to objectify and have genericity between a Window, a Split or Tabs.
+ * Solo, Win, Split, Tabs have a Term_Container as their first field and thus
+ * can be casted to Term_Container to have access to those APIs.
+ *
+ * Solo is the simplest container, hosting just a Term.
+ * Win is a window and has only one container child.
+ * Split is a widget to separate an area of the screen in 2 and thus has 2
+ * children that can be either Solo or Tabs.
+ * Tabs is a Term_Container containing many containers (at the moment, only
+ * Solo ones) and have a system of tabs.
+ *
+ * All the windows are in the `wins` list.
+ */
+
+
+
+
/* specific log domain to help debug only terminal code parser */
int _win_log_dom = -1;