Mercurial > minori
comparison dep/animia/README.md @ 199:9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 02 Jan 2024 02:34:27 -0500 |
parents | 0fc126d52de4 |
children | 8a482049b968 |
comparison
equal
deleted
inserted
replaced
198:bc1ae1810855 | 199:9f3534f6b8c4 |
---|---|
1 # Animia | 1 # Animia |
2 Animia is a work-in-progress cross-platform hard fork of Anisthesia and part of Minori. | 2 Animia is a work-in-progress cross-platform hard fork of Anisthesia and part of |
3 Minori. | |
3 | 4 |
4 Most (if not all) Anisthesia configs should also work in this library as well (at least on Windows). | 5 Most (if not all) Anisthesia configs should also work in this library as well |
6 (at least on Windows). | |
5 | 7 |
6 ## Support | 8 ## Support |
7 Animia supports Windows, macOS, and Linux when dealing with file descriptors. When enumerating | 9 Animia supports Windows, macOS, and Linux when dealing with file descriptors. |
8 windows, it supports Windows, macOS (Quartz), and X11. I'd love to be able to support Wayland, but | 10 When enumerating windows, it supports Windows, macOS (Quartz), X11, and |
9 there's nothing I can do to provide an API that literally does not exist. | 11 Wayland (only via the `ext_foreign_toplevel_handle_v1` interface). |
10 | 12 |
11 Unlike Anisthesia, Animia currently does not support UI automation, i.e., some web browsers will not | 13 Unlike Anisthesia, Animia currently does not support UI automation, i.e., most |
12 work properly, if at all. | 14 web browsers will not work properly, if at all. |
13 | 15 |
14 ## Platform-specific quirks | 16 ## Platform-specific quirks |
15 | 17 |
18 ### Windows | |
19 To get the currently opened file handles on Windows, Animia has to use internal | |
20 kernel functions. However, these functions aren't likely to change anytime soon. | |
21 | |
16 ### macOS | 22 ### macOS |
17 The code to executable names on macOS uses internal functions. However, if these functions | 23 The code to retrieve executable names on macOS uses internal functions. However, |
18 cannot be found for whatever reason, it falls back to parsing the arguments, and then to calling | 24 if these functions cannot be found for whatever reason, it falls back to parsing |
19 the kernel. | 25 the arguments, and then to calling the kernel. |
20 | 26 |
21 macOS doesn't have the concept of "class names", rather, it has bundle identifiers, which are | 27 Additionally, macOS does not have the concept of class names, rather, it has |
22 a suitable replacement for most use cases. | 28 bundle identifiers, which are a suitable replacement in most use cases, and are |
29 what Animia will try to grab before falling back to the Quartz window name. | |
23 | 30 |
24 ### X11 | 31 ### X11 |
25 X11 has no idea what PID started your window. As a result, we can't provide it. Eventually, | 32 If your X server has the XRes extension installed, Animia will use it to get |
26 there'll be support for the XRes extension which provides this possibility. For now, PIDs are | 33 PIDs. Otherwise, X11 has no idea what PID started your window. As a result, |
27 received using the untrustworthy `_NET_WM_PID` resource. | 34 what Animia will give you is from the `_NET_WM_PID` resource, which is |
35 [very](https://stackoverflow.com/a/49970490) | |
36 [unreliable](https://stackoverflow.com/a/49970271). | |
37 | |
38 ### Wayland | |
39 Only Wayland servers that implement the `ext_foreign_toplevel_handle_v1` | |
40 interface will work with Animia. As of 2 January 2024, this means there are no | |
41 server implementations that will work. **However**, it is possible to implement | |
42 support for the wlroots-specific `wlr_foreign_toplevel_management_unstable_v1` | |
43 protocol, which will at least give support to window managers based off of it. |