aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calmwm.h3
-rw-r--r--client.c45
-rw-r--r--group.c19
-rw-r--r--screen.c20
4 files changed, 44 insertions, 43 deletions
diff --git a/calmwm.h b/calmwm.h
index c5ac95b..3a94780 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: calmwm.h,v 1.72 2009/01/11 21:46:48 oga Exp $
+ * $Id: calmwm.h,v 1.73 2009/01/15 00:32:35 okan Exp $
*/
#ifndef _CALMWM_H_
@@ -413,6 +413,7 @@ struct screen_ctx *screen_fromroot(Window);
struct screen_ctx *screen_current(void);
void screen_updatestackingorder(void);
void screen_init_xinerama(struct screen_ctx *);
+XineramaScreenInfo *screen_find_xinerama(struct screen_ctx *, int, int);
void conf_setup(struct conf *, const char *);
void conf_client(struct client_ctx *);
diff --git a/client.c b/client.c
index 729de0b..877fe2f 100644
--- a/client.c
+++ b/client.c
@@ -15,18 +15,15 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: client.c,v 1.41 2008/09/29 23:16:46 oga Exp $
+ * $Id: client.c,v 1.42 2009/01/15 00:32:35 okan Exp $
*/
#include "headers.h"
#include "calmwm.h"
-int _inwindowbounds(struct client_ctx *, int, int);
-XineramaScreenInfo *client_find_xinerama_screen(int , int ,
- struct screen_ctx *);
+static int _client_inbound(struct client_ctx *, int, int);
static char emptystring[] = "";
-
struct client_ctx *_curcc = NULL;
void
@@ -339,9 +336,9 @@ client_maximize(struct client_ctx *cc)
* that's probably more fair than if just the origin of
* a window is poking over a boundary
*/
- xine = client_find_xinerama_screen(cc->geom.x +
- cc->geom.width / 2, cc->geom.y +
- cc->geom.height / 2, CCTOSC(cc));
+ xine = screen_find_xinerama(CCTOSC(cc),
+ cc->geom.x + cc->geom.width / 2,
+ cc->geom.y + cc->geom.height / 2);
if (xine == NULL)
goto calc;
x_org = xine->x_org;
@@ -373,9 +370,9 @@ client_vertmaximize(struct client_ctx *cc)
cc->savegeom = cc->geom;
if (HasXinerama) {
XineramaScreenInfo *xine;
- xine = client_find_xinerama_screen(cc->geom.x +
- cc->geom.width / 2, cc->geom.y +
- cc->geom.height / 2, CCTOSC(cc));
+ xine = screen_find_xinerama(CCTOSC(cc),
+ cc->geom.x + cc->geom.width / 2,
+ cc->geom.y + cc->geom.height / 2);
if (xine == NULL)
goto calc;
y_org = xine->y_org;
@@ -457,7 +454,7 @@ client_ptrsave(struct client_ctx *cc)
int x, y;
xu_ptr_getpos(cc->pwin, &x, &y);
- if (_inwindowbounds(cc, x, y)) {
+ if (_client_inbound(cc, x, y)) {
cc->ptr.x = x;
cc->ptr.y = y;
}
@@ -728,7 +725,7 @@ client_placecalc(struct client_ctx *cc)
xu_ptr_getpos(sc->rootwin, &xmouse, &ymouse);
if (HasXinerama) {
- info = client_find_xinerama_screen(xmouse, ymouse, sc);
+ info = screen_find_xinerama(sc, xmouse, ymouse);
if (info == NULL)
goto noxine;
xorig = info->x_org;
@@ -846,27 +843,9 @@ client_freehints(struct client_ctx *cc)
xfree(cc->app_cliarg);
}
-int
-_inwindowbounds(struct client_ctx *cc, int x, int y)
+static int
+_client_inbound(struct client_ctx *cc, int x, int y)
{
return (x < cc->geom.width && x >= 0 &&
y < cc->geom.height && y >= 0);
}
-
-/*
- * Find which xinerama screen the coordinates (x,y) is on.
- */
-XineramaScreenInfo *
-client_find_xinerama_screen(int x, int y, struct screen_ctx *sc)
-{
- XineramaScreenInfo *info;
- int i;
-
- for (i = 0; i < sc->xinerama_no; i++) {
- info = &sc->xinerama[i];
- if (x > info->x_org && x < info->x_org + info->width &&
- y > info->y_org && y < info->y_org + info->height)
- return (info);
- }
- return (NULL);
-}
diff --git a/group.c b/group.c
index 5965c97..0c37939 100644
--- a/group.c
+++ b/group.c
@@ -16,7 +16,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: group.c,v 1.20 2009/01/11 21:46:48 oga Exp $
+ * $Id: group.c,v 1.21 2009/01/15 00:32:35 okan Exp $
*/
#include "headers.h"
@@ -24,14 +24,20 @@
#define CALMWM_NGROUPS 9
+static void _group_add(struct group_ctx *, struct client_ctx *);
+static void _group_remove(struct client_ctx *);
+static void _group_hide(struct group_ctx *);
+static void _group_show(struct group_ctx *);
+static void _group_fix_hidden_state(struct group_ctx *);
+
struct group_ctx *Group_active = NULL;
struct group_ctx Groups[CALMWM_NGROUPS];
int Grouphideall = 0;
struct group_ctx_q Groupq;
const char *shortcut_to_name[] = {
- "nogroup", "one", "two", "three", "four", "five", "six",
- "seven", "eight", "nine"
+ "nogroup", "one", "two", "three", "four", "five", "six",
+ "seven", "eight", "nine"
};
static void
@@ -161,12 +167,9 @@ group_sticky_toggle_exit(struct client_ctx *cc)
}
/*
- * selection list display
- */
-
-/* if group_hidetoggle would produce no effect, toggle the group's hidden state
+ * if group_hidetoggle would produce no effect, toggle the group's hidden state
*/
-void
+static void
_group_fix_hidden_state(struct group_ctx *gc)
{
struct client_ctx *cc;
diff --git a/screen.c b/screen.c
index 099543f..65b8ca3 100644
--- a/screen.c
+++ b/screen.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: screen.c,v 1.13 2009/01/11 18:25:49 okan Exp $
+ * $Id: screen.c,v 1.14 2009/01/15 00:32:35 okan Exp $
*/
#include "headers.h"
@@ -92,3 +92,21 @@ screen_init_xinerama(struct screen_ctx *sc)
sc->xinerama = info;
sc->xinerama_no = no;
}
+
+/*
+ * Find which xinerama screen the coordinates (x,y) is on.
+ */
+XineramaScreenInfo *
+screen_find_xinerama(struct screen_ctx *sc, int x, int y)
+{
+ XineramaScreenInfo *info;
+ int i;
+
+ for (i = 0; i < sc->xinerama_no; i++) {
+ info = &sc->xinerama[i];
+ if (x > info->x_org && x < info->x_org + info->width &&
+ y > info->y_org && y < info->y_org + info->height)
+ return (info);
+ }
+ return (NULL);
+}