draggable_floating_window 0.0.1
draggable_floating_window: ^0.0.1 copied to clipboard
Draggable, resizable floating windows inside your Flutter app. Desktop-style window layer with minimize, maximize, priority stacking, dialog stacks and keyboard focus.
0.0.1 #
Initial release, extracted from the windowing layer of a production Flutter desktop app and rebuilt as a standalone package with no dependencies beyond Flutter.
Added #
WindowStackandWindowStackController: floating windows inside one Flutter view, opened withcontroller.open(...). Windows drag by the title bar, resize from every edge and corner, minimize to a dock, maximize on a button or a title bar double-click, and close with an optional asynconCloseRequest.- Priority stacking: windows with a higher
priorityalways stay above lower ones, even while a lower one is active. Clicking a window raises it within its priority.WindowEntry.prioritycan change at runtime. - Dialog stacks:
WindowEntry.showDialogblocks one window,WindowStackController.showDialogblocks every window, andshowWindowDialogpicks the enclosing one. Dialogs stack, close withNavigator.pop(context, result), and dismiss with Escape or the barrier. - Focus management: every window has its own focus scope. Activating a window returns focus to where it was; closing or minimizing the active window activates the most recently used one.
- Keyboard shortcuts: Ctrl+Tab, Ctrl+Shift+Tab and Ctrl+F4, rebindable through
WindowStack.shortcutsand five window intents. - Single-instance windows through
id, cascade or center placement, and windows that fit a shrinking stack and spring back when it grows. - Customization:
WindowStackThemeData(also aThemeExtension), macOS-style traffic lights or Windows-style buttons, custom title bars fromWindowDragAreaandWindowControls, a custom dock bar, translatable labels and right-to-left layouts.
