Mercurial > minori
annotate dep/animia/README.md @ 216:8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Sun, 07 Jan 2024 12:42:10 -0500 |
parents | 9f3534f6b8c4 |
children |
rev | line source |
---|---|
56
6ff7aabeb9d7
deps: add animia for open files detection
Paper <mrpapersonic@gmail.com>
parents:
diff
changeset
|
1 # Animia |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
2 Animia is a work-in-progress cross-platform hard fork of Anisthesia and part of |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
3 Minori. |
62 | 4 |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
5 Most (if not all) Anisthesia configs should also work in this library as well |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
6 (at least on Windows). |
158
80d6b28eb29f
dep/animia: fix most X11 stuff
Paper <mrpapersonic@gmail.com>
parents:
152
diff
changeset
|
7 |
80d6b28eb29f
dep/animia: fix most X11 stuff
Paper <mrpapersonic@gmail.com>
parents:
152
diff
changeset
|
8 ## Support |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
9 Animia supports Windows, macOS, and Linux when dealing with file descriptors. |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
10 When enumerating windows, it supports Windows, macOS (Quartz), X11, and |
216
8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
Paper <mrpapersonic@gmail.com>
parents:
199
diff
changeset
|
11 Wayland (only via the `ext_foreign_toplevel_handle_v1` and |
8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
Paper <mrpapersonic@gmail.com>
parents:
199
diff
changeset
|
12 `wlr_foreign_toplevel_management_unstable_v1` interfaces). |
191
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
13 |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
14 Unlike Anisthesia, Animia currently does not support UI automation, i.e., most |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
15 web browsers will not work properly, if at all. |
191
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
16 |
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
17 ## Platform-specific quirks |
158
80d6b28eb29f
dep/animia: fix most X11 stuff
Paper <mrpapersonic@gmail.com>
parents:
152
diff
changeset
|
18 |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
19 ### Windows |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
20 To get the currently opened file handles on Windows, Animia has to use internal |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
21 kernel functions. However, these functions aren't likely to change anytime soon. |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
22 |
191
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
23 ### macOS |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
24 The code to retrieve executable names on macOS uses internal functions. However, |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
25 if these functions cannot be found for whatever reason, it falls back to parsing |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
26 the arguments, and then to calling the kernel. |
191
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
27 |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
28 Additionally, macOS does not have the concept of class names, rather, it has |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
29 bundle identifiers, which are a suitable replacement in most use cases, and are |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
30 what Animia will try to grab before falling back to the Quartz window name. |
191
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
31 |
0fc126d52de4
animia: multiple stylistic choices
Paper <mrpapersonic@gmail.com>
parents:
158
diff
changeset
|
32 ### X11 |
199
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
33 If your X server has the XRes extension installed, Animia will use it to get |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
34 PIDs. Otherwise, X11 has no idea what PID started your window. As a result, |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
35 what Animia will give you is from the `_NET_WM_PID` resource, which is |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
36 [very](https://stackoverflow.com/a/49970490) |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
37 [unreliable](https://stackoverflow.com/a/49970271). |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
38 |
9f3534f6b8c4
dep/animia: initial Wayland support, drop non-working kvm fd plugin
Paper <mrpapersonic@gmail.com>
parents:
191
diff
changeset
|
39 ### Wayland |
216
8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
Paper <mrpapersonic@gmail.com>
parents:
199
diff
changeset
|
40 Only Wayland servers that implement the `ext_foreign_toplevel_handle_v1` or |
8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
Paper <mrpapersonic@gmail.com>
parents:
199
diff
changeset
|
41 `wlr_foreign_toplevel_management_unstable_v1` interfaces will work with Animia. |
8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
Paper <mrpapersonic@gmail.com>
parents:
199
diff
changeset
|
42 Currently, both Sway and Mir support the latter. Maybe some day we'll have |
8a482049b968
dep/animia: win/wayland: add UNTESTED support for wlroots protocols
Paper <mrpapersonic@gmail.com>
parents:
199
diff
changeset
|
43 major compositor support for `ext_foreign_toplevel_handle_v1`. |