flexdesk 0.17.16 → 0.17.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/css/base.css +12 -1
- package/css/flexdesk.css +12 -1
- package/css/tokens.css +3 -0
- package/dist/flexdesk.css +12 -1
- package/dist/tokens.css +3 -0
- package/dist/widgets.js +4113 -4088
- package/dist/widgets.js.map +4 -4
- package/dist/wm.js +114 -30
- package/dist/wm.js.map +2 -2
- package/docs/components/notifications.md +23 -1
- package/docs/components/panels-and-desktops.md +22 -0
- package/docs/components/shell.md +54 -0
- package/package.json +1 -1
- package/src/tiling/kind_taxonomy.js +21 -13
- package/src/tiling/shell.js +4 -1
- package/src/tiling/wm.js +123 -28
- package/src/ui/components/notification_history.js +11 -1
- package/src/ui/notification_center.js +47 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.17 (2026-10-27)
|
|
4
|
+
|
|
5
|
+
A patch release. One additive taxonomy option and notification copying; one
|
|
6
|
+
entry changes what embedders see (listed under "Changed behaviour").
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- [A kind that exists once per desktop: `single: 'desktop'`](docs/components/shell.md#a-kind-that-exists-once-per-desktop-single-desktop-01717): at most one instance per virtual desktop. The top nav, `navigate`, `openInPrimary` and the other open paths reveal the active desktop's instance or open one there, and never switch desktop; navigating inside a window looks on the window's own desktop; the move verbs refuse to carry the kind onto a desktop that holds it (`wm.desktopMoveRefusal`, greyed menu rows); a restored layout and page restores dedupe per desktop. `single: true` is unchanged. New: `taxonomy.isSinglePerDesktop(kind)` (STORY-0130).
|
|
11
|
+
- [Copy message](docs/components/notifications.md#copy-message): right-clicking a toast or a `NotificationHistory` entry opens the context menu with **Copy message** (title, message and description as plain text); notification text is selectable, and a click on a toast's text selects it instead of closing the toast (STORY-0131).
|
|
12
|
+
|
|
13
|
+
### Changed behaviour
|
|
14
|
+
|
|
15
|
+
- Every `showContextMenu` menu draws on the new `--z-context-menu` layer (10100, tokens.css), over toasts and managed windows; it was `z-index: 5000` (STORY-0131).
|
|
16
|
+
- A click on a toast's text (title, message, description, status) no longer closes it; a click on the card outside its text, or ×, does (STORY-0131).
|
|
17
|
+
|
|
18
|
+
### Removed or renamed exports
|
|
19
|
+
|
|
20
|
+
None. New: `isSinglePerDesktop` on the taxonomy, `wm.desktopMoveRefusal`, `notificationText` (notification_center.js), the `--z-context-menu` custom property.
|
|
21
|
+
|
|
3
22
|
## 0.17.16 (2026-10-27)
|
|
4
23
|
|
|
5
24
|
A patch release. Two new widgets and options; the other entries change what
|
package/css/base.css
CHANGED
|
@@ -521,6 +521,17 @@
|
|
|
521
521
|
color: #bcbcbc;
|
|
522
522
|
line-height: 1.4;
|
|
523
523
|
}
|
|
524
|
+
/* The text of a toast and of a history entry can be selected and copied (STORY-0131);
|
|
525
|
+
* the body's `user-select: none` (reset.css) would otherwise hold it. */
|
|
526
|
+
.twm-notification__title,
|
|
527
|
+
.twm-notification__body,
|
|
528
|
+
.twm-notification__description,
|
|
529
|
+
.twm-notification__status,
|
|
530
|
+
.twm-notification-history__item-title,
|
|
531
|
+
.twm-notification-history__item-body {
|
|
532
|
+
user-select: text;
|
|
533
|
+
cursor: text;
|
|
534
|
+
}
|
|
524
535
|
.twm-notification-history__empty {
|
|
525
536
|
text-align: center;
|
|
526
537
|
color: #6c6c6c;
|
|
@@ -1849,7 +1860,7 @@ body.twm-dt-col-resizing {
|
|
|
1849
1860
|
border: 1px solid var(--surface-3);
|
|
1850
1861
|
border-radius: var(--radius-md);
|
|
1851
1862
|
box-shadow: 0 6px 24px rgba(0,0,0,0.45);
|
|
1852
|
-
z-index:
|
|
1863
|
+
z-index: var(--z-context-menu);
|
|
1853
1864
|
display: none;
|
|
1854
1865
|
pointer-events: auto;
|
|
1855
1866
|
min-width: 180px;
|
package/css/flexdesk.css
CHANGED
|
@@ -551,6 +551,17 @@
|
|
|
551
551
|
color: #bcbcbc;
|
|
552
552
|
line-height: 1.4;
|
|
553
553
|
}
|
|
554
|
+
/* The text of a toast and of a history entry can be selected and copied (STORY-0131);
|
|
555
|
+
* the body's `user-select: none` (reset.css) would otherwise hold it. */
|
|
556
|
+
.twm-notification__title,
|
|
557
|
+
.twm-notification__body,
|
|
558
|
+
.twm-notification__description,
|
|
559
|
+
.twm-notification__status,
|
|
560
|
+
.twm-notification-history__item-title,
|
|
561
|
+
.twm-notification-history__item-body {
|
|
562
|
+
user-select: text;
|
|
563
|
+
cursor: text;
|
|
564
|
+
}
|
|
554
565
|
.twm-notification-history__empty {
|
|
555
566
|
text-align: center;
|
|
556
567
|
color: #6c6c6c;
|
|
@@ -2314,7 +2325,7 @@ body.twm-dt-col-resizing {
|
|
|
2314
2325
|
border: 1px solid var(--surface-3);
|
|
2315
2326
|
border-radius: var(--radius-md);
|
|
2316
2327
|
box-shadow: 0 6px 24px rgba(0,0,0,0.45);
|
|
2317
|
-
z-index:
|
|
2328
|
+
z-index: var(--z-context-menu);
|
|
2318
2329
|
display: none;
|
|
2319
2330
|
pointer-events: auto;
|
|
2320
2331
|
min-width: 180px;
|
package/css/tokens.css
CHANGED
|
@@ -137,6 +137,9 @@
|
|
|
137
137
|
--z-popover: 200;
|
|
138
138
|
--z-modal: 1000;
|
|
139
139
|
--z-toast: 10000;
|
|
140
|
+
/* A context menu is what the pointer just asked for: over everything,
|
|
141
|
+
toasts and managed windows included (a right-click on a toast). */
|
|
142
|
+
--z-context-menu: 10100;
|
|
140
143
|
/* What opens FROM a managed window and must draw over it: managed windows
|
|
141
144
|
stack from 6000 to 6999 (managed_window.js), so a popover at
|
|
142
145
|
--z-popover would open behind the window that opened it. */
|
package/dist/flexdesk.css
CHANGED
|
@@ -551,6 +551,17 @@
|
|
|
551
551
|
color: #bcbcbc;
|
|
552
552
|
line-height: 1.4;
|
|
553
553
|
}
|
|
554
|
+
/* The text of a toast and of a history entry can be selected and copied (STORY-0131);
|
|
555
|
+
* the body's `user-select: none` (reset.css) would otherwise hold it. */
|
|
556
|
+
.twm-notification__title,
|
|
557
|
+
.twm-notification__body,
|
|
558
|
+
.twm-notification__description,
|
|
559
|
+
.twm-notification__status,
|
|
560
|
+
.twm-notification-history__item-title,
|
|
561
|
+
.twm-notification-history__item-body {
|
|
562
|
+
user-select: text;
|
|
563
|
+
cursor: text;
|
|
564
|
+
}
|
|
554
565
|
.twm-notification-history__empty {
|
|
555
566
|
text-align: center;
|
|
556
567
|
color: #6c6c6c;
|
|
@@ -2314,7 +2325,7 @@ body.twm-dt-col-resizing {
|
|
|
2314
2325
|
border: 1px solid var(--surface-3);
|
|
2315
2326
|
border-radius: var(--radius-md);
|
|
2316
2327
|
box-shadow: 0 6px 24px rgba(0,0,0,0.45);
|
|
2317
|
-
z-index:
|
|
2328
|
+
z-index: var(--z-context-menu);
|
|
2318
2329
|
display: none;
|
|
2319
2330
|
pointer-events: auto;
|
|
2320
2331
|
min-width: 180px;
|
package/dist/tokens.css
CHANGED
|
@@ -137,6 +137,9 @@
|
|
|
137
137
|
--z-popover: 200;
|
|
138
138
|
--z-modal: 1000;
|
|
139
139
|
--z-toast: 10000;
|
|
140
|
+
/* A context menu is what the pointer just asked for: over everything,
|
|
141
|
+
toasts and managed windows included (a right-click on a toast). */
|
|
142
|
+
--z-context-menu: 10100;
|
|
140
143
|
/* What opens FROM a managed window and must draw over it: managed windows
|
|
141
144
|
stack from 6000 to 6999 (managed_window.js), so a popover at
|
|
142
145
|
--z-popover would open behind the window that opened it. */
|