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 :) |