master ohmu/wmutils / src / opt / chwn.c
ohmu  ·  2026-07-25
 1/* See LICENSE file for copyright and license details. */
 2
 3#include <err.h>
 4#include <stdio.h>
 5#include <stdlib.h>
 6#include <string.h>
 7#include <xcb/xcb.h>
 8
 9#include "arg.h"
10#include "util.h"
11
12static xcb_connection_t *conn;
13
14static void usage(char *);
15static void set_title(xcb_connection_t *, xcb_window_t, char *);
16
17static void
18usage(char *name)
19{
20	fprintf(stderr, "usage: %s <name> <wid>\n", name);
21	exit(1);
22}
23
24void
25set_title(xcb_connection_t *con, xcb_window_t w, char *name)
26{
27	xcb_change_property(con, XCB_PROP_MODE_REPLACE, w, XCB_ATOM_WM_NAME,
28		XCB_ATOM_STRING, 8, strlen(name), name);
29	xcb_flush(con);
30}
31
32int
33main(int argc, char **argv)
34{
35	if (argc != 3)
36		usage(argv[0]);
37
38	init_xcb(&conn);
39
40	set_title(conn, strtoul(argv[2], NULL, 16), argv[1]);
41
42	kill_xcb(&conn);
43
44	return 0;
45}