sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit e7c0573a980938a5174bc647faf41f24fa523b0b
parent c671329681550e0b92aabafd284f9c508511714e
Author: Drew DeVault <sir@cmpwn.com>
Date:   Tue, 24 Nov 2015 10:12:08 -0500

Merge pull request #249 from sce/extra_view_metadata

Extra view metadata
Diffstat:
Minclude/container.h | 3+++
Msway/container.c | 14++++++++++++++
2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/include/container.h b/include/container.h @@ -75,7 +75,10 @@ struct sway_container { bool is_floating; bool is_focused; + // Attributes that mostly views have. char *name; + char *class; + char *app_id; int gaps; diff --git a/sway/container.c b/sway/container.c @@ -50,6 +50,12 @@ static void free_swayc(swayc_t *cont) { if (cont->name) { free(cont->name); } + if (cont->class) { + free(cont->class); + } + if (cont->app_id) { + free(cont->app_id); + } free(cont); } @@ -214,6 +220,10 @@ 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; + const char *app_id = wlc_view_get_app_id(handle); + view->app_id = app_id ? strdup(app_id) : NULL; view->visible = true; view->is_focused = true; // Setup geometry @@ -246,6 +256,10 @@ 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; + const char *app_id = wlc_view_get_app_id(handle); + view->app_id = app_id ? strdup(app_id) : NULL; view->visible = true; // Set the geometry of the floating view