annotate dep/animia/README.md @ 198:bc1ae1810855

dep/animia: switch from using classes to global functions the old idea was ok, but sort of hackish; this method doesn't use classes at all, and this way (especially important!) we can do wayland stuff AND x11 at the same time, which wasn't really possible without stupid workarounds in the other method
author Paper <mrpapersonic@gmail.com>
date Sun, 24 Dec 2023 02:59:42 -0500
parents 0fc126d52de4
children 9f3534f6b8c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
56
6ff7aabeb9d7 deps: add animia for open files detection
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 # Animia
152
8700806c2cc2 dep/animia: awesome new breaking changes!
Paper <mrpapersonic@gmail.com>
parents: 138
diff changeset
2 Animia is a work-in-progress cross-platform hard fork of Anisthesia and part of Minori.
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 56
diff changeset
3
152
8700806c2cc2 dep/animia: awesome new breaking changes!
Paper <mrpapersonic@gmail.com>
parents: 138
diff changeset
4 Most (if not all) Anisthesia configs should also work in this library as well (at least on Windows).
158
80d6b28eb29f dep/animia: fix most X11 stuff
Paper <mrpapersonic@gmail.com>
parents: 152
diff changeset
5
80d6b28eb29f dep/animia: fix most X11 stuff
Paper <mrpapersonic@gmail.com>
parents: 152
diff changeset
6 ## Support
191
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
7 Animia supports Windows, macOS, and Linux when dealing with file descriptors. When enumerating
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
8 windows, it supports Windows, macOS (Quartz), and X11. I'd love to be able to support Wayland, but
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
9 there's nothing I can do to provide an API that literally does not exist.
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
10
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
11 Unlike Anisthesia, Animia currently does not support UI automation, i.e., some web browsers will not
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
12 work properly, if at all.
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
13
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
14 ## Platform-specific quirks
158
80d6b28eb29f dep/animia: fix most X11 stuff
Paper <mrpapersonic@gmail.com>
parents: 152
diff changeset
15
191
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
16 ### macOS
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
17 The code to executable names on macOS uses internal functions. However, if these functions
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
18 cannot be found for whatever reason, it falls back to parsing the arguments, and then to calling
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
19 the kernel.
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
20
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
21 macOS doesn't have the concept of "class names", rather, it has bundle identifiers, which are
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
22 a suitable replacement for most use cases.
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
23
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
24 ### X11
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
25 X11 has no idea what PID started your window. As a result, we can't provide it. Eventually,
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
26 there'll be support for the XRes extension which provides this possibility. For now, PIDs are
0fc126d52de4 animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents: 158
diff changeset
27 received using the untrustworthy `_NET_WM_PID` resource.