ewmh: correctly set _NET_CURRENT_DESKTOP to the number of the active workspace

This commit is contained in:
Michael Stapelberg
2009-12-25 15:05:17 +01:00
parent ba82a3e63b
commit 0641e6a1a3
6 changed files with 62 additions and 2 deletions

32
src/ewmh.c Normal file
View File

@ -0,0 +1,32 @@
/*
* vim:ts=8:expandtab
*
* i3 - an improved dynamic tiling window manager
*
* © 2009 Michael Stapelberg and contributors
*
* See file LICENSE for license information.
*
* ewmh.c: Functions to get/set certain EWMH properties easily.
*
*/
#include <stdint.h>
#include "data.h"
#include "table.h"
#include "i3.h"
#include "xcb.h"
/*
* Updates _NET_CURRENT_DESKTOP with the current desktop number.
*
* EWMH: The index of the current desktop. This is always an integer between 0
* and _NET_NUMBER_OF_DESKTOPS - 1.
*
*/
void ewmh_update_current_desktop() {
uint32_t current_desktop = c_ws->num;
xcb_change_property(global_conn, XCB_PROP_MODE_REPLACE, root,
atoms[_NET_CURRENT_DESKTOP], CARDINAL, 32, 1,
&current_desktop);
}