Mercurial > minori
annotate dep/animone/README @ 338:f63dfa309380
dep/animone: separate *BSD into separate files
they are wholly different operating systems with very different
kernels on the inside
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 19 Jun 2024 13:06:10 -0400 |
| parents | a7d4e5107531 |
| children |
| rev | line source |
|---|---|
| 302 | 1 Animone is a work-in-progress cross-platform hard fork of Anisthesia and part of |
| 2 Minori. | |
| 3 | |
| 4 Most (if not all) Anisthesia configs should also work in this library as well | |
| 5 (at least on Windows). | |
| 6 | |
| 7 --- LICENSE --- | |
| 8 Changes divergent from Anisthesia are under the BSD 3-clause license. You can | |
| 9 find a copy of the original MIT license bundled with Anisthesia at `LICENSE.MIT` | |
| 10 in the root folder. | |
| 11 | |
| 12 --- SUPPORT --- | |
| 13 Unlike Anisthesia, Animone currently does not support UI automation, i.e., most | |
| 14 web browsers will not work properly, if at all. | |
| 15 | |
| 16 Animone will first attempt to connect to a windowing system. If that fails, it | |
| 17 falls back to just enumerating over the open processes in the system. | |
| 18 | |
| 19 --- PLATFORM-SPECIFIC QUIRKS --- | |
| 20 Because Animone supports multiple different platforms, there are some quirks to | |
| 21 keep in mind while using the library. | |
| 22 | |
| 23 To get the currently opened file handles on Windows, Animone uses internal | |
| 24 kernel functions (however, these are unlikely to change in the future). | |
| 25 | |
| 26 The code to retrieve executable names on macOS calls the kernel, and said kernel | |
| 27 functions aren't guaranteed to have the same API with each release. However, it | |
| 28 has stayed relatively stagnant since 10.4 Tiger's release, so any release after | |
| 29 it should work perfectly fine. | |
| 30 | |
| 31 Additionally, macOS does not have the concept of class names, rather, it has | |
| 32 bundle identifiers, which are a suitable replacement in most use cases, and are | |
| 33 what Animone will attempt to grab before falling back to the Quartz window name. | |
| 34 | |
| 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 | 43 |
| 44 --- HISTORY --- | |
| 45 Animone used to be under the name Animia, as in you'd contract anemia just from | |
| 46 looking at the source code. It's been cleaned up a bit since then, so now it's | |
| 47 been changed to represent Anemone, a genus of flowering plants commonly called | |
| 48 windflowers :) |
