From 1f4128f90dc3a3bd50ec3e7fc7214976bca699a3 Mon Sep 17 00:00:00 2001
From: vxid
Date: Tue, 18 Sep 2018 13:23:01 +0200
Subject: [PATCH 1/6] Add grid properties, movements and resizing
---
client.c | 2 +
ipc.h | 2 +
man/waitron.1 | 10 +++-
man/waitron.1.md | 8 +++-
types.h | 9 +++-
wm.c | 122 +++++++++++++++++++++++++++++++++++++++++++++--
6 files changed, 145 insertions(+), 8 deletions(-)
diff --git a/client.c b/client.c
index 1f21a7c..f28253e 100644
--- a/client.c
+++ b/client.c
@@ -64,6 +64,8 @@ static struct Command c[] = {
{ "window_monocle" , IPCWindowMonocle , 0 , NULL } ,
{ "window_close" , IPCWindowClose , 0 , NULL } ,
{ "window_put_in_grid" , IPCWindowPutInGrid , 6 , fn_hack } ,
+ { "window_move_in_grid" , IPCWindowMoveInGrid , 2 , fn_offset } ,
+ { "window_resize_in_grid" , IPCWindowResizeInGrid , 2 , fn_offset } ,
{ "window_snap" , IPCWindowSnap , 1 , fn_position } ,
{ "window_cycle" , IPCWindowCycle , 0 , NULL } ,
{ "window_rev_cycle" , IPCWindowRevCycle , 0 , NULL } ,
diff --git a/ipc.h b/ipc.h
index 4aa3d83..5fb307e 100644
--- a/ipc.h
+++ b/ipc.h
@@ -21,6 +21,8 @@ enum IPCCommand {
IPCWindowMonocle,
IPCWindowClose,
IPCWindowPutInGrid,
+ IPCWindowMoveInGrid,
+ IPCWindowResizeInGrid,
IPCWindowSnap,
IPCWindowCycle,
IPCWindowRevCycle,
diff --git a/man/waitron.1 b/man/waitron.1
index 4e0ea74..b267c21 100644
--- a/man/waitron.1
+++ b/man/waitron.1
@@ -101,6 +101,14 @@ Closes the focused window\.
Moves and resizes the focused windows accordingly to fit in a cell defined by the \fIcell_x\fR and \fIcell_y\fR coordinates, measuring \fIcell_width\fR in width and \fIcell_height\fR in height, in a virtual grid with width \fIgrid_width\fR and height \fIgrid_height\fR on the current monitor\. \fIcell_width\fR and \fIcell_height\fR are expressed in grid cells\. Gaps around the windows in the grid can be added along with monitor gaps\.
.
.TP
+\fBwindow_move_in_grid\fR \fIx\fR \fIy\fR
+Move a gridded window by \fIx\fR and \fIy\fR grid spaces.
+.
+.TP
+\fBwindow_resize_in_grid\fR \fIx\fR \fIy\fR
+Resize a gridded window by \fIx\fR and \fIy\fR grid spaces.
+.
+.TP
\fBwindow_snap\fR \fIPOSITION\fR
Snap the window on the screen in a position defined by \fIPOSITION\fR\.
.
@@ -213,7 +221,7 @@ On the root window\. An integer list of currently active groups\.
.
.TP
\fBWINDOWCHEF_STATUS\fR
-On each managed window\. Contains information about the window\. Notable properties: \fBgroup\fR is \-1 if the window is not in a group\. \fBstate\fR can have one of the following values: \fBnormal\fR, \fBmaxed\fR, \fBvmaxed\fR, \fBhmaxed\fR, \fBmonocled\fR\.
+On each managed window\. Contains information about the window\. Notable properties: \fBgroup\fR is \-1 if the window is not in a group\. \fBstate\fR can have one of the following values: \fBnormal\fR, \fBmaxed\fR, \fBvmaxed\fR, \fBhmaxed\fR, \fBmonocled\fR\, \fBgridded\fR.
.
.SH "CONFIGURING"
Configuring is done using the \fBwm_config\fR command\. Possible configuration keys are:
diff --git a/man/waitron.1.md b/man/waitron.1.md
index 27b7bf4..a67d503 100644
--- a/man/waitron.1.md
+++ b/man/waitron.1.md
@@ -90,6 +90,12 @@ anything on `stdout`.
and are expressed in grid cells.
Gaps around the windows in the grid can be added along with monitor gaps.
+* `window_move_in_grid` :
+ Move a gridded window by and grid spaces.
+
+* `window_resize_in_grid` :
+ Resize a gridded window by and grid spaces.
+
* `window_snap` :
Snap the window on the screen in a position defined by .
@@ -178,7 +184,7 @@ Here is a list of exposed properties:
Notable properties:
`group` is -1 if the window is not in a group.
`state` can have one of the following values: `normal`, `maxed`, `vmaxed`,
- `hmaxed`, `monocled`.
+ `hmaxed`, `monocled`, `gridded`.
## CONFIGURING
diff --git a/types.h b/types.h
index 6bc78b1..03cc4a0 100644
--- a/types.h
+++ b/types.h
@@ -63,11 +63,18 @@ struct window_geom {
bool set_by_user;
};
+struct grid {
+ int16_t gx, gy;
+ int16_t px, py;
+ int16_t sx, sy;
+};
+
struct client {
xcb_window_t window;
struct window_geom geom;
struct window_geom orig_geom;
- bool maxed, hmaxed, vmaxed, monocled;
+ struct grid grid;
+ bool maxed, hmaxed, vmaxed, monocled, gridded;
struct list_item *item;
struct list_item *focus_item;
struct monitor *monitor;
diff --git a/wm.c b/wm.c
index dfa3574..eb6b709 100644
--- a/wm.c
+++ b/wm.c
@@ -106,6 +106,7 @@ static void vmaximize_window(struct client *, int16_t, uint16_t);
static void monocle_window(struct client *, int16_t, int16_t, uint16_t, uint16_t);
static void unmaximize_window(struct client *);
static bool is_maxed(struct client *);
+static bool is_gridded(struct client *);
static void cycle_window(struct client *);
static void rcycle_window(struct client *);
static void cycle_window_in_group(struct client *);
@@ -150,6 +151,8 @@ static void handle_wm_state(struct client *, xcb_atom_t, unsigned int);
static void snap_window(struct client *, enum position);
static void grid_window(struct client *, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
+static void move_grid_window(struct client *, uint16_t, uint16_t);
+static void resize_grid_window(struct client *, uint16_t, uint16_t);
static void register_event_handlers(void);
static void event_configure_request(xcb_generic_event_t *);
@@ -177,6 +180,8 @@ static void ipc_window_ver_maximize(uint32_t *);
static void ipc_window_monocle(uint32_t *);
static void ipc_window_close(uint32_t *);
static void ipc_window_put_in_grid(uint32_t *);
+static void ipc_window_move_in_grid(uint32_t *);
+static void ipc_window_resize_in_grid(uint32_t *);
static void ipc_window_snap(uint32_t *);
static void ipc_window_cycle(uint32_t *);
static void ipc_window_rev_cycle(uint32_t *);
@@ -700,9 +705,12 @@ setup_window(xcb_window_t win)
client->geom.x = client->geom.y = client->geom.width
= client->geom.height
= client->min_width = client->min_height = 0;
+ client->grid.gx = client->grid.gy = client->grid.px
+ = client->grid.py = client->grid.sx = client->grid.sy = 0;
client->width_inc = client->height_inc = 1;
client->maxed = client->hmaxed = client->vmaxed
- = client->monocled = client->geom.set_by_user = false;
+ = client->monocled = client->gridded
+ = client->geom.set_by_user = false;
client->monitor = NULL;
client->mapped = false;
client->group = NULL_GROUP;
@@ -1923,6 +1931,7 @@ static void update_window_status(struct client *client)
else if (client->hmaxed) state = "hmaxed";
else if (client->vmaxed) state = "vmaxed";
else if (client->monocled) state = "monocled";
+ else if (client->gridded) state = "gridded";
else state = "normal";
/* this is going to be fun */
#define _BOOL_VALUE(value) ((value) ? "true" : "false")
@@ -1936,6 +1945,14 @@ static void update_window_status(struct client *client)
"\"height\":%d,"
"\"set_by_user\":%s"
"},"
+ "\"grid\":{"
+ "\"gx\":%d,"
+ "\"gy\":%d,"
+ "\"px\":%d,"
+ "\"py\":%d,"
+ "\"sx\":%d,"
+ "\"sy\":%d,"
+ "},"
"\"state\":\"%s\","
"\"min_width\":%d,"
"\"min_height\":%d,"
@@ -1946,9 +1963,11 @@ static void update_window_status(struct client *client)
"\"mapped\":%s,"
"\"group\":%d"
"}", client->window, client->geom.x, client->geom.y, client->geom.width,
- client->geom.height, _BOOL_VALUE(client->geom.set_by_user), state,
- client->min_width, client->min_height, client->max_width, client->max_height,
- client->width_inc, client->height_inc, _BOOL_VALUE(client->mapped), client->group);
+ client->geom.height, _BOOL_VALUE(client->geom.set_by_user), client->grid.gx,
+ client->grid.gy, client->grid.px, client->grid.py, client->grid.sx,
+ client->grid.sy, state, client->min_width, client->min_height, client->max_width,
+ client->max_height, client->width_inc, client->height_inc,
+ _BOOL_VALUE(client->mapped), client->group);
#undef _BOOL_VALUE
if (size == -1) {
DMSG("asprintf returned -1\n");
@@ -2334,6 +2353,14 @@ grid_window(struct client *client, uint16_t grid_width, uint16_t grid_height, ui
client->geom.y = mon_y + conf.gap_up + grid_y
* (conf.border_width + base_h + conf.border_width + conf.grid_gap);
+ client->gridded = true;
+ client->grid.gx = grid_width;
+ client->grid.gy = grid_height;
+ client->grid.px = grid_x;
+ client->grid.py = grid_y;
+ client->grid.sx = occ_w;
+ client->grid.sy = occ_h;
+
DMSG("w: %d\th: %d\n", new_w, new_h);
teleport_window(client->window, client->geom.x, client->geom.y);
@@ -2342,6 +2369,51 @@ grid_window(struct client *client, uint16_t grid_width, uint16_t grid_height, ui
xcb_flush(conn);
}
+static bool
+is_gridded(struct client *client)
+{
+ if (client == NULL)
+ return false;
+
+ return client->gridded;
+}
+
+static void
+move_grid_window(struct client *client, uint16_t x, uint16_t y) {
+
+ int16_t new_px, new_py;
+
+ new_px = client->grid.px + x;
+ new_py = client->grid.py + y;
+
+ if (!is_gridded(client)
+ || client->grid.gx < new_px + client->grid.sx
+ || client->grid.gy < new_py + client->grid.sy
+ || new_px < 0
+ || new_py < 0)
+ return;
+
+ grid_window(client, client->grid.gx, client->grid.gy, new_px, new_py, client->grid.sx, client->grid.sy);
+}
+
+static void
+resize_grid_window(struct client *client, uint16_t x, uint16_t y) {
+
+ int16_t new_sx, new_sy;
+
+ new_sx = client->grid.sx + x;
+ new_sy = client->grid.sy + y;
+
+ if (!is_gridded(client)
+ || client->grid.gx < new_sx + client->grid.px
+ || client->grid.gy < new_sy + client->grid.py
+ || new_sx < 1
+ || new_sy < 1)
+ return;
+
+ grid_window(client, client->grid.gx, client->grid.gy, client->grid.px, client->grid.py, new_sx, new_sy);
+}
+
/*
* Adds X event handlers to the array.
*/
@@ -2757,6 +2829,8 @@ register_ipc_handlers(void)
ipc_handlers[IPCWindowMonocle] = ipc_window_monocle;
ipc_handlers[IPCWindowClose] = ipc_window_close;
ipc_handlers[IPCWindowPutInGrid] = ipc_window_put_in_grid;
+ ipc_handlers[IPCWindowMoveInGrid] = ipc_window_move_in_grid;
+ ipc_handlers[IPCWindowResizeInGrid] = ipc_window_resize_in_grid;
ipc_handlers[IPCWindowSnap] = ipc_window_snap;
ipc_handlers[IPCWindowCycle] = ipc_window_cycle;
ipc_handlers[IPCWindowRevCycle] = ipc_window_rev_cycle;
@@ -2791,7 +2865,7 @@ ipc_window_move(uint32_t *d)
x = d[2];
y = d[3];
-if (d[0])
+ if (d[0])
x = -x;
if (d[1])
y = -y;
@@ -3017,6 +3091,44 @@ ipc_window_put_in_grid(uint32_t *d)
grid_window(focused_win, grid_width, grid_height, grid_x, grid_y, occ_w, occ_h);
}
+static void
+ipc_window_move_in_grid(uint32_t *d)
+{
+ uint16_t x, y;
+
+ if (focused_win == NULL)
+ return;
+
+ x = d[2];
+ y = d[3];
+
+ if (d[0] == IPC_MUL_MINUS)
+ x = -x;
+ if (d[1] == IPC_MUL_MINUS)
+ y = -y;
+
+ move_grid_window(focused_win, x, y);
+}
+
+static void
+ipc_window_resize_in_grid(uint32_t *d)
+{
+ uint16_t x, y;
+
+ if (focused_win == NULL)
+ return;
+
+ x = d[2];
+ y = d[3];
+
+ if (d[0] == IPC_MUL_MINUS)
+ x = -x;
+ if (d[1] == IPC_MUL_MINUS)
+ y = -y;
+
+ resize_grid_window(focused_win, x, y);
+}
+
static void
ipc_window_snap(uint32_t *d)
{
From a181600663b2bb8d4fe067db7d60897967cfd1c2 Mon Sep 17 00:00:00 2001
From: vxid
Date: Mon, 1 Oct 2018 17:28:22 +0200
Subject: [PATCH 2/6] Cleanup
---
TODO.md | 1 -
contrib/.gitignore | 2 --
xephyr.sh | 20 --------------------
3 files changed, 23 deletions(-)
delete mode 100644 TODO.md
delete mode 100644 contrib/.gitignore
delete mode 100755 xephyr.sh
diff --git a/TODO.md b/TODO.md
deleted file mode 100644
index 3f3bcce..0000000
--- a/TODO.md
+++ /dev/null
@@ -1 +0,0 @@
-- Unlimited borders
diff --git a/contrib/.gitignore b/contrib/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/contrib/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/xephyr.sh b/xephyr.sh
deleted file mode 100755
index 363856c..0000000
--- a/xephyr.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-cleanup() {
- rm windowchefrc sxhkdrc
- exit 0
-}
-
-trap 'cleanup' INT
-
-D=${D:-80}
-
-Xephyr -screen 1280x720 :$D&
-sleep 1
-
-export DISPLAY=:$D
-cp examples/sxhkdrc sxhkdrc
-cp examples/windowchefrc windowchefrc
-sed -i 's/waitron/.\/waitron/g' sxhkdrc windowchefrc
-sxhkd -c sxhkdrc &
-./windowchef -c windowchefrc
From e960ec5a3d607995a0709a206e492d692f18f3f3 Mon Sep 17 00:00:00 2001
From: vxid
Date: Tue, 2 Oct 2018 13:57:33 +0200
Subject: [PATCH 3/6] Remove example configuration
---
examples/sxhkdrc | 56 -------------------------------------------
examples/windowchefrc | 25 -------------------
2 files changed, 81 deletions(-)
delete mode 100644 examples/sxhkdrc
delete mode 100755 examples/windowchefrc
diff --git a/examples/sxhkdrc b/examples/sxhkdrc
deleted file mode 100644
index 16714d1..0000000
--- a/examples/sxhkdrc
+++ /dev/null
@@ -1,56 +0,0 @@
-super + {h,j,k,l}
- waitron window_move {-20 0, 0 20, 0 -20, 20 0}
-
-super + alt + {h,j,k,l}
- waitron window_resize {-20 0, 0 20, 0 -20, 20 0}
-
-super + shift + {h,j,k,l}
- waitron window_move {-50 0, 0 50, 0 -50, 50 0}
-
-super + shift + alt + {h,j,k,l}
- waitron window_resize {-50 0, 0 50, 0 -50, 50 0}
-
-alt + {h,j,k,l}
- waitron window_cardinal_focus {left,down,up,right}
-
-super + alt + Escape
- waitron wm_quit 0
-
-super + f
- waitron window_maximize
-
-super + w
- waitron window_close
-
-super + b
- waitron window_hor_maximize
-
-super + v
- waitron window_ver_maximize
-
-super + m
- waitron window_monocle
-
-alt + Tab
- waitron window_cycle
-
-alt + shift + Tab
- waitron window_rev_cycle
-
-alt + ctrl + Tab
- waitron window_focus_last
-
-super + {_,shift +}{1-9}
- waitron {group_toggle,group_add_window} {1-9}
-
-super + ctrl + r
- waitron group_remove_window
-
-super + alt + ctrl + {1-4}
- waitron group_remove_all_windows {1-4}
-
-super + Return
- urxvt
-
-super + {Insert,Prior,Delete,Next,End}
- waitron window_snap {topleft,topright,bottomleft,bottomright,middle}
diff --git a/examples/windowchefrc b/examples/windowchefrc
deleted file mode 100755
index d87e074..0000000
--- a/examples/windowchefrc
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-waitron wm_config border_width 5
-waitron wm_config internal_border_width 2
-waitron wm_config color_focused 0x97a293
-waitron wm_config color_unfocused 0x393638
-waitron wm_config internal_color_focused 0x393638
-waitron wm_config internal_color_unfocused 0x97a293
-
-waitron wm_config gap_width all 0
-waitron wm_config grid_gap_width 0
-
-waitron wm_config cursor_position center
-
-waitron wm_config groups_nr 10
-waitron wm_config enable_sloppy_focus true
-waitron wm_config enable_resize_hints false
-waitron wm_config sticky_windows false
-waitron wm_config enable_borders true
-waitron wm_config enable_last_window_focusing true
-waitron wm_config apply_settings true
-waitron wm_config replay_click_on_focus true
-waitron wm_config pointer_actions move resize_side resize_corner
-waitron wm_config pointer_modifier super
-waitron wm_config click_to_focus any
From b93985013a87469d29482e0afd847a5292907836 Mon Sep 17 00:00:00 2001
From: vxid
Date: Tue, 2 Oct 2018 13:58:36 +0200
Subject: [PATCH 4/6] Remove sticky windows option
---
README.md | 5 -----
client.c | 1 -
ipc.h | 1 -
man/waitron.1 | 4 ----
man/waitron.1.html | 3 ---
man/waitron.1.md | 5 -----
types.h | 1 -
wm.c | 6 ------
8 files changed, 26 deletions(-)
diff --git a/README.md b/README.md
index fbb1638..2d0fc4f 100644
--- a/README.md
+++ b/README.md
@@ -105,8 +105,6 @@ Features
* cwm-like window groups
* Add or remove windows to a group
* Activate/Deactivate/Toggle a group
- * groups can be "sticky": windows are assigned to the currently
- selected group automatically
* Mouse support
* Focus, move and resize windows with the mouse
* Supports window resize hints
@@ -134,9 +132,6 @@ at the same time.
Windowchef allows you to add/remove windows to/from groups, show groups, hide
groups or toggle them.
-You can also activate *sticky group mode*. When activated, new windows are
-automatically assigned to the currently selected group. Together with the `group_activate_specific` command (see `waitron(1)`), a workspace-like workflow can be achieved.
-
### Virtual grids
You can tell windowchef to move and resize a window so it can fit in a cell
diff --git a/client.c b/client.c
index f28253e..a22a1fb 100644
--- a/client.c
+++ b/client.c
@@ -98,7 +98,6 @@ static struct ConfigEntry configs[] = {
{ "groups_nr" , IPCConfigGroupsNr , 1 , fn_naturals },
{ "enable_sloppy_focus" , IPCConfigEnableSloppyFocus , 1 , fn_bool },
{ "enable_resize_hints" , IPCConfigEnableResizeHints , 1 , fn_bool },
- { "sticky_windows" , IPCConfigStickyWindows , 1 , fn_bool },
{ "enable_borders" , IPCConfigEnableBorders , 1 , fn_bool },
{ "enable_last_window_focusing", IPCConfigEnableLastWindowFocusing, 1 , fn_bool },
{ "apply_settings" , IPCConfigApplySettings , 1 , fn_bool },
diff --git a/ipc.h b/ipc.h
index 5fb307e..20a8ba5 100644
--- a/ipc.h
+++ b/ipc.h
@@ -56,7 +56,6 @@ enum IPCConfig {
IPCConfigGroupsNr,
IPCConfigEnableSloppyFocus,
IPCConfigEnableResizeHints,
- IPCConfigStickyWindows,
IPCConfigEnableBorders,
IPCConfigEnableLastWindowFocusing,
IPCConfigApplySettings,
diff --git a/man/waitron.1 b/man/waitron.1
index b267c21..c6030b7 100644
--- a/man/waitron.1
+++ b/man/waitron.1
@@ -267,10 +267,6 @@ If true, \fBwindowchef\fR will respect window resize hints as defined by ICCCM\.
Enable sloppy focus\.
.
.TP
-\fBsticky_windows\fR \fIBOOL\fR
-If \fIsticky_windows\fR is true, new windows will be assigned to the last activated group automatically\. Recommended for people who like using workspaces over groups\.
-.
-.TP
\fBenable_borders\fR \fIBOOL\fR
If true, the border will be fully managed by the window manager\. Border colors will be set each time a window gets/loses focus\. Setting it to false lets the user manage the border of every window using external tools\. (example: \fBchwb2\fR from wmutils)\.
.
diff --git a/man/waitron.1.html b/man/waitron.1.html
index 17c2d0e..755e1a3 100644
--- a/man/waitron.1.html
+++ b/man/waitron.1.html
@@ -218,9 +218,6 @@ CONFIGURING
will be mapped to screen and assigned to the null group.
enable_resize_hints
BOOL If true, windowchef
will respect window resize hints as defined by ICCCM. Most terminal emulators should have this feature.
enable_sloppy_focus
BOOL Enable sloppy focus.
-sticky_windows
BOOL If sticky_windows is true, new windows will be assigned to the last
- activated group automatically. Recommended for people who like using
- workspaces over groups.
enable_borders
BOOL If true, the border will be fully managed by the window manager. Border colors will
be set each time a window gets/loses focus. Setting it to false lets
the user manage the border of every window using external
diff --git a/man/waitron.1.md b/man/waitron.1.md
index a67d503..34665a1 100644
--- a/man/waitron.1.md
+++ b/man/waitron.1.md
@@ -230,11 +230,6 @@ are:
* `enable_sloppy_focus` :
Enable sloppy focus.
-* `sticky_windows` :
- If is true, new windows will be assigned to the last
- activated group automatically. Recommended for people who like using
- workspaces over groups.
-
* `enable_borders` :
If true, the border will be fully managed by the window manager. Border colors will
be set each time a window gets/loses focus. Setting it to false lets
diff --git a/types.h b/types.h
index 03cc4a0..4ecded2 100644
--- a/types.h
+++ b/types.h
@@ -101,7 +101,6 @@ struct conf {
uint32_t groups;
bool sloppy_focus;
bool resize_hints;
- bool sticky_windows;
bool borders;
bool last_window_focusing;
bool apply_settings;
diff --git a/wm.c b/wm.c
index eb6b709..2a80c5d 100644
--- a/wm.c
+++ b/wm.c
@@ -2607,8 +2607,6 @@ event_map_request(xcb_generic_event_t *ev)
client->geom.y -= client->geom.height / 2;
teleport_window(client->window, client->geom.x, client->geom.y);
}
- if (conf.sticky_windows)
- group_add_window(client, last_group);
}
xcb_map_window(conn, e->window);
@@ -3309,9 +3307,6 @@ ipc_wm_config(uint32_t *d)
break;
case IPCConfigEnableResizeHints:
conf.resize_hints = d[1];
- case IPCConfigStickyWindows:
- conf.sticky_windows = d[1];
- break;
case IPCConfigEnableBorders:
conf.borders = d[1];
break;
@@ -3715,7 +3710,6 @@ load_defaults(void)
conf.groups = GROUPS;
conf.sloppy_focus = SLOPPY_FOCUS;
conf.resize_hints = RESIZE_HINTS;
- conf.sticky_windows = STICKY_WINDOWS;
conf.borders = BORDERS;
conf.last_window_focusing = LAST_WINDOW_FOCUSING;
conf.apply_settings = APPLY_SETTINGS;
From efb881a26fab1645bec652850c832a26317a6bea Mon Sep 17 00:00:00 2001
From: vxid
Date: Tue, 2 Oct 2018 14:22:38 +0200
Subject: [PATCH 5/6] Remove unused variable
---
wm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/wm.c b/wm.c
index 2a80c5d..48e98e8 100644
--- a/wm.c
+++ b/wm.c
@@ -1352,7 +1352,6 @@ cardinal_focus(uint32_t dir)
struct win_position focus_win_pos = get_window_position(CENTER, focused_win);
float closest_distance = -1;
- float closest_angle = -360;
win = win_list;
@@ -1437,7 +1436,6 @@ cardinal_focus(uint32_t dir)
if (closest_distance == -1 || (cur_distance < closest_distance)) {
closest_distance = cur_distance;
- closest_angle = cur_angle;
desired_window = win;
}
From 04b114204e1ae6cb148acfb8a09af19e8ea0cff3 Mon Sep 17 00:00:00 2001
From: vxid
Date: Tue, 2 Oct 2018 14:33:44 +0200
Subject: [PATCH 6/6] Fix compiler warnings and makefile
---
Makefile | 2 --
wm.c | 2 ++
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 00deaf1..4580559 100644
--- a/Makefile
+++ b/Makefile
@@ -34,8 +34,6 @@ install: all
install $(__NAME__) "$(DESTDIR)$(PREFIX)/bin/$(__NAME__)"
install $(__NAME_CLIENT__) "$(DESTDIR)$(PREFIX)/bin/$(__NAME_CLIENT__)"
mkdir -p "$(DESTDIR)$(DOCPREFIX)/$(__NAME__)/"
- cp -fR contrib "$(DESTDIR)$(DOCPREFIX)/$(__NAME__)/"
- cp -fR examples "$(DESTDIR)$(DOCPREFIX)/$(__NAME__)/"
cp -f README.md LICENSE "$(DESTDIR)$(DOCPREFIX)/$(__NAME__)/"
cd ./man; $(MAKE) install
diff --git a/wm.c b/wm.c
index 48e98e8..d91bf2a 100644
--- a/wm.c
+++ b/wm.c
@@ -3294,6 +3294,7 @@ ipc_wm_config(uint32_t *d)
break;
case IPCConfigGridGapWidth:
conf.grid_gap = d[1];
+ break;
case IPCConfigCursorPosition:
conf.cursor_position = d[1];
break;
@@ -3305,6 +3306,7 @@ ipc_wm_config(uint32_t *d)
break;
case IPCConfigEnableResizeHints:
conf.resize_hints = d[1];
+ break;
case IPCConfigEnableBorders:
conf.borders = d[1];
break;