Uli Schlachter d6e2a38b5c Share graphics context globally (#4376)
Instead of creating a graphics context for every surface_t, this commit
adds a cache that allows to "remember" up to two GCs. Thus, the code
uses less GCs. When a GC from the cache can be used, this also gets rid
of a round-trip to the X11 server. Both of these are tiny, insignificant
savings, but so what?

Since GCs are per-depth, this code needs access to get_visual_depth().
To avoid a code duplication, this function is moved to libi3.

Fixes: https://github.com/i3/i3/issues/3478
Signed-off-by: Uli Schlachter <psychon@znc.in>
2023-07-22 10:24:13 +02:00
2023-01-02 09:46:32 +01:00
2022-10-16 18:21:08 +02:00
2020-10-20 09:36:44 +02:00
2023-01-02 09:39:00 +01:00

Logo i3: A tiling window manager

Build Status Issue Stats Pull Request Stats

Packages Packages

i3 is a tiling window manager for X11.

For more information about i3, please see the project's website and online documentation.

For information about contributing to i3, please see CONTRIBUTING.md.

Description
Languages
C 58%
Perl 36.4%
Raku 2.6%
Ruby 1.2%
Meson 0.7%
Other 1%