Feature request: Hyprbars-style window controls, Bluetooth startup option, and clipboard service toggle
Description
I’d like to request a few related quality-of-life features for DankMaterialShell:
- Mac / Hyprbars-style window controls and window bar integration with the dock
- A way to control Bluetooth state on startup (e.g. always off / remember last state)
- An option to completely disable the clipboard history service
I’m using DMS on Hyprland and really enjoying the experience, and these additions would make it feel even more polished and customizable.
Motivation / Use Cases
1. Window bar + “Hyprbars-style” controls
On Hyprland, it’s common to use things like hyprbars or macOS-inspired titlebars that give each window:
- a clean bar with close / minimize / maximize buttons,
- a visible drag handle to move the window,
- and the ability to minimize or “send” the window to the dock.
Right now, DMS provides a great top bar and dock, but there is no integrated, shell-managed window bar with controls in that style. Having a DMS-native solution would:
- Make window management feel more cohesive and “desktop-like”
- Remove the need for external bar plugins
- Fit better with the Material-style aesthetics of DMS
2. Bluetooth startup behavior
Currently, Bluetooth tends to turn itself on again after reboot/login, even if I want it to remain off.
Even when I try to turn it off after initialization, it still ends up enabled on each reboot.
For privacy, battery, and general cleanliness, I’d like more control over this behavior so that DMS can either:
- Always keep Bluetooth off after startup, or
- Remember the last state (if it was off when I logged out / shut down, keep it off next time).
3. Disable clipboard history / cut & paste service
The clipboard service in DMS is very useful, but sometimes I don’t want any clipboard history to be stored.
Right now, it feels like the clipboard service is always running and always saving copied text. For privacy/security reasons (passwords, sensitive info, etc.), it would be great to have:
- A simple toggle in DMS settings to completely disable the clipboard history / cut & paste service, or
- At least a mode where:
- no history is stored,
- only the current clipboard contents are kept (like a “classic” clipboard),
- and no background logging of copied texts happens.
Proposed Features
1. Window bar + dock integration
- Add an optional, DMS-managed window bar for tiled/floating windows with:
- close / minimize / maximize buttons,
- optional rounded corners / macOS-style look,
- drag support.
- Integrate with the DMS dock so that:
- minimizing a window can “send” it to the dock,
- the dock can show a minimized window indicator or preview.
This could be a toggleable feature in Settings (for users who prefer a more “bare” tiling setup).
2. Bluetooth startup options
In DMS settings (probably under Networking / Bluetooth or Energy & Security), add a setting like:
- Bluetooth on startup:
Always onAlways offRemember last state
Internally, DMS would make sure Bluetooth doesn’t automatically turn itself back on if the user chose Always off or had it off in the previous session.
3. Clipboard service toggle
In the clipboard / system settings, add an option like:
Enable clipboard history(on/off)
When turned off:
- The clipboard history UI is disabled,
- The background clipboard service does not log or save any copied text,
- Copy/paste works only with the current clipboard content (no history).
Additional Notes
These could all be independent features, but they share a common theme: giving users more control over window behavior, device state, and privacy (clipboard).
If any of these would be better split into separate feature requests, I’m happy to open individual issues for each, but I wanted to first share the overall idea and see what aligns with the project’s direction.
1. Window bar + “Hyprbars-style” controls
On Hyprland, it’s common to use things like
hyprbarsor macOS-inspired titlebars that give each window:
- a clean bar with close / minimize / maximize buttons,
- a visible drag handle to move the window,
- and the ability to minimize or “send” the window to the dock.
Right now, DMS provides a great top bar and dock, but there is no integrated, shell-managed window bar with controls in that style. Having a DMS-native solution would:
- Make window management feel more cohesive and “desktop-like”
- Remove the need for external bar plugins
- Fit better with the Material-style aesthetics of DMS
We can't do a DMS-native solution, because it's a window manager thing - like Hyprbars, it'd have to be a plugin or extension of Hyprland itself.
What we could do, probably, is enhance the dock so it integrates better with Hyprbars.
2. Bluetooth startup options
In DMS settings (probably under Networking / Bluetooth or Energy & Security), add a setting like:
Bluetooth on startup:
Always onAlways offRemember last stateInternally, DMS would make sure Bluetooth doesn’t automatically turn itself back on if the user chose
Always offor had it off in the previous session.
This is do-able, but I don't think I want to do always on/off options, it creates complications if you are listening to music and them dms crashes or restarts from an update - then your BT gets turned off unexpectedly. - maybe just "nothing" and "remember last state" though.
3. Clipboard service toggle
In the clipboard / system settings, add an option like:
Enable clipboard history(on/off)When turned off:
- The clipboard history UI is disabled,
- The background clipboard service does not log or save any copied text,
- Copy/paste works only with the current clipboard content (no history).
Additional Notes
These could all be independent features, but they share a common theme: giving users more control over window behavior, device state, and privacy (clipboard).
DMS does not, currently, manage the clipboard - it just relies on cliphist, which if you don't want you can remove from your hypr/mango/niri config.
I did start implementing the clipboard protocols into DMS, if we do that and flip to that, then it would be configurable (but atm it just depends on a separate service)