Commit Graph

5 Commits

Author SHA1 Message Date
Elf M. Sternberg cf73c5ddfd Changed the color on the Xorg logo to the lighter background. 2022-02-24 17:07:06 -08:00
Elf M. Sternberg fad050d278 Different logo. 2022-02-24 17:05:40 -08:00
Elf M. Sternberg 823ca35e0c Added README and LICENSE files.
In preparation for putting it up on Github.
2022-02-24 17:03:29 -08:00
Elf M. Sternberg 2cd9b268a8 Innteresting. It seems that the `output` collection is much more
reliable as a source of truth about which monitors and screens are
actually in use.  Each one comes with its own collection of `crtc`,
but you can just skip the ones that return `null`, giving you a
reliable list of the "active and visible" screens that the user is
currently looking at.  Excellent!  This means that I'm one step closer
to having a viable solution!

I also discovered the [xcb_util](https://xcb.freedesktop.org/XcbUtil/)
library of helpful utilities has a function called
`xcb_aux_get_screen` for getting the root screen because everyone was
weirded out by that list traversal algorithm.

The source code to [xedgewarp](https://github.com/Airblader/xedgewarp)
was invaluable in revealing these secrets to me.

So far this little toy compiles down to only 35KB, and that includes
using `std::cout` and `std::vector`!  I wonder how big the Rust
version will be.  Yeah, yeah, I know, it cheats by having lots of
itself hidden in the kernel.

Next up: Actually knowing what the rotation status is.
2022-02-24 15:59:43 -08:00
Elf M. Sternberg 59a0c6acbf Initial commit: XRandR connects to the server via XCB.
I really need to start two cheatsheets for this: one for CMake,
and one for XCB.
2022-02-17 07:01:34 -08:00