Tiling2: Initial commit.

This commit is contained in:
Tom Hacohen 2014-02-21 09:05:31 +00:00
parent 22369ffc7b
commit 6b68b99491
6 changed files with 18 additions and 57 deletions

View File

@ -1,39 +0,0 @@
EXTRA_DIST += src/modules/tiling/module.desktop.in \
src/modules/tiling/e-module-tiling.edj
if USE_MODULE_TILING
tilingdir = $(MDIR)/tiling
tiling_DATA = src/modules/tiling/e-module-tiling.edj \
src/modules/tiling/module.desktop
CLEANFILES += src/modules/tiling/e-module-tiling.edj
src/modules/tiling/e-module-tiling.edc \
src/modules/tiling/module.desktop.in \
src/modules/tiling/images/module_icon.png \
src/modules/tiling/images/arrow_e.png \
src/modules/tiling/images/arrow_ne.png \
src/modules/tiling/images/arrow_n.png \
src/modules/tiling/images/arrow_nw.png \
src/modules/tiling/images/arrow_se.png \
src/modules/tiling/images/arrow_s.png \
src/modules/tiling/images/arrow_sw.png \
src/modules/tiling/images/arrow_w.png
tilingpkgdir = $(MDIR)/tiling/$(MODULE_ARCH)
tilingpkg_LTLIBRARIES = src/modules/tiling/module.la
TILING_EDJE_FLAGS = $(EDJE_FLAGS) -id $(top_srcdir)/src/modules/tiling/images
src/modules/tiling/%.edj: src/modules/tiling/%.edc Makefile
$(EDJE_CC) $(TILING_EDJE_FLAGS) $< $@
src_modules_tiling_module_la_LIBADD = $(MOD_LIBS)
src_modules_tiling_module_la_CPPFLAGS = $(MOD_CPPFLAGS) -DNEED_X=1
src_modules_tiling_module_la_LDFLAGS = $(MOD_LDFLAGS)
src_modules_tiling_module_la_SOURCES = src/modules/tiling/e_mod_tiling.c \
src/modules/tiling/e_mod_tiling.h \
src/modules/tiling/e_mod_config.c
PHONIES += tiling install-tiling
tiling: $(tilingpkg_LTLIBRARIES) $(tiling_DATA)
install-tiling: install-tilingDATA install-tilingpkgLTLIBRARIES
endif

View File

@ -1 +0,0 @@
e-module-tiling.edj

View File

@ -1,12 +0,0 @@
--- v1.0
[ ] Respect more ICCCM
[ ] Show how many columns are configured. (?)
[ ] Remove remaining bugs ☺.
--- v0.9
[X] Toggle between horizontal and vertical columns
[X] Handle correctly multiple screens
[X] Setting whether to display the window title
[X] Setting to choose hint keys
[X] Save original border and restore it when untiling

View File

@ -346,7 +346,7 @@ _e_client_maximize(E_Client *ec, E_Maximize max)
DBG("new_client:%s, ec->maximized=%x",
ec->new_client? "true": "false",
ec->maximized);
e_client_maximize(ec, max);
// e_client_maximize(ec, max);
}
static void
@ -357,7 +357,7 @@ _e_client_unmaximize(E_Client *ec, E_Maximize max)
(max & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_VERTICAL ? "VERTICAL" :
(max & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_HORIZONTAL ? "HORIZONTAL" :
"BOTH");
e_client_unmaximize(ec, max);
// e_client_unmaximize(ec, max);
}
static void
@ -1242,6 +1242,8 @@ _add_client(E_Client *ec)
DBG("adding %p", ec);
e_client_focused_get();
if (_G.tinfo->stacks[0]) {
DBG("got stack 0");
if (_G.tinfo->stacks[_G.tinfo->conf->nb_stacks - 1]) {
@ -3703,8 +3705,8 @@ e_modapi_init(E_Module *m)
HANDLER(_G.handler_client_iconify, CLIENT_ICONIFY, _iconify_hook);
HANDLER(_G.handler_client_uniconify, CLIENT_UNICONIFY, _uniconify_hook);
HANDLER(_G.handler_client_stick, CLIENT_PROPERTY, _stick_hook);
HANDLER(_G.handler_client_unstick, CLIENT_PROPERTY, _unstick_hook);
HANDLER(_G.handler_client_stick, CLIENT_STICK, _stick_hook);
HANDLER(_G.handler_client_unstick, CLIENT_UNSTICK, _unstick_hook);
HANDLER(_G.handler_desk_show, DESK_SHOW, _desk_show_hook);
HANDLER(_G.handler_desk_before_show, DESK_BEFORE_SHOW, _desk_before_show_hook);

View File

@ -42,6 +42,15 @@ struct _Config
Eina_List *vdesks;
};
typedef struct _Window_Tree Window_Tree;
struct _Window_Tree
{
EINA_INLIST;
Window_Tree *children;
float weight;
};
struct _Tiling_Info
{
/* The desk for which this _Tiling_Info is used. Needed because
@ -57,6 +66,8 @@ struct _Tiling_Info
Eina_List *stacks[TILING_MAX_STACKS];
int pos[TILING_MAX_STACKS];
int size[TILING_MAX_STACKS];
Window_Tree tree;
};
struct _E_Config_Dialog_Data

View File

@ -1,7 +1,7 @@
[Desktop Entry]
Encoding=UTF-8
Type=Link
Name=Tiling
Name=Tiling2
Name[ca]=Mosaic
Name[eo]=Kaheligado
Name[es]=Mosaico