move match_* to match.c
This commit is contained in:
parent
bb220b27d7
commit
8d05039b04
2
Makefile
2
Makefile
|
@ -4,7 +4,7 @@ include $(TOPDIR)/common.mk
|
|||
|
||||
# Depend on the object files of all source-files in src/*.c and on all header files
|
||||
AUTOGENERATED:=src/cfgparse.tab.c src/cfgparse.yy.c src/cmdparse.tab.c src/cmdparse.yy.c
|
||||
FILES:=src/ipc.c src/nc.c src/log.c src/util.c src/tree.c src/xcb.c src/manage.c src/workspace.c src/x.c src/floating.c src/click.c src/config.c src/handlers.c src/randr.c src/xinerama.c src/con.c src/load_layout.c src/render.c src/window.c
|
||||
FILES:=src/ipc.c src/nc.c src/log.c src/util.c src/tree.c src/xcb.c src/manage.c src/workspace.c src/x.c src/floating.c src/click.c src/config.c src/handlers.c src/randr.c src/xinerama.c src/con.c src/load_layout.c src/render.c src/window.c src/match.c
|
||||
FILES:=$(FILES:.c=.o)
|
||||
HEADERS:=$(filter-out include/loglevels.h,$(wildcard include/*.h))
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@ Con *con_by_frame_id(xcb_window_t frame);
|
|||
Con *con_for_window(i3Window *window, Match **store_match);
|
||||
void con_attach(Con *con, Con *parent);
|
||||
void con_detach(Con *con);
|
||||
bool match_matches_window(Match *match, i3Window *window);
|
||||
|
||||
enum { WINDOW_ADD = 0, WINDOW_REMOVE = 1 };
|
||||
void con_fix_percent(Con *con, int action);
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef _MATCH_H
|
||||
#define _MATCH_H
|
||||
|
||||
bool match_is_empty(Match *match);
|
||||
bool match_matches_window(Match *match, i3Window *window);
|
||||
|
||||
#endif
|
23
src/con.c
23
src/con.c
|
@ -221,29 +221,6 @@ Con *con_by_frame_id(xcb_window_t frame) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
bool match_matches_window(Match *match, i3Window *window) {
|
||||
/* TODO: pcre, full matching, … */
|
||||
if (match->class != NULL && strcasecmp(match->class, window->class_class) == 0) {
|
||||
LOG("match made by window class (%s)\n", window->class_class);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (match->instance != NULL && strcasecmp(match->instance, window->class_instance) == 0) {
|
||||
LOG("match made by window instance (%s)\n", window->class_instance);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
if (match->id != XCB_NONE && window->id == match->id) {
|
||||
LOG("match made by window id (%d)\n", window->id);
|
||||
return true;
|
||||
}
|
||||
|
||||
LOG("window %d (%s) could not be matched\n", window->id, window->class_class);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the first container which wants to swallow this window
|
||||
* TODO: priority
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* vim:ts=4:sw=4:expandtab
|
||||
*
|
||||
* i3 - an improved dynamic tiling window manager
|
||||
* © 2009-2010 Michael Stapelberg and contributors (see also: LICENSE)
|
||||
*
|
||||
*/
|
||||
|
||||
#include "all.h"
|
||||
|
||||
bool match_is_empty(Match *match) {
|
||||
/* we cannot simply use memcmp() because the structure is part of a
|
||||
* TAILQ and I don’t want to start with things like assuming that the
|
||||
* last member of a struct really is at the end in memory… */
|
||||
return (match->title == NULL &&
|
||||
match->application == NULL &&
|
||||
match->class == NULL &&
|
||||
match->instance == NULL &&
|
||||
match->id == XCB_NONE &&
|
||||
match->con_id == NULL &&
|
||||
match->floating == false);
|
||||
}
|
||||
|
||||
bool match_matches_window(Match *match, i3Window *window) {
|
||||
/* TODO: pcre, full matching, … */
|
||||
if (match->class != NULL && window->class_class != NULL && strcasecmp(match->class, window->class_class) == 0) {
|
||||
LOG("match made by window class (%s)\n", window->class_class);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (match->instance != NULL && window->class_instance != NULL && strcasecmp(match->instance, window->class_instance) == 0) {
|
||||
LOG("match made by window instance (%s)\n", window->class_instance);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
if (match->id != XCB_NONE && window->id == match->id) {
|
||||
LOG("match made by window id (%d)\n", window->id);
|
||||
return true;
|
||||
}
|
||||
|
||||
LOG("window %d (%s) could not be matched\n", window->id, window->class_class);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue