aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add LICENSE and README.mdAndreas Grois2024-02-102-0/+43
|
* Move global allocator selection to swaystatus-plugin.Andreas Grois2021-11-302-3/+3
| | | | This way plugins needn't set it manually.
* Update clap version to 3.0.0-beta.5.Andreas Grois2021-11-295-107/+88
| | | | | This change removes the flags list. To keep the help readable, the sorting of fields has been adjusted.
* Update some dependenciesAndreas Grois2021-11-293-15/+6
|
* Update Rust edition to 2021Andreas Grois2021-11-295-5/+5
|
* Run clippy and fix all lints.Andreas Grois2021-11-295-31/+24
|
* Pulse: Make sure only one query is running at a time.Andreas Grois2021-11-292-13/+63
| | | | | There were rare cases where startup would cause an infinite loop in pulse.
* Update pulse help string and add a few serde renames.Andreas Grois2021-11-294-8/+45
|
* Fix handling of specific sinks with pulse.Andreas Grois2021-11-281-4/+4
| | | | | Before the initial update was missing. By always querying the default sink we properly grab server data first, and trigger the update.
* Implement working binning and sorting for pulse audio.Andreas Grois2021-11-283-20/+106
|
* Draft of binning code.Andreas Grois2021-11-282-2/+58
|
* Draft for volume binning config support.Andreas Grois2021-11-283-9/+47
|
* Rework Balance/Volume Settings to use the same generic struct.Andreas Grois2021-11-281-23/+95
| | | | | This is unfinished. The serialize/deserialize methods currently just return errors.
* Update translation.Andreas Grois2021-11-272-71/+116
|
* Fix unintentional new-line in string.Andreas Grois2021-11-271-2/+1
|
* Add "C" to all extern keywords.Andreas Grois2021-10-291-10/+10
|
* Fix all "not FFI-safe" warnings.Andreas Grois2021-10-291-22/+23
| | | | | The backside of the "fix" is that now there are some casts to and from c_void... But how else should that work?
* Ignore "dead code" warnings on FFI enums.Andreas Grois2021-10-282-10/+16
|
* Fix warning about bare trait object.Andreas Grois2021-10-281-1/+1
| | | | Damn, that syntax is stupid, but hey...
* Pulse now displays volume correctly.Andreas Grois2021-06-045-90/+396
| | | | | Still missing actual functionality beyond a numeric display, and error cases have not been tested, but hey, it's there!
* Unfinished (doesn't compile) implementation of pulse runnable loop.Andreas Grois2021-05-092-10/+152
| | | | | | | This is mainly as a note to my future self. A barebone implementation of the logic for the pulse runnable loop, where all details (meaning: functions to be called) are still not implemented - not even as signatures.
* Make (most) pulse nullptr checks unnecessary.Andreas Grois2021-05-083-49/+65
| | | | | This change makes respective functions return either a result or an option instead. The goal here is readability.
* Revert "Make runnable's run() method take a mutable self-reference."Andreas Grois2021-05-035-5/+5
| | | | | | | This reverts commit e1f0525e4e1dcf674aa7489042a06b7c7d671a2a. I've decided against having mutable self-references. It's a bit less convenient, but more sane. Also, the revert can be reverted any time, should the need arise.
* Move pulse context out of Runnable struct.Andreas Grois2021-05-031-21/+34
| | | | | | | | It's something that should be created after the runnable started, not when the runnable gets instantiated. Also, that way we can ensure that the context isn't moved between threads, as I'm not certain that's sane to do (meaning: using it from different threads, not sending the pointer).
* Properly quit pulse main function. Not that it'd matter.Andreas Grois2021-05-021-1/+5
| | | | | All that this cleanup does is set the return value... Apart from that, it's just like nuking the main loop by calling free...
* Create a pulse context. Seems to be working.Andreas Grois2021-05-024-8/+96
|
* Make runnable's run() method take a mutable self-reference.Andreas Grois2021-05-025-5/+5
| | | | | Because there is no real reason speaking against it, and it makes plugin development a lot easier.
* Factor out all unsafe code into its own module (unfinished)Andreas Grois2021-05-024-22/+112
|
* First draft of pulse architecture.Andreas Grois2021-05-017-0/+201
|
* Fix error messages if library could not be loaded.Andreas Grois2021-05-011-5/+6
| | | | | Previously rather useless memory addresses were written in user-visible error messages. Now it's the actual file path.
* Make before_text and after_text do something.Andreas Grois2021-05-013-7/+18
|
* Add new fields to config: before_text and after_text. Unused.Andreas Grois2021-04-282-2/+32
| | | | | Will be added to main program later. Also tests need to be updated, because by default the newly added fields are present as empty strings.
* Move deserializer of config into separate file.Andreas Grois2021-04-283-171/+169
|
* Remove TODO document. For now it's done.Andreas Grois2021-04-261-3/+0
|
* Add options: List plugins, and get plugin help.Andreas Grois2021-04-266-19/+157
| | | | | | This fixes the TODO document's notes about not being able to get help for individual plugins, and about not having any means to list all loadable plugins.
* New clippy lints, better code...Andreas Grois2021-04-264-13/+25
|
* Update gettext-rs version, tweak Clap dependencies.Andreas Grois2021-04-252-105/+11
| | | | | We still might want to get rid of those dependencies. They really bloat the executable, especially Clap.
* Fix warnings with new Rust versionAndreas Grois2021-04-251-2/+2
|
* Remove redundant .cargo foldersAndreas Grois2021-04-252-4/+0
|
* Switch clock to cdylib, makes it use a lot less RAM (800 kb)Andreas Grois2021-04-251-1/+1
|
* Move printing sample config to separate function.Andreas Grois2021-04-221-9/+26
|
* Reduce data type in clock to u64.Andreas Grois2021-04-222-14/+18
| | | | | This still gives us more than 8000 years of range, and uses a tiny bit less CPU time.
* Fix rounding issue in clock:Andreas Grois2021-04-222-6/+21
| | | | | | Sleep a millisecond if otherwise an update would get skipped. This happens if a refresh is requested in the last millisecond before the next synchronized update is expected.
* Rename "elements" in config to "element" to make config readableAndreas Grois2021-04-222-10/+14
|
* Change format for clock refresh rate once more.Andreas Grois2021-04-223-6/+14
| | | | It's now optional again, but needs its own block.
* Simplified clock config. It now only has 2 options for rates.Andreas Grois2021-04-222-30/+55
| | | | | | | Either it's updating every n seconds (float) but not synchronized to the actual UTC time, or it's updating synchronized, but with the limitation that the update rate is given as updates/(30 minutes). Explanation why this format was chosen is in the source file.
* Fix rounding errors. There's still a TODO:Andreas Grois2021-04-221-13/+12
| | | | | | | If the clock is started 1 ms before the configured time interval, it currently will skip one update. Because waiting times up to 30 minutes are planned to be supported, this can cause the clock to be quite wrong for quite some time...
* Fix that separators/texts were swappedAndreas Grois2021-04-211-1/+1
|
* Enforce system allocator (sanity and such...)Andreas Grois2021-04-201-1/+3
|
* Simple synchronized clock (limited to full seconds or 1/x seconds)Andreas Grois2021-04-201-14/+35
|