A reimplementation of my original WPLauncher project using OpenGL ES. The goal remains the same: a WP7/8 style launcher, now with no external UI frameworks.
- WP7/8 style live tiles
- App list
- Pin apps to the screen
- Installed apps and custom "widgets"
- Resizable tiles
- 4/6 column mode
- Java
- OpenGL ES3.2
- API Level 34
This is a living roadmap, all future milestones are refined as I go, and subject to change.
M1 is all about laying the groundwork. Don't expect anything fancy here. At this phase the application is barely usable.
- 4 columns
- Show something on the tiles
- Show app icon on tiles
- Listview for the installed apps
- Icon on list elements
- Swipe between start page and application list page
- Handle tap event on tiles
- Long press on tiles
- Long press on list items
- Context menu
- Pin installed apps to the screen
- Unpin installed apps from the main screen
- Launch app from the app list
- Launch pinned apps
- Uninstall app
- Data structure to store tiles on the main screen
- Rearrange tiles on the grid
- Persist tile arrangement
Consolidation
- Extract draw contexts
- App-list state machine (also fixed fling to keep momentum)
- Tile-grid state machine
- Fix de-select bug when rearranging tiles
M2 is the beginning of making the launcher usable in everyday use-cases.
- Start working on "launcher apps/widgets/live tiles"
- Clock
- Launcher settings
- Show notification count on tiles
- Show notification content on corresponding tiles
- Change accent color
- Settings service
- Persist settings
- Resize tiles
- Generic list view
- Stack view
- Basic flex layout
- Support row and column layout modes
- Support alignment
- Flex layout as a child of flex layout
- Absolute layout
- Use Absolute layout for static tiles
- Use an Icon UI element instead of basic textures for icons to be able to use them in layouts
- Basic UI elements
- Button
- Checkbox
I'm already daily-driving, you shouldn't be.
- Checkbox border
- Fix: pin the same tile multiple times
- Don't show uninstall in the context menu for internal and system apps
- Fix: tile overlap after resize
- Remove uninstalled app from the applist/tilegrid
- Fix: Updated app is removed from the grid and app-list instead of updating
- Adjust notification count on tiles - don't allow overlap with the icon
- Fix: Scrolling while swiping on the main screen (scrolling on tile-grid keeps working, WHILE in SWIPING state) -- keeping an eye out, this was a sneaky one
- Fix: Some notifications are counted multiple times
- Use AbsoluteLayout in the ClockHUB tile
- Press "Home" button to jump back to the top of the tile-grid
Try to make it usable for the less crazy people
- GLES 3.2
- Make ContextMenu and MenuOption to use layouts and labels
- Make ListItem use high level UI components
- Fix: janky scroll on the TileGrid + remain in ScrollState while flinging
- More tiles & specific tiles for common apps
- Tasks
- Photos
- Weather
- Messenger
- Messages
- Contacts
- Feedback to the user when clicked (Rotation/animations/etc)
- Animation after swipe
- Generic carousel view
- Gesture system refactor
- Reconsider tile reflow logic (tile occupancy bool map, for every tile top to bottom -> remove -> find the highest available pos where it fits -> place?)
- Optimizations
- Bug fixes
- Multi lang support
- Light mode/Dark mode support
- Dropdown
- Radiobutton
- Disable landscape mode
- Re-ask for permissions from the launcher settings
- Search bar in the app-list
- Scissor test on tiles to prevent drawing out of the tile
Try it at your own risk
- Maybe a closed beta (?)
- TBD
- Landscape mode support
- Background image with transparent tiles
- 6 column mode setting
- WP7/7.8 start screen setting
- Custom tile color
- Fix: black bar in the place of the notification count when all previous notifications were dismissed (on real hardware, needs repro)
- Fix: sometimes tiles don't spin when there is a notification (detected on real hardware, needs repro)
- Fix: Tile bg after resize is dark (needs repro)
M3 is in progress
Widgets with live data
- Me (Timeline / notifications / tasks / slideshows / weather info / travel info / clock / twitter / fb / etc.)
- Photos slideshow
- Messages
- Weather
- Clock / Time
- News feed
- Tasks
- Calendar
- Hungarian name days
Information gathering via public API-s. When public API-s are not available extract information from system notifications if its possible

