annotate README @ 21:973734ebd2be

dep/animone: REFACTOR ALL THE THINGS 1: animone now has its own syntax divergent from anisthesia, making different platforms actually have their own sections 2: process names in animone are now called `comm' (this will probably break things). this is what its called in bsd/linux so I'm just going to use it everywhere 3: the X11 code now checks for the existence of a UTF-8 window title and passes it if available 4: ANYTHING THATS NOT LINUX IS 100% UNTESTED AND CAN AND WILL BREAK! I still actually need to test the bsd code. to be honest I'm probably going to move all of the bsds into separate files because they're all essentially different operating systems at this point
author Paper <paper@paper.us.eu.org>
date Wed, 19 Jun 2024 12:51:15 -0400
parents c6351cf654e6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
c6351cf654e6 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
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
2 Minori.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
3
c6351cf654e6 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
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
5 (at least on Windows).
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
6
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
7 --- LICENSE ---
c6351cf654e6 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
c6351cf654e6 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`
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
10 in the root folder.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
11
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
12 --- SUPPORT ---
c6351cf654e6 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
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
14 web browsers will not work properly, if at all.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
15
c6351cf654e6 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
c6351cf654e6 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.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
18
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
19 --- PLATFORM-SPECIFIC QUIRKS ---
c6351cf654e6 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
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
21 keep in mind while using the library.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
22
c6351cf654e6 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
c6351cf654e6 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).
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
25
c6351cf654e6 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
c6351cf654e6 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
c6351cf654e6 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
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
29 it should work perfectly fine.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
30
c6351cf654e6 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
c6351cf654e6 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
c6351cf654e6 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.
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
34
c6351cf654e6 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
21
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
36 PIDs. Animone will also attempt to retrieve window names in UTF-8 encoding; if
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
37 this is not possible it will be passed as whatever the current locale encoding
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
38 is.
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
39
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
40 File paths will always be in UTF-8 on Windows and macOS. Linux and BSD treat
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
41 filenames as just a pile of bytes and it's no telling what encoding they're in
973734ebd2be dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents: 15
diff changeset
42 (but in most if not all cases they will be in UTF-8 as well)
15
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
43
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
44 --- HISTORY ---
c6351cf654e6 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
c6351cf654e6 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
c6351cf654e6 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
c6351cf654e6 docs: clean up documentation
Paper <paper@paper.us.eu.org>
parents:
diff changeset
48 windflowers :)