Added
- A new Customize page. The look you have now sits at the top with Share, Import and Find more, and four tabs sit below it: Themes, Colors, Logo and Background. The Default card in Themes puts back the look Mechvibes starts with, and keeps your logo and background settings for later.
- Choose which parts of a theme to use. Before a theme goes on, the dialog lists its colors, logo and background, each with a tick. Untick a part to keep yours. It also says when a theme will replace your logo or background.
- See a theme before you use it. The dialog shows the theme the way the theme library does: a picture of it, its name, who made it and its description. A theme file can carry its own author and description, with credit for its images, and Mechvibes 3.3 still opens such a file. A short heading over the choices says what they are for. The picture is a small copy of the app as it will look with the theme on: its background, its logo and its colors. It follows what you tick, so an unticked part shows yours.
- Undo. Right after you put on a theme or the Default look, Undo brings back the look you had before. It stays readable whatever the theme does to the colors.
- Open a theme file with a double-click (Windows and Linux), or drop it on the Mechvibes window. The app comes to the front and asks before it changes anything.
- Theme files have their own icon (Windows and Linux), so you can tell a
.mvthemefile apart from the app. - Share saves straight to a file. The save dialog opens right away, and once the file is saved, Show file opens the folder it is in.
- Share a theme as a link. Publish a theme on mechvibes.com/themes and it gets a short link, like
mechvibes.com/t/f9try9c. Posted on Discord, the link shows a card with the theme's picture, and anyone can install it from there in one click. - A gallery of your themes. Customize > Themes opens with one line on what a theme is (colors, logo and background together), then shows every theme as a card with a small preview: Default, the ready-made themes, your own themes, and the themes you installed. Click a card to put it on. The theme you had stays in the gallery, so you can always click it again.
- Four ready-made themes come with the app: Retro Beige, Midnight Blue, RGB Night and Rainy Cafe.
- Your changes save on their own. There is no Save button. Editing your own theme updates it. Editing a ready-made or installed theme, or the Default look, saves your version as " (my copy)" and leaves the original as it was. If you had your own logo or background before this version, it is saved as "My theme" the first time you open the app.
- Share, duplicate, rename and delete themes from the "..." menu on a card. You can rename your own themes, and delete your own and the ones you installed.
- Unused images are cleared. A week after no theme or setting uses an image Mechvibes saved, the app removes it. If you run more than one copy of Mechvibes (for example the installed app and a portable one), each copy only removes images it saved itself. If a theme in the other copy loses its image, import that theme again.
Changed
- A theme only changes what it has. If a theme has no logo or no background, yours stays as it is. Before, the app turned yours off.
- Clicking a theme card puts on that whole theme. A part the theme does not have is turned off, and your settings for it are kept for later.
- Installing a library theme again updates it instead of adding it a second time. Importing the same theme file again uses the card you already have. Your own copies of a theme are never changed.
- An installed theme keeps all its parts. If you untick a part when you install a theme, only the look you see now leaves it out; clicking the theme's card later puts on all of it.
- "Reset to Defaults" in Settings keeps your look. It first saves the look you have as a theme, then puts back the default colors and turns off your logo and background. Click the theme in the gallery to get it back.
- A theme from the library is checked before the app asks. The app downloads the theme and checks it first, so the dialog lists what is really in the file, and Use this theme puts on exactly that.
- Images are stored once. Importing the same theme, or picking the same image, twice no longer makes a second copy of the image.
- Packs without an icon get a cover. Instead of a music note, the pack picker and the Sound packs list show the pack's initials on a color picked from its name, so a pack always has the same color. Pack icons are rounded squares again, where some themes turned them into circles.
Fixed
- The logo border takes the new theme's color when you switch themes. A border that uses one of the theme's colors kept the color of the theme before it until you restarted the app.
- Colors you make are put on right away, instead of only being added to the list.
- Deleting the colors you are using goes back to the default colors. The app asks first. If your colors go missing in any other way, the app shows the default colors too.
- You now see an error when your changes cannot be saved, or when a picked image cannot be used. Before, the error only went to the log.
- A damaged colors list is kept. Mechvibes used to replace it with an empty one. It now keeps a copy next to it,
themes.json.corrupt, and tells you where. If the list cannot be read at all, nothing in it is changed until you restart the app. - The logo no longer changes color when you first edit it. Editing a part that is off turns it on and changes only what you edited.
- A half-typed color is not saved. A color you type is saved once it is complete, or when you leave the field or press Enter.
- Turning a background or logo image off takes it off the screen. Before, the old image, border and shadow stayed until you restarted the app.
Security
- A theme can only change colors and a few known sizes. Theme files and the Colors editor keep only the app's color variables, light or dark mode, and corner, field and border sizes within normal limits. A color that would make text invisible is left out. A theme file is read only up to its size limit, and a theme file link that points at another computer is ignored.
Downloads
- Windows:
Mechvibes-<version>-Setup-x64.exe, the installer and the only asset the in-app updater uses. - Linux (Debian/Ubuntu):
.deb. Install withsudo dpkg -i. It does not add you to theinputgroup; runsudo usermod -a -G input $USERand log out/in, or key events won't be seen. - Linux (any distro):
.AppImageis portable, with no install step. Runchmod +xon it first, then launch it. Theinputgroup requirement is the same as the.deband nothing sets it up for you:sudo usermod -a -G input $USER, then log out and back in, or key events won't be seen. - macOS (Apple Silicon):
.dmg. Open it and drag Mechvibes to Applications. Ad-hoc signed but not notarized, so Gatekeeper blocks a normal double-click: right-click the app → Open → confirm, once. SeeREADME-macos.txt.
What's Changed
- ci(winget): open a winget-pkgs pull request when a release is published by @hainguyents13 in #145
- feat(customize): a clearer Customize page and a safe way to put on themes by @hainguyents13 in #151
- feat(themes): saved themes gallery by @hainguyents13 in #152
- feat(themes): give theme files their own icon by @hainguyents13 in #153
- feat(themes): show a theme file's author and description on import by @hainguyents13 in #155
- fix(customize): give the logo border the new theme's color by @hainguyents13 in #154
- feat(customize): say what a theme is at the top of the Themes tab by @hainguyents13 in #156
- feat(soundpacks): draw a cover for packs without an icon by @hainguyents13 in #157
Full Changelog: v3.3.0...v3.4.0