commit 47c313fe3e8f66dafbebd4d00c143ac4a49c5c2d
parent c671329681550e0b92aabafd284f9c508511714e
Author: S. Christoffer Eliesen <christoffer@eliesen.no>
Date: Sun, 22 Nov 2015 22:05:00 +0100
container: Store class attribute for views.
Diffstat:
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/include/container.h b/include/container.h
@@ -75,7 +75,9 @@ struct sway_container {
bool is_floating;
bool is_focused;
+ // Attributes that mostly views have.
char *name;
+ char *class;
int gaps;
diff --git a/sway/container.c b/sway/container.c
@@ -50,6 +50,9 @@ static void free_swayc(swayc_t *cont) {
if (cont->name) {
free(cont->name);
}
+ if (cont->class) {
+ free(cont->class);
+ }
free(cont);
}
@@ -214,6 +217,8 @@ swayc_t *new_view(swayc_t *sibling, wlc_handle handle) {
// Setup values
view->handle = handle;
view->name = title ? strdup(title) : NULL;
+ const char *class = wlc_view_get_class(handle);
+ view->class = class ? strdup(class) : NULL;
view->visible = true;
view->is_focused = true;
// Setup geometry
@@ -246,6 +251,8 @@ swayc_t *new_floating_view(wlc_handle handle) {
// Setup values
view->handle = handle;
view->name = title ? strdup(title) : NULL;
+ const char *class = wlc_view_get_class(handle);
+ view->class = class ? strdup(class) : NULL;
view->visible = true;
// Set the geometry of the floating view