Commit Graph

13 Commits

Author SHA1 Message Date
Yuxuan Shui aa99bd34b7 fixup! atom: add a mock for struct atom 2024-02-17 02:21:50 +00:00
Yuxuan Shui a1bedd2d32
atom: add a mock for struct atom
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-17 02:16:12 +00:00
Yuxuan Shui e5bcfaccbe
atom: make the internal implementations replaceable
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-17 02:13:06 +00:00
Yuxuan Shui d879ef636a
atom: hide internals of struct atom
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-17 01:55:21 +00:00
Yuxuan Shui 74b5fd193a
atom: add two-way mapping between atom and its name
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-16 17:23:01 +00:00
Yuxuan Shui 2b52edd9e3
cache: hide details of struct atom_entry
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-16 12:47:31 +00:00
Yuxuan Shui a93bbc30e5
atom: get_atom now requires explicit xcb_connection_t
This is to make the access to X server more explicit, and make managing
the lifetime of xcb_connection_t a bit easier.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-16 00:38:40 +00:00
Yuxuan Shui 6315faed20
cache: redesign
cache uses an invasive design now, a la list.h and uthash. This get rid
of the ugly integer to pointer cache, and gives us freedom of what we
can put into the cache.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-16 00:38:38 +00:00
Yuxuan Shui 0dcca2228e
cache: slight refactor
Added a pure version of `cache_get` which does not change the cache, and
renamed the old `cache_get` to `cache_get_or_fetch`.

Remove unused `cache_set`, and remove prefix underscore from function
names.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-15 20:07:34 +00:00
Yuxuan Shui dc37370a66
x: remove the last bit of Xlib dependency
Of course, we still use GLX, so we can't completely remove Xlib yet. But
this removes all Xlib uses outside of the backends.

This drops support for COMPOUND_TEXT Xorg strings, so people how wants
multilingual support has to use UTF8, which should be fine since most of
the applications support that.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-10-23 07:58:01 +01:00
Yuxuan Shui 0ba7761bd5
Untangle headers
Thanks, clang -fmodules.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-08-10 00:56:26 +01:00
Yuxuan Shui 939f2fb602
common.h: general clean up
Remove unused functions and definitions. Move some macros into the files
they belong.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-05-21 20:15:34 +01:00
Yuxuan Shui c6a4928a45
atom: cache result of get_atom
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-05-21 20:15:33 +01:00