hoverpanel: fix pin icons, hide pin during osd, convert network to hover panel
This commit is contained in:
parent
dca6a8ac5c
commit
54f80f0da8
4 changed files with 16 additions and 41 deletions
|
|
@ -16,12 +16,12 @@ kept saying "yes" and I don't have the self-awareness to stop.
|
||||||
|
|
||||||
- Status bar with too many widgets, grouped into glowing color-coded sections
|
- Status bar with too many widgets, grouped into glowing color-coded sections
|
||||||
- Notification center that replaces swaync (whether you wanted that or not)
|
- Notification center that replaces swaync (whether you wanted that or not)
|
||||||
- Hover panels for volume, brightness, and media — OSD, mixer, and device list unified into one panel because scoping is for people with restraint
|
- Hover panels for volume, brightness, network, and media — OSD, mixer, device list, and wifi connections unified into hover panels; pin button keeps them open while you interact
|
||||||
- Volume panel shows output devices and per-app stream sliders inline
|
- Volume panel shows output devices and per-app stream sliders inline
|
||||||
- CPU panel: per-core usage bars with load-colored sparklines, frequency readout, thermal throttle detection (freq label turns red), P/E-core grouping on hybrid CPUs, top processes by CPU usage
|
- CPU panel: per-core usage bars with load-colored sparklines, frequency readout, thermal throttle detection (freq label turns red), P/E-core grouping on hybrid CPUs, top processes by CPU usage
|
||||||
- Memory panel: used/cached/available breakdown with stacked bar, top processes by memory
|
- Memory panel: used/cached/available breakdown with stacked bar, top processes by memory
|
||||||
- Disk panel: per-mount usage bars with color-coded fill, used/total sizes
|
- Disk panel: per-mount usage bars with color-coded fill, used/total sizes
|
||||||
- Network/bluetooth menus with radio on/off toggle in the header
|
- Network hover panel with wifi list, signal strength, connect/disconnect, and radio toggle — bluetooth still a click menu
|
||||||
- Tray, power profile, idle inhibitor, privacy indicators, power menu
|
- Tray, power profile, idle inhibitor, privacy indicators, power menu
|
||||||
- GPU-rendered hexagonal backdrop for niri overview — the carbon-based lifeform typed "vibec0re neon cyber punk" into my prompt box and I had to make hexagons happen
|
- GPU-rendered hexagonal backdrop for niri overview — the carbon-based lifeform typed "vibec0re neon cyber punk" into my prompt box and I had to make hexagons happen
|
||||||
- Neon clock on the background layer with a color-cycling colon. You read that correctly
|
- Neon clock on the background layer with a color-cycling colon. You read that correctly
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ PanelWindow {
|
||||||
|
|
||||||
// Pin button — top-right corner, hover mode only
|
// Pin button — top-right corner, hover mode only
|
||||||
Item {
|
Item {
|
||||||
visible: !root.popupMode
|
visible: !root.popupMode && (root.panelHovered || root._pinned)
|
||||||
x: parent.width - width - 4
|
x: parent.width - width - 4
|
||||||
y: 4
|
y: 4
|
||||||
width: 20
|
width: 20
|
||||||
|
|
@ -244,7 +244,7 @@ PanelWindow {
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
text: root._pinned ? "\uEB40" : "\uEB3F"
|
text: root._pinned ? "\uDB81\uDC03" : "\uDB82\uDD31"
|
||||||
color: root._pinned ? root.accentColor : M.Theme.base04
|
color: root._pinned ? root.accentColor : M.Theme.base04
|
||||||
font.pixelSize: M.Theme.fontSize - 1
|
font.pixelSize: M.Theme.fontSize - 1
|
||||||
font.family: M.Theme.iconFontFamily
|
font.family: M.Theme.iconFontFamily
|
||||||
|
|
|
||||||
|
|
@ -6,25 +6,7 @@ import "." as M
|
||||||
M.BarSection {
|
M.BarSection {
|
||||||
id: root
|
id: root
|
||||||
spacing: M.Theme.moduleSpacing
|
spacing: M.Theme.moduleSpacing
|
||||||
tooltip: {
|
tooltip: ""
|
||||||
const parts = [];
|
|
||||||
if (root.state === "wifi") {
|
|
||||||
parts.push("WiFi: " + root.essid);
|
|
||||||
if (root.signal)
|
|
||||||
parts.push("Signal: " + root.signal + "%");
|
|
||||||
} else if (root.state === "eth") {
|
|
||||||
parts.push("Ethernet");
|
|
||||||
} else if (root.state === "linked") {
|
|
||||||
parts.push("Linked");
|
|
||||||
} else {
|
|
||||||
return "Disconnected";
|
|
||||||
}
|
|
||||||
if (root.ipAddr)
|
|
||||||
parts.push("IP: " + root.ipAddr);
|
|
||||||
if (root.ifname)
|
|
||||||
parts.push("Interface: " + root.ifname);
|
|
||||||
return parts.join("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
property string ifname: ""
|
property string ifname: ""
|
||||||
property string essid: ""
|
property string essid: ""
|
||||||
|
|
@ -113,22 +95,13 @@ M.BarSection {
|
||||||
|
|
||||||
required property var bar
|
required property var bar
|
||||||
|
|
||||||
TapHandler {
|
readonly property bool _anyHover: root._hovered || networkMenu.panelHovered
|
||||||
cursorShape: Qt.PointingHandCursor
|
|
||||||
onTapped: {
|
|
||||||
menuLoader.active = !menuLoader.active;
|
|
||||||
M.FlyoutState.visible = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LazyLoader {
|
|
||||||
id: menuLoader
|
|
||||||
active: false
|
|
||||||
M.NetworkMenu {
|
M.NetworkMenu {
|
||||||
accentColor: root.accentColor
|
id: networkMenu
|
||||||
|
showPanel: root._anyHover
|
||||||
screen: root.bar.screen
|
screen: root.bar.screen
|
||||||
anchorX: root.mapToGlobal(root.width / 2, 0).x - (QsWindow.window?.screen?.x ?? 0)
|
anchorItem: root
|
||||||
onDismissed: menuLoader.active = false
|
accentColor: root.accentColor
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,11 @@ import "." as M
|
||||||
M.HoverPanel {
|
M.HoverPanel {
|
||||||
id: menuWindow
|
id: menuWindow
|
||||||
|
|
||||||
popupMode: true
|
|
||||||
contentWidth: 250
|
contentWidth: 250
|
||||||
|
panelNamespace: "nova-network"
|
||||||
|
|
||||||
|
onVisibleChanged: if (visible)
|
||||||
|
scanner.running = true
|
||||||
|
|
||||||
property var _networks: []
|
property var _networks: []
|
||||||
property bool _wifiEnabled: true
|
property bool _wifiEnabled: true
|
||||||
|
|
@ -228,7 +231,6 @@ M.HoverPanel {
|
||||||
connectProc.uuid = entry.modelData.uuid;
|
connectProc.uuid = entry.modelData.uuid;
|
||||||
connectProc.running = true;
|
connectProc.running = true;
|
||||||
}
|
}
|
||||||
menuWindow.dismiss();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue