完善 ewmh 扩展初始化
This commit is contained in:
26
src/xcb/window.c
Normal file
26
src/xcb/window.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "window.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <xcb/xcb_icccm.h>
|
||||
|
||||
#include "xcb-private.h"
|
||||
|
||||
void set_window_class_instance(xcb_window_t window, const char *class,
|
||||
const char *instance) {
|
||||
size_t class_length = strlen(class) + 1;
|
||||
size_t instance_length = strlen(instance) + 1;
|
||||
size_t length = class_length + instance_length;
|
||||
|
||||
char *str = malloc(length * sizeof(char));
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
if (i < class_length) {
|
||||
str[i] = class[i];
|
||||
} else {
|
||||
str[i] = instance[i - class_length];
|
||||
}
|
||||
}
|
||||
|
||||
xcb_icccm_set_wm_class(conn, window, length, str);
|
||||
free(str);
|
||||
}
|
||||
Reference in New Issue
Block a user