Skip to content

A collection of Controls, Themes, and other tools, to help Avalonia apps specialize for each platform they support with minimal work.

License

Notifications You must be signed in to change notification settings

Splitwirez/Mechanism-for-Avalonia

Repository files navigation

Mechanism for Avalonia

Mechanism is a collection of Controls, Themes, and other such tools, intended for use with Avalonia, with a partial focus on helping Avalonia apps look and feel more 'at home' on each supported platform.

Current State of Development

At this early stage, I cannot promise that all of Mechanism for Avalonia is production-ready. That's not to say it necessarily isn't, more just that I don't know, and could use some help finding out.

Currently-available Controls

Main library
  • ToolBarTray and ToolBar (needs work to comply with MVVM)
    ToolBar and ToolBarTray in action
  • CommandBar (feature-complete, in need of testing)
    CommandBar in action
  • ToolStrip (functional but lacks visual polish, needs work to comply with MVVM)
    ToolStrip
Extras
  • BlenderBar (needs work to comply with MVVM)
    BlenderBar
  • ExpandToFillView (feature-complete, in need of testing)
    ExpandToFillView

Currently-available tools

  • PerPlatformUI (under construction)

Wiki

I'll admit, I'm not exactly the best at writing documentation, and don't have a great deal of experience doing so. That said, I do believe that clear documentation is very important, so if you find anything on the Wiki that's unclear, missing, inaccurate, do submit an issue for that as well. This also applies for smaller things, such as typos.

Reporting Bugs

If you find any bugs in Mechanism, please, do submit an issue! if you stumble across a bug, no matter how obvious (or subtle and unimportant) it may seem, please submit an issue about it regardless. This also applies to purely-cosmetic problems, visual rough edges, etc., even while Mechanism's themes are still in development.

Submitting Feedback

If you feel that Mechanism and its features are missing essential or otherwise-desirable functionality, or could be otherwise improved, please do submit an issue about it. I make no promises, but do make your case for why the functionality should be included, and we'll discuss the feasibility and value of your suggested functionality. I'm generally happy to consider implementing suggestions if I believe it is reasonably feasible and/or sufficiently beneficial to do so. Just do bear in mind, this is a hobby project I work on in my spare time, and while I want it to be as useful as possible, I may have to draw a line in the sand if needed.

Feature Suggestions

While I can't make any promises, if you need certain controls or themes or anything else of the sort built for your Avalonia app, I'm certainly open to considering adding your suggested features, so do submit an issue for that as well, and we'll discuss the merits and feasibility of your suggestion. For the moment, I can't promise the immediacy of delivery on these suggestions, as Mechanism already has many features planned but not yet fully implemented (if at all), but I'm certainly open to adding to my to-do list. I'll prioritize your suggestions as I see fit, but if you believe your suggestion should be prioritized differently, I am open to hearing your case for why. Just do bear in mind, Mechanism is not a for-profit endeavor - I don't get paid to do this, I do it because I choose to, and while I want Mechanism to be as useful as it can be, I may have to refuse some suggestions for any number of reasons. Suggestions closed until further notice

Contributing

If you wish to contribute to Mechanism yourself, it is best if you contact me before doing so. I'm generally open to external contributions, but I'd hate to see someone put a lot of work into something, only for me to have to turn it down for whatever reason, so if that's not a risk you want to take, do reach out beforehand and inquire about your planned changes. I won't take any such inquiries as promises or commitments unless you indicate otherwise, so if, you're worried about biting off more than you can handle...if it's any reassurance, I've been there myself, in the past. As such, I've taken great care to ensure that Mechanism does not overpromise, and wish to extend that same respect to you, should you choose to contribute. When submitting a Pull Request, please include whatever alias(es) you wish to be listed under in the Mechanism credits, should your PR be merged, as well as any website links or whatever you'd like me to include along with your chosen alias(es). Additionally, please be aware that if needed, I will not hesitate to suggest changes to your contributions for any number of reasons.

About

A collection of Controls, Themes, and other tools, to help Avalonia apps specialize for each platform they support with minimal work.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages