Giter VIP home page Giter VIP logo

mechanism-for-avalonia's Introduction

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

  • ToolBarTray and ToolBar (nearly feature-complete)
    ToolBar and ToolBarTray in action
  • CommandBar (feature-complete, in need of testing)
    CommandBar in action
  • FlyoutButton (feature-complete, in need of testing)
    FlyoutButton
  • SplitButton (feature-complete, in need of testing)
  • SplitToggleButton (feature-complete, in need of testing)
  • ContentDialog (under construction)
    ContentDialog
  • StyleableWindow (shelved)
  • ToolStrip (functional but lacks visual polish, in need of testing)
    ToolStrip
  • BlenderBar (feature-complete, in need of testing)
    BlenderBar

Currently-available Themes

(Note that all of these themes are currently very incomplete)
  • Windows Aero
  • Windows Fluent
  • macOS Human
  • Jade (shelved)
  • Slate (shelved)

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.

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.

Attributions

Planned Controls

(Note that these planned features are subject to change, and are not guaranteed to be implemented)
  • ActionBox
  • ToggleSwitch
  • BreadcrumbsBar and BreadcrumbItem
  • Rearranger and RearrangeablePane
  • macOS-style Column view
  • Some kind of MDI-window-based ItemsControl thing

Planned Themes

(Note that these planned features are subject to change, and are not guaranteed to be implemented)
  • Windows XP Luna
  • Metro (e.g. Windows 8, Windows 10 pre-Fluent)
  • Windows Classic
  • Mac OS X Aqua
  • Ubuntu Ambiance and/or Communitheme(?)
  • Elementary OS
  • Possibly some other popular Linux themes (open to suggestions)
  • Plex
  • Shale

Planned Tools

(Note that these planned features are subject to change, and are not guaranteed to be implemented)
  • Platform-matching theme loader
  • Compiled XAML skin loader, with optional support for sideloading user-provided skins

mechanism-for-avalonia's People

Contributors

splitwirez avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.