Skip to content

Calamytryx/MineLauncher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

30 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŸฉ MineLauncher โ€” Minecraft-Style KDE Plasma App Launcher

MineLauncher (package ID: mc_inventory) is a KDE Plasma 6 plasmoid that transforms your desktop app launcher into a Minecraft Creative Inventoryโ€“inspired grid.
Browse your applications with category tabs, a favorites bar, and authentic Minecraft-style UI elements. ๐Ÿงฑ


MineLauncher Preview MineLauncher Preview New MineLauncher Preview Current


๐Ÿ”— Also Try

๐Ÿ’ก If you like this Launcher, you might also enjoy: MineClock on GitHub โ€” another Minecraft-style plasmoid with similar fun vibes!


๐Ÿงฉ Features

โœ… Grid-based launcher UI โ€” 9ร—5 scrollable app grid with Minecraft-style borders
โœ… Category tabs โ€” Top and bottom tabs (like Minecraft's Creative tabs)
โœ… Favorites bar โ€” Pin up to 9 visible favorite apps for quick access (additional favorites are stored but only the first 9 are shown in the bar)
โœ… Search functionality โ€” Real-time app filtering
โœ… User profile bar โ€” Display username with Minecraft avatar support
โœ… Power controls โ€” Lock, logout, reboot, and shutdown buttons
โœ… Custom scrollbar โ€” Minecraft-style scrollbar with row snapping
โœ… Color-coded categories โ€” Apps display category colors in tooltips
โœ… Configurable โ€” Custom launcher icon, size, avatar URL, and always expanded option
โœ… Built in pure QML + JS for Plasma 6


๐Ÿ“‚ Folder structure

mc_inventory
โ”œโ”€โ”€ contents
โ”‚ย ย  โ”œโ”€โ”€ config
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ config.qml
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ main.xml
โ”‚ย ย  โ”œโ”€โ”€ ui
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ CategoryTab.qml
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ CompactRepresentation.qml
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ configGeneral.qml
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ DashboardRepresentation.qml
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ InventorySlot.qml
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ main.qml
โ”‚ย ย  โ”‚   โ”œโ”€โ”€ StaticFavoriteGrid.qml
โ”‚ย ย  โ”‚   โ””โ”€โ”€ StaticGrid.qml
โ”‚   โ”œโ”€โ”€ minecraft-items
โ”‚   โ”‚   โ””โ”€โ”€ {images}
โ”‚   โ””โ”€โ”€ textures  
โ”‚      โ””โ”€โ”€ {images}
โ”œโ”€โ”€ grass_block.png
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ metadata.json
โ”œโ”€โ”€ preview2.png
โ”œโ”€โ”€ preview3.png
โ”œโ”€โ”€ preview.png
โ””โ”€โ”€ README.md

Component descriptions:

  • main.qml โ€” Root UI file; manages app grid, category switching, and main logic
  • InventorySlot.qml โ€” Represents a single app slot with icon, tooltip, and click handling
  • CategoryTab.qml โ€” Renders a category tab (top/bottom) with icon and selection state
  • StaticGrid.qml โ€” Draws Minecraft-style borders/background for the main app grid
  • StaticFavoriteGrid.qml โ€” Draws borders/background for the favorites bar
  • configGeneral.qml โ€” Implements the widget's configuration dialog UI
  • CompactRepresentation.qml โ€” Handles panel/compact widget mode
  • DashboardRepresentation.qml โ€” Handles dashboard/expanded widget mode
  • grass_block.png โ€” Default launcher icon (Minecraft grass block)
  • metadata.json โ€” Plasma package metadata and manifest
  • minecraft-items/ โ€” Minecraft assets
  • textures/ โ€” Minecraft assets

โš™๏ธ Installation

Local Install (Recommended for testing)

# Create the plasmoids folder if it doesn't exist
mkdir -p ~/.local/share/plasma/plasmoids/

# Copy this project there
cp -r mc_inventory ~/.local/share/plasma/plasmoids/

Then right-click desktop โ†’ Add Widgets โ†’ search for "MC Inventory".

If it doesn't appear:

kbuildsycoca6 --noincremental
killall plasmashell
kstart plasmashell

Package Install

# From the parent directory containing mc_inventory/
kpackagetool6 -t Plasma/Applet -i mc_inventory

# To update an existing installation
kpackagetool6 -t Plasma/Applet -u mc_inventory

๐ŸŽฎ Usage

Categories

  • Top tabs: All, Favorites, System, Utilities
  • Bottom tabs: Games, Graphics, Internet, Multimedia, Office, Development

Interactions

  • Left-click โ€” Launch application
  • Right-click โ€” Add/remove from favorites
  • Mouse wheel โ€” Scroll through apps (snaps to rows)
  • Search field โ€” Filter apps by name

Favorites Bar

  • Right-click any app to add it to favorites
  • Favorites are stored without an enforced limit; however, the in-widget favorites bar shows up to 9 pinned apps (extra favorites remain saved but are not displayed in the 9-slot bar)
  • Favorites appear at the bottom of the inventory (first 9 entries)
  • Right-click favorites to remove them

Power Controls

Located in the user bar below the main grid:

  • ๐Ÿ”’ Lock โ€” Lock screen session
  • ๐Ÿšช Logout โ€” End current session
  • ๐Ÿ”„ Reboot โ€” Restart system
  • โšก Shutdown โ€” Power off system

โš™๏ธ Configuration

Right-click the widget โ†’ Configure MC Inventory...

General Settings

Launcher Icon:

  • Choose any system icon for the panel/desktop
  • Default: start-here-kde

Icon Size:

  • Range: 16-256 pixels
  • Default: 48px

Custom Avatar URL:

  • Leave empty to use mc-heads.net/avatar/{username}
  • Or provide a custom URL to any image
  • Example: https://mc-heads.net/avatar/Steve/100.png

Always Expanded:

  • Keep the launcher always visible (useful for desktop widgets)

  • Default: Off (click to expand)

      Label {
          text: "Note: Favorites bar displays up to 9 items; additional favorites are stored but only the first 9 are shown in the bar"
          font.pointSize: Kirigami.Theme.smallFont.pointSize
          opacity: 0.7
          Layout.fillWidth: true
          wrapMode: Text.Wrap
      }
    

๐Ÿ’ป Manual Uninstall

# Remove the plasmoid directory
rm -rf ~/.local/share/plasma/plasmoids/mc_inventory/

# Or use kpackagetool6
kpackagetool6 -t Plasma/Applet -r mc_inventory

Then restart Plasma:

killall plasmashell
kstart plasmashell

๐Ÿง  Development Notes

Current Status

The plasmoid is now functionally complete with all major features implemented:

  • โœ… Full category system
  • โœ… Search functionality
  • โœ… Favorites management (favorites are saved without an enforced limit; the favorites bar displays up to 9 visible slots)
  • โœ… Custom scrollbar with row snapping
  • โœ… User profile display with avatar
  • โœ… Power controls
  • โœ… Configuration dialog
  • โœ… Color-coded tooltips

Known Limitations

  • Favorites are stored with no hard cap, but only the first 9 favorites are visible in the in-widget favorites bar (this matches the 9-slot/hotbar visual design)
  • Some KDE themes may affect border appearance
  • Avatar images require internet connection (mc-heads.net)
  • Avatar images may be overridden by a custom URL in the config

Tips for contributors

  • Always keep "Id": "mc_inventory" in metadata.json matching the folder name
  • Name ("MC Inventory") is just the visible label
  • Check logs with journalctl --user -f | grep plasmashell
  • Test in a sandbox session (Xephyr) for major changes
  • Use Qt 6 / Plasma 6 APIs only

Development Tools

# Watch logs
journalctl --user -f | grep plasmashell

# Restart Plasma after changes
killall plasmashell && kstart plasmashell

# Test in Xephyr
Xephyr :1 -screen 1920x1080 &
DISPLAY=:1 plasmashell --replace

๐Ÿค Contributing

Got QML experience? Plasma dev skills?
Contributions are welcome!

Areas for improvement:

  • Additional category icons/themes
  • Animation polish
  • Performance optimization
  • Accessibility features
  • Theme customization options

How to contribute:

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request ๐Ÿš€

๐Ÿงฑ Future Plans

  • Animation effects (fade in/out, slide transitions)
  • Custom category creation
  • Theme variants (dark mode, different Minecraft versions)
  • Drag-and-drop app organization
  • Recent apps category
  • Keyboard navigation support
  • Multi-monitor improvements

๐Ÿ“œ License

GNU General Public License v3.0 or later

Copyright (C) 2025 CAL (calamytryx)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

See LICENSE for full text.


๐Ÿ™ Credits

  • Inspired by Minecraft's Creative Inventory UI
  • Built for KDE Plasma 6
  • Avatar service: mc-heads.net
  • Icons: KDE Breeze icon theme

๐Ÿ’ฌ Fun Fact

"MineLauncher" is named after the Minecraft Creative Inventory โ€” but here, you're not placing blocksโ€ฆ you're launching apps like items! ๐Ÿ˜†


๐Ÿ“ธ Screenshots

The launcher features:

  • 9ร—5 scrollable grid with Minecraft-style borders
  • Category tabs at top and bottom
  • Search bar with real-time filtering
  • Favorites bar with up to 10 pinned apps
  • User profile with Minecraft avatar
  • Power controls for system management
  • Custom scrollbar matching Minecraft's UI style

Check preview.png and preview2.png for visual examples!

About

Minecraft-style app launcher for KDE Plasma 6 โ€” turn your desktop into a Creative Inventory grid with category tabs, favorites, and authentic MC-inspired UI. ๐Ÿงฑโœจ Contributions welcome!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages