feat(launcher): add Start-menu popup (MS4 minimal slice)#9
Merged
Conversation
Add a Start-menu style app launcher popup, opened from a new leading StartButton on the CenteredTaskbar (emits the existing launcherRequested() signal). The popup shows a centered grid of LauncherTile entries built from the shared AppEntry list; clicking a tile routes through the same launch path as a taskbar tile click (shared launch_app callable -> AppLaunchService::launch + PID capture), so the taskbar running indicator lights for launcher-launched apps too. - app_entry.h lifted to components/ root (shared by taskbar + launcher) - CenteredTaskbar: dedicated icon sub-layout (fixes setApps clearing the whole layout); StartButton wired to launcherRequested() - LauncherTile: TaskbarIcon visual language + caption, no running dot - AppLauncher: Qt::Popup frameless rounded SURFACE surface, QGridLayout, ESC / outside-click dismiss - CFDesktopEntity: refactor launch lambda into shared launch_app; wire appLaunched + launcherRequested - test/desktop/launcher: 4 gtest cases (tile count, hidden, ESC, click->signal)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First slice of MS4 (Start-menu launcher), landed via the new trunk-based flow.
What
launcherRequested()signal.Qt::Popupwith a rounded Material SURFACE surface + a centeredQGridLayoutofLauncherTileentries built from the sharedAppEntrylist. ESC and outside-click dismiss it.launch_app(app_id)callable →AppLaunchService::launch+ PID capture, so the taskbar running indicator lights for launcher-launched apps too.Why
The minimal desktop closed-loop already works (taskbar click → launch → window tracking → running indicator), but there was no launcher UI. This adds the missing user-visible Start-menu surface, reusing the existing launch+PID path rather than parallel wiring.
Scope (v1)
In: StartButton, LauncherTile, AppLauncher, CFDesktopEntity wiring, lift
app_entry.htocomponents/, gtest suite (4 cases).Out (follow-ups): search box, scrollable overflow, MD enter/exit animation, MdElevationController shadow, icon-path pixmaps, Windows-specific
defaultApps().Notes
app_entry.htodesktop/ui/components/(shared by taskbar + launcher); zero call-site edits (both targets already include the components root).CenteredTaskbar::setAppsnow clears only a dedicated icon sub-layout — previously it cleared the whole layout, which would have deleted the new start button (a latent bug now fixed).Verified locally
linux_configure.sh+ fullcmake --build: greenapp_launcher_test: 4/4 pass (tile count, hidden, ESC, click→appLaunched) headlessscripts/doxygen/lint.py: All Doxygen checks passed