OSMO - A skin manager for osu!
OSMO stands for "Open Skin Manager for osu!" and builds upon the old Skin Manager from 2014. It uses the Material Design In XAML Toolkit to give you a clean and easy to navigate UI.
Status
First stable release ToDo
- Implement a forum template manager (with autofill)
- Add keyboard shortcuts
- Skin element resize tool (for example create SD elements from HD elements)
- Implement a custom file picker with Material Design style (and get rid of the default Win32 file picker)
- Log file system
- Simulator -> Test how your skin would look like in-game without starting osu! -> Currently in development
- Context menus on various controls
- Auto-Updater
- Implement custom titlebar and remove MahApps.Metro dependency
- Translation system
- Translation files
EnglishSpanishGerman
Contributing
If you want to introduce new user controls and/or add new controls to existing ones, please follow the MVVM pattern and the Material Design Guidelines.
Also please follow these guidelines:
- Create Viewmodels inside the namespace "ViewModel" and append "ViewModel" at the end of the class name. (For example "SkinSelectViewModel")
- If you add a new section to the sidebar, create a new usercontrol inside the namespace "UI". Every section must implement the Singleton pattern. Then open the class "OsmoViewModel", go to the constructor and add the section as a new SidebarEntry.
- Example: new SidebarEntry(Helper.FindString("sidebar_home"), MaterialDesignThemes.Wpf.PackIconKind.Home, SkinSelect.Instance)
- Feel free to translate Osmo into your language! To do so, follow these steps:
- Create a copy of the "StringResources.xaml" file inside the namespace "Localisation"
- Rename your copy like this: "StringResources.[culture code].xaml". Culture codes can be found here. An example for a German translation would be "StringResources.de.xaml".
- Translate the text between ">" and "</system:String>" in every line. Don't change the "x:Key" attribute!
- Finally open an issue with the title "Translation for [Language name] finished". Example: "Translation for German finished".