annotate dep/animone/README @ 360:6ca952f6a95c

CI/linux: need desktop-file-utils package
author Paper <paper@paper.us.eu.org>
date Mon, 15 Jul 2024 01:09:52 -0400
parents a7d4e5107531
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
302
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
1 Animone is a work-in-progress cross-platform hard fork of Anisthesia and part of
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
2 Minori.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
3
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
4 Most (if not all) Anisthesia configs should also work in this library as well
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
5 (at least on Windows).
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
6
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
7 --- LICENSE ---
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
8 Changes divergent from Anisthesia are under the BSD 3-clause license. You can
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
9 find a copy of the original MIT license bundled with Anisthesia at `LICENSE.MIT`
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
10 in the root folder.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
11
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
12 --- SUPPORT ---
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
13 Unlike Anisthesia, Animone currently does not support UI automation, i.e., most
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
14 web browsers will not work properly, if at all.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
15
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
16 Animone will first attempt to connect to a windowing system. If that fails, it
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
17 falls back to just enumerating over the open processes in the system.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
18
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
19 --- PLATFORM-SPECIFIC QUIRKS ---
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
20 Because Animone supports multiple different platforms, there are some quirks to
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
21 keep in mind while using the library.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
22
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
23 To get the currently opened file handles on Windows, Animone uses internal
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
24 kernel functions (however, these are unlikely to change in the future).
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
25
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
26 The code to retrieve executable names on macOS calls the kernel, and said kernel
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
27 functions aren't guaranteed to have the same API with each release. However, it
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
28 has stayed relatively stagnant since 10.4 Tiger's release, so any release after
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
29 it should work perfectly fine.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
30
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
31 Additionally, macOS does not have the concept of class names, rather, it has
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
32 bundle identifiers, which are a suitable replacement in most use cases, and are
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
33 what Animone will attempt to grab before falling back to the Quartz window name.
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
34
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
35 On X11, Animone requires that the XRes extension is installed to retrieve window
337
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
36 PIDs. Animone will also attempt to retrieve window names in UTF-8 encoding; if
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
37 this is not possible it will be passed as whatever the current locale encoding
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
38 is.
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
39
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
40 File paths will always be in UTF-8 on Windows and macOS. Linux and BSD treat
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
41 filenames as just a pile of bytes and it's no telling what encoding they're in
a7d4e5107531 dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 302
diff changeset
42 (but in most if not all cases they will be in UTF-8 as well)
302
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
43
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
44 --- HISTORY ---
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
45 Animone used to be under the name Animia, as in you'd contract anemia just from
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
46 looking at the source code. It's been cleaned up a bit since then, so now it's
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
47 been changed to represent Anemone, a genus of flowering plants commonly called
675865737a23 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
48 windflowers :)