Implement empty layout

This commit is contained in:
speedie 2022-11-17 16:58:03 +01:00
parent 8d09cc732b
commit ef4eec1f93
7 changed files with 16 additions and 2 deletions

View file

@ -1,4 +1,3 @@
# speedwm
![image](/docs/preview.png)
## What is speedwm?

View file

@ -110,4 +110,5 @@
- 110 - Rotate backwards in the stack axis
- 111 - Rotate backwards in the secondary stack axis
- 112 - Mirror the layout
- 113 - Enter an empty layout where all clients are hidden

View file

@ -1,5 +1,15 @@
/* This C code handles all built in layouts. */
void
empty(Monitor *m) {
Client *c;
for (c = m->stack; c; c = c->snext) {
if(ISVISIBLE(c)) {
XMoveWindow(dpy, c->win, WIDTH(c) * -2, c->y);
}
}
}
typedef struct {
void (*arrange)(Monitor *, int, int, int, int, int, int, int);
} LayoutArranger;

View file

@ -362,6 +362,7 @@ static char text_layout11[] = "(L11)"; /* Text for layout 11 *
static char text_layout12[] = "(L12)"; /* Text for layout 12 */
static char text_layout13[] = "(L13)"; /* Text for layout 13 */
static char text_layout14[] = "(L14)"; /* Text for layout 14 */
static char text_layout15[] = "(L15)"; /* Text for layout 15 */
/* Alpha/opacity settings
*

View file

@ -123,4 +123,5 @@ static Signal signals[] = {
{ 110, rotatelayoutaxis, {.i = -3 } },
{ 111, rotatelayoutaxis, {.i = -4 } },
{ 112, mirrorlayout, {0} },
{ 113, setlayout, {.v = &layouts[14]} }, /* Empty layout */
};

View file

@ -638,6 +638,7 @@ static void arrange_spiral(Monitor *m, int ax, int ay, int ah, int aw, int ih, i
static void arrange_tatami(Monitor *m, int ax, int ay, int ah, int aw, int ih, int iv, int n, int an, int ai);
static void tile(Monitor *m);
static void empty(Monitor *m);
static void hgrid(Monitor *m);
static void ngrid(Monitor *m);
#if LAYOUT_CUSTOM

3
text.h
View file

@ -1,7 +1,7 @@
/* Header for text, do not edit it. */
/* Text for tags */
static char *tags[] = { text_tag1_empty,
static char *tags[] = { text_tag1_empty, /* Tag 1 text (empty) */
text_tag2_empty, /* Tag 2 text (empty) */
text_tag3_empty, /* Tag 3 text (empty) */
text_tag4_empty, /* Tag 4 text (empty) */
@ -56,6 +56,7 @@ static Layout layouts[] = {
#if LAYOUT_CUSTOM
{ text_layout14, custom, {0} },
#endif
{ text_layout15, empty, {0} },
/* Reset to layout 1 */
{ NULL, NULL, {0} },
};