annotate dep/animia/README.md @ 241:06d6c351925c

*: reorganize resources, +docs, build translations with autotools
author Paper <paper@paper.us.eu.org>
date Mon, 22 Jan 2024 16:36:19 -0500
parents 8a482049b968
children
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
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
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 56
diff changeset
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`.