wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 0615c276f98fa240892fcdd1e731eb9a25596840
parent 9ced0cc2a5110e3d4e1fcc2072cd04dbd561a89d
Author: garbeam <garbeam@mmv.wmii.de>
Date:   Fri,  9 Dec 2005 18:03:44 +0200

removed old crappy layouts


Diffstat:
cmd/wm/old/layout_grid.c | 316-------------------------------------------------------------------------------
cmd/wm/old/layout_max.c | 115-------------------------------------------------------------------------------
cmd/wm/old/layout_tiled.c | 176-------------------------------------------------------------------------------
cmd/wm/old/layout_vsplit.c | 223-------------------------------------------------------------------------------
4 files changed, 0 insertions(+), 830 deletions(-)

diff --git a/cmd/wm/old/layout_grid.c b/cmd/wm/old/layout_grid.c @@ -1,316 +0,0 @@ -/* - * (C)opyright MMIV-MMV Anselm R. Garbe <garbeam at gmail dot com> - * See LICENSE file for license details. - */ - -#include <stdlib.h> -#include <string.h> -#include <math.h> - -#include "wm.h" -#include "layout.h" - -#include <cext.h> - -/* grid layout definition */ -static void arrange_grid(Page * p); -static void init_grid(Page * p); -static void deinit_grid(Page * p); -static void manage_grid(Frame * f); -static void unmanage_grid(Frame * f); -static void resize_grid(Frame * f, XRectangle * new, XPoint * pt); -static Frame *select_grid(Frame * f, char *what); - -static Layout grid = -{"grid", init_grid, deinit_grid, arrange_grid, manage_grid, - unmanage_grid, resize_grid, select_grid -}; - -void -init_layout_grid() -{ - layouts = - (Layout **) attach_item_end((void **) layouts, &grid, - sizeof(Layout *)); -} - -static void -arrange_grid(Page * p) -{ - unsigned int i, ic, ir, tw, th, rows, cols; - - if (!p->managed) - return; - - blitz_getbasegeometry((void **) p->managed, &ic, &cols, &rows); - th = p->managed_rect.height / rows; - tw = p->managed_rect.width / cols; - - i = 0; - for (ir = 0; ir < rows; ir++) { - for (ic = 0; ic < cols; ic++) { - if (p->managed[i]) { - XRectangle *r = (XRectangle *) p->managed[i]->aux; - r->x = p->managed_rect.x + ic * tw; - r->y = p->managed_rect.y + ir * th; - r->width = tw; - r->height = th; - p->managed[i]->managed_rect = *r; - resize_frame(p->managed[i], &p->managed[i]->managed_rect, - 0, 1); - } else - break; - i++; - } - } -} - -static void -init_grid(Page * p) -{ - int i; - for (i = 0; p->managed && p->managed[i]; i++) - p->managed[i]->aux = emalloc(sizeof(XRectangle)); -} - -static void -deinit_grid(Page * p) -{ - int i; - for (i = 0; p->managed && p->managed[i]; i++) { - if (p->managed[i]->aux) { - free(p->managed[i]->aux); - p->managed[i]->aux = 0; - } - } -} - -static void -manage_grid(Frame * f) -{ - f->aux = emalloc(sizeof(XRectangle)); - if (f->page) - arrange_grid(f->page); -} - -static void -unmanage_grid(Frame * f) -{ - if (f->aux) { - free(f->aux); - f->aux = 0; - } - if (f->page) - arrange_grid(f->page); -} - -#define THRESHOLD 30 - -static void -drop_resize(Frame * f, XRectangle * new) -{ - int diff; - unsigned int i, rows, cols, cr, cc, num, idx; - Page *p = f->page; - XRectangle *r; - - if (!p || !p->managed) - return; - blitz_getbasegeometry((void **) p->managed, &i, &cols, &rows); - - num = index_item((void **) p->managed, f); - - cr = num / cols; - cc = num - cr * cols; - - /* horizontal resize */ - if (f->managed_rect.x == new->x && f->managed_rect.width != new->width) { - /* east direction resize */ - if (cc == cols - 1) - return; - if (p->managed[cc + 1] - && (new->x + new->width > p->managed[cc + 1]->managed_rect.x - + p->managed[cc + 1]->managed_rect.width - THRESHOLD)) - return; - diff = new->width - ((XRectangle *) f->aux)->width; - for (i = 0; i < rows; i++) { - idx = (i * cols) + cc; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->width = new->width; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - idx = (i * cols) + (cc + 1); - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->x += diff; - r->width -= diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - } - } - if (f->managed_rect.x != new->x) { - /* west direction resize */ - if (!cc) - return; - if (new->x < p->managed[cc - 1]->managed_rect.x + THRESHOLD) - return; - diff = new->width - ((XRectangle *) f->aux)->width; - for (i = 0; i < rows; i++) { - idx = (i * cols) + cc; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->x -= diff; - r->width += diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - idx = (i * cols) + (cc - 1); - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->width -= diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - } - } - /* vertical resize */ - if (f->managed_rect.y == new->y - && f->managed_rect.height != new->height) { - /* south direction resize */ - if (cr == rows - 1) - return; - if (p->managed[cr + 1] - && (new->y + new->height > - p->managed[(cr + 1) * rows]->managed_rect.y + - p->managed[(cr + 1) * rows]->managed_rect.height - - THRESHOLD)) - return; - diff = new->height - ((XRectangle *) f->aux)->height; - for (i = 0; i < cols; i++) { - idx = (cr * rows) + i; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->height = new->height; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - idx = (cr + 1) * rows + i; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->y += diff; - r->height -= diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - } - } else if (f->managed_rect.y != new->y) { - /* north direction resize */ - if (!cr) - return; - if (new->y < - p->managed[(cr - 1) * rows]->managed_rect.y + THRESHOLD) - return; - diff = new->height - ((XRectangle *) f->aux)->height; - for (i = 0; i < cols; i++) { - idx = (cr * rows) + i; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->y -= diff; - r->height += diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - idx = (cr - 1) * rows + i; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->height -= diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], - &p->managed[idx]->managed_rect, 0, 1); - } - } - } -} - -static void -resize_grid(Frame * f, XRectangle * new, XPoint * pt) -{ - if ((f->managed_rect.width == new->width) - && (f->managed_rect.height == new->height)) - drop_move(f, new, pt); - else - drop_resize(f, new); -} - -static unsigned int -get_current_frame_position(Frame * f) -{ - Page *p = f->page; - unsigned int i; - - for (i = 0; i < count_items((void **) p->managed); ++i) - if (p->managed[i] == f) - return i; - return -1; -} - -static Frame * -select_grid(Frame * f, char *what) -{ - Page *p = f->page; - unsigned int ic, cols, rows, pos; - int idx; - - blitz_getbasegeometry((void **) p->managed, &ic, &cols, &rows); - pos = get_current_frame_position(f); - - if (!strncmp(what, "prev", 5)) { - idx = index_prev_item((void **) p->managed, f); - if (idx >= 0) - return p->managed[idx]; - } else if (!strncmp(what, "next", 5)) { - idx = index_next_item((void **) p->managed, f); - if (idx >= 0) - return p->managed[idx]; - } else if (!strncmp(what, "south", 6)) { - if ((pos + cols) <= ic) - pos += cols; - else - pos %= cols; - return p->managed[pos]; - } else if (!strncmp(what, "north", 6)) { - if (pos < cols) - pos = (rows - 1) * cols + pos; - else - pos -= cols; - return p->managed[pos]; - } else if (!strncmp(what, "west", 5)) { - if (pos % cols == 0) { - pos += (cols - 1); - if (pos >= ic) - pos = ic - 1; - } else - pos--; - return p->managed[pos]; - } else if (!strncmp(what, "east", 5)) { - if (pos % cols == (cols - 1)) - pos -= (cols - 1); - else { - pos++; - if (pos >= ic) - pos = ic - 1; - } - return p->managed[pos]; - } - return 0; -} diff --git a/cmd/wm/old/layout_max.c b/cmd/wm/old/layout_max.c @@ -1,115 +0,0 @@ -/* - * (C)opyright MMIV-MMV Anselm R. Garbe <garbeam at gmail dot com> - * See LICENSE file for license details. - */ - -#include <stdlib.h> -#include <string.h> -#include <math.h> - -#include "wm.h" -#include "layout.h" - -static void arrange_max(Page * p); -static void init_max(Page * p); -static void deinit_max(Page * p); -static void manage_max(Frame * f); -static void unmanage_max(Frame * f); -static void resize_max(Frame * f, XRectangle * new, XPoint * pt); -static Frame *select_max(Frame * f, char *what); - -static Layout max = {"max", init_max, deinit_max, arrange_max, manage_max, - unmanage_max, resize_max, select_max -}; - -void -init_layout_max() -{ - layouts = - (Layout **) attach_item_end((void **) layouts, &max, - sizeof(Layout *)); -} - - -static void -arrange_max(Page * p) -{ - int i = 0; - if (!p->managed) - return; - - for (i = 0; p->managed[i]; i++) { - p->managed[i]->managed_rect = p->managed_rect; - resize_frame(p->managed[i], &p->managed[i]->managed_rect, 0, 1); - } - if (p->managed_stack) - XRaiseWindow(dpy, p->managed_stack[0]->win); - - /* raise floatings */ - for (i = 0; p->floating && p->floating[i]; i++) - XRaiseWindow(dpy, p->floating[i]->win); -} - -static void -init_max(Page * p) -{ - /* max has nothing to init */ - arrange_max(p); -} - -static void -deinit_max(Page * p) -{ - /* max has nothing to free */ -} - -static void -manage_max(Frame * f) -{ - Page *p = f->page; - int idx; - if (!p) - return; - idx = index_next_item((void **) p->managed, f); - if (idx > 0) - swap((void **) &p->managed[0], (void **) &p->managed[idx]); - arrange_max(f->page); -} - -static void -unmanage_max(Frame * f) -{ - /* nothing todo */ -} - -static void -resize_max(Frame * f, XRectangle * new, XPoint * pt) -{ - if (f->page) - f->managed_rect = f->page->managed_rect; -} - -static Frame * -select_max(Frame * f, char *what) -{ - Page *p = f->page; - Frame *res = 0; - int i, idx; - - if (!strncmp(what, "prev", 5)) { - idx = index_prev_item((void **) p->managed, f); - if (idx >= 0) - res = p->managed[idx]; - } else if (!strncmp(what, "next", 5)) { - idx = index_next_item((void **) p->managed, f); - if (idx >= 0) - res = p->managed[idx]; - } - if (res) - XRaiseWindow(dpy, res->win); - - /* raise floatings */ - for (i = 0; p->floating && p->floating[i]; i++) - XRaiseWindow(dpy, p->floating[i]->win); - return res; -} diff --git a/cmd/wm/old/layout_tiled.c b/cmd/wm/old/layout_tiled.c @@ -1,176 +0,0 @@ -/* - * (C)opyright MMIV-MMV Anselm R. Garbe <garbeam at gmail dot com> - * See LICENSE file for license details. - */ - -#include <stdlib.h> -#include <string.h> - -#include "wm.h" -#include "layout.h" - -#include <cext.h> - -/* tiled layout definition */ -static void arrange_tiled(Page * p); -static void init_tiled(Page * p); -static void deinit_tiled(Page * p); -static void manage_tiled(Frame * f); -static void unmanage_tiled(Frame * f); -static void resize_tiled(Frame * f, XRectangle * new, XPoint * pt); -static Frame *select_tiled(Frame * f, char *what); - -static Layout tiled = -{"tiled", init_tiled, deinit_tiled, arrange_tiled, manage_tiled, - unmanage_tiled, resize_tiled, select_tiled -}; - -void -init_layout_tiled() -{ - layouts = - (Layout **) attach_item_end((void **) layouts, &tiled, - sizeof(Layout *)); -} - -static void -arrange_tiled(Page * p) -{ - int tw, th, i, size = 0; - - if (!p->managed) - return; - - /* determing num of frame and size of page */ - size = count_items((void **) p->managed); - - if (size > 1) { - tw = (p->managed_rect.width * *((int *) p->aux)) / 100; - th = p->managed_rect.height / (size - 1); - } else { - tw = p->managed_rect.width; - th = p->managed_rect.height; - } - - /* master tile */ - p->managed[0]->managed_rect.x = p->managed_rect.x; - p->managed[0]->managed_rect.y = p->managed_rect.y; - p->managed[0]->managed_rect.width = tw; - p->managed[0]->managed_rect.height = p->managed_rect.height; - resize_frame(p->managed[0], &p->managed[0]->managed_rect, 0, 1); - - if (size == 1) - return; - for (i = 1; i < size; i++) { - p->managed[i]->managed_rect.x = p->managed_rect.x + tw; - p->managed[i]->managed_rect.y = p->managed_rect.y + (i - 1) * th; - p->managed[i]->managed_rect.width = p->managed_rect.width - tw; - p->managed[i]->managed_rect.height = th; - resize_frame(p->managed[i], &p->managed[i]->managed_rect, 0, 1); - } -} - -static void -init_tiled(Page * p) -{ - p->aux = emalloc(sizeof(int)); - *((int *) p->aux) = - _strtonum(core_files[CORE_PAGE_TILE_WIDTH]->content, 5, 95); -} - -static void -deinit_tiled(Page * p) -{ - p->aux = 0; -} - -static void -manage_tiled(Frame * f) -{ - Page *p = f->page; - if (!p) - return; - arrange_tiled(p); -} - -static void -unmanage_tiled(Frame * f) -{ - manage_tiled(f); -} - -static void -drop_resize(Frame * f, XRectangle * new) -{ - Page *p = f->page; - int num = 0; - int rearrange = 0; - - if (!p) - return; - /* determing num of frame and size of page */ - num = index_item((void **) p->managed, f); - - if (!num) { /* master tile */ - if ((f->managed_rect.x == new->x) - && (f->managed_rect.width != new->width)) { - f->managed_rect = *new; - rearrange = 1; - } - } else if (f->managed_rect.x != new->x) { - int diff = f->managed_rect.width - new->width; - p->managed[0]->managed_rect.width += diff; - rearrange = 1; - } - if (rearrange) { - int tw = - (p->managed[0]->managed_rect.width * 100) / - p->managed_rect.width; - if (tw > 95) - tw = 95; - else if (tw < 5) - tw = 5; - *((int *) p->aux) = tw; - arrange_tiled(p); - } -} - -static void -resize_tiled(Frame * f, XRectangle * new, XPoint * pt) -{ - if ((f->managed_rect.width == new->width) - && (f->managed_rect.height == new->height)) - drop_move(f, new, pt); - else - drop_resize(f, new); -} - -static Frame * -select_tiled(Frame * f, char *what) -{ - Page *p = f->page; - int idx; - if (!strncmp(what, "prev", 5)) { - idx = index_prev_item((void **) p->managed, f); - if (idx >= 0) - return p->managed[idx]; - } else if (!strncmp(what, "next", 5)) { - idx = index_next_item((void **) p->managed, f); - if (idx >= 0) - return p->managed[idx]; - } else if (!strncmp(what, "zoomed", 7)) { - idx = index_item((void **) p->managed, f); - if (idx == 0 && p->managed[1]) - idx = 1; - if (idx > 0) - swap((void **) &p->managed[0], (void **) &p->managed[idx]); - p->managed_stack = (Frame **) - attach_item_begin(detach_item - ((void **) p->managed_stack, p->managed[0], - sizeof(Frame *)), p->managed[0], - sizeof(Frame *)); - arrange_tiled(p); - return p->managed_stack[0]; - } - return 0; -} diff --git a/cmd/wm/old/layout_vsplit.c b/cmd/wm/old/layout_vsplit.c @@ -1,223 +0,0 @@ -/* - * (C)opyright 2005 Jonas WUSTRACK <doez at supinfo dot com> - * (C)opyright MMIV-MMV Anselm R. Garbe <garbeam at gmail dot com> - * See LICENSE file for license details. - */ - -#include <stdlib.h> -#include <string.h> -#include <math.h> - -#include "wm.h" -#include "layout.h" - -#include <cext.h> - -static void arrange_vsplit(Page * p); -static void init_vsplit(Page * p); -static void deinit_vsplit(Page * p); -static void manage_vsplit(Frame * f); -static void unmanage_vsplit(Frame * f); -static void resize_vsplit(Frame * f, XRectangle * new, XPoint * pt); -static Frame *select_vsplit(Frame * f, char *what); - -static Layout vsplit = -{"vsplit", init_vsplit, deinit_vsplit, arrange_vsplit, manage_vsplit, - unmanage_vsplit, resize_vsplit, select_vsplit -}; - -void -init_layout_vsplit() -{ - layouts = - (Layout **) attach_item_end((void **) layouts, &vsplit, - sizeof(Layout *)); -} - -static void -get_base_geometry_vsplit(void **items, unsigned int *size, - unsigned int *cols, unsigned int *rows) -{ - /* float sq, dummy; */ - - *size = count_items((void **) items); - *cols = 1; - *rows = *size; -} - - -static void -arrange_vsplit(Page * p) -{ - unsigned int i, ic, tw, th, rows, cols; - - if (!p->managed) - return; - - get_base_geometry_vsplit((void **) p->managed, &ic, &cols, &rows); - th = p->managed_rect.height / rows; - tw = p->managed_rect.width; - - for (i = 0; i < rows; i++) { - if (p->managed[i]) { - XRectangle *r = (XRectangle *) p->managed[i]->aux; - r->x = p->managed_rect.x; - r->y = p->managed_rect.y + i * th; - r->width = tw; - r->height = th; - p->managed[i]->managed_rect = *r; - resize_frame(p->managed[i], &p->managed[i]->managed_rect, 0, - 1); - } - } -} - -static void -init_vsplit(Page * p) -{ - int i; - for (i = 0; p->managed && p->managed[i]; i++) - p->managed[i]->aux = emalloc(sizeof(XRectangle)); -} - -static void -deinit_vsplit(Page * p) -{ - int i; - for (i = 0; p->managed && p->managed[i]; i++) { - if (p->managed[i]->aux) { - free(p->managed[i]->aux); - p->managed[i]->aux = 0; - } - } -} - -static void -manage_vsplit(Frame * f) -{ - f->aux = emalloc(sizeof(XRectangle)); - if (f->page) - arrange_vsplit(f->page); -} - -static void -unmanage_vsplit(Frame * f) -{ - if (f->aux) { - free(f->aux); - f->aux = 0; - } - if (f->page) - arrange_vsplit(f->page); -} - -#define THRESHOLD 30 - -static void -drop_resize(Frame * f, XRectangle * new) -{ - int diff; - unsigned int i, rows, cols, num, idx; - Page *p = f->page; - XRectangle *r; - - if (!p || !p->managed) - return; - get_base_geometry_vsplit((void **) p->managed, &i, &cols, &rows); - - num = index_item((void **) p->managed, f); - - /* vertical resize */ - if (f->managed_rect.y == new->y - && f->managed_rect.height != new->height) { - /* south direction resize */ - if (num == rows - 1) - return; - if (p->managed[num + 1] - && (new->y + new->height > p->managed[num + 1]->managed_rect.y - + p->managed[num + 1]->managed_rect.height - THRESHOLD)) - return; - diff = new->height - ((XRectangle *) f->aux)->height; - idx = num; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->height = new->height; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], &p->managed[idx]->managed_rect, - 0, 1); - } - idx = num + 1; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->y += diff; - r->height -= diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], &p->managed[idx]->managed_rect, - 0, 1); - } - } else if (f->managed_rect.y != new->y) { - /* north direction resize */ - if (!num) - return; - if (new->y < p->managed[num - 1]->managed_rect.y + THRESHOLD) - return; - diff = new->height - ((XRectangle *) f->aux)->height; - idx = num; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->y -= diff; - r->height += diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], &p->managed[idx]->managed_rect, - 0, 1); - } - idx = num - 1; - if (p->managed[idx]) { - r = (XRectangle *) p->managed[idx]->aux; - r->height -= diff; - p->managed[idx]->managed_rect = *r; - resize_frame(p->managed[idx], &p->managed[idx]->managed_rect, - 0, 1); - } - } -} - -static void -resize_vsplit(Frame * f, XRectangle * new, XPoint * pt) -{ - if ((f->managed_rect.width == new->width) - && (f->managed_rect.height == new->height)) - drop_move(f, new, pt); - else - drop_resize(f, new); -} - -static Frame * -select_vsplit(Frame * f, char *what) -{ - Page *p = f->page; - int idx; - if (!strncmp(what, "prev", 5)) { - idx = index_prev_item((void **) p->managed, f); - if (idx >= 0) - return p->managed[idx]; - } else if (!strncmp(what, "next", 5)) { - idx = index_next_item((void **) p->managed, f); - if (idx >= 0) - return p->managed[idx]; - } else if (!strncmp(what, "zoomed", 7)) { - idx = index_item((void **) p->managed, f); - if (idx == 0 && p->managed[1]) - idx = 1; - if (idx > 0) - swap((void **) &p->managed[0], (void **) &p->managed[idx]); - p->managed_stack = (Frame **) - attach_item_begin(detach_item - ((void **) p->managed_stack, p->managed[0], - sizeof(Frame *)), p->managed[0], - sizeof(Frame *)); - arrange_vsplit(p); - return p->managed_stack[0]; - } - return 0; -}