Skip to content

Releases

v1.7.4

Choose a tag to compare

@github-actions github-actions released this 05 Nov 04:24
ad80db9

nosDshell v1.7.4

这版把壁纸解码拦在屏幕尺寸上。一张 9000×6000 的原图以前会被背景、概览、锁屏和启动器各自解一份,现在统一按屏幕解码:长期挂着的 shell 从 1.3 GiB 降到 755 MiB,换出内存直接归零。


性能

  • decode wallpapers at screen size:db254bf24

v1.7.3

Choose a tag to compare

@github-actions github-actions released this 03 Nov 05:21
f0a1bf6

nosDshell v1.7.3

这版专治内存莫名变高:壁纸纹理、通知闭包、JS 堆和 glibc 分配器四条增长路径一起收口,长期挂着的 shell 不再往 1 GB 爬,换出内存也不再只进不出。quickshell fork 一并推进——自带分配器约束、可编 Qt 6.6,构建矩阵 34 项全绿。


修复

  • disconnect replaced close handlers in updatePopup:c6089d28a
  • stop retaining every shown wallpaper texture:03c5cac47

观感

  • run qmlfmt over Background and NotificationService:217a5db30

性能

  • cap glibc arenas and pin malloc thresholds:6205782d1
  • collect the V4 JS heap on a slow cadence:4affd7f6a

CI

  • tag 之后的机械步骤交给 workflow:cdff4ca25

工程

  • advance quickshell-nosd pin to b0a8a7f:5313c0039
  • bump the jeans channel pin during release:ff64db80b

v1.7.2

Choose a tag to compare

@github-actions github-actions released this 01 Nov 01:32
2903a97

nosDshell v1.7.2

niri 的模糊这回盖满整块对话框底板,不再只糊中间一圈;启动器学会在应用注册时即时刷新列表,新装的应用不会再从全屏网格里凭空消失。设置页做了一轮版式收敛:列表头接缝统一为 1 px,蓝牙行改用与 Wi-Fi 相同的悬停操作,控件各归其列,芯片标签不再被空齿轮位吃字。截图全部在带模糊的 niri 桌面上重拍。


修复

  • refresh settings search index and drop orphaned translation keys:7f5e194df
  • publish a new provider map when apps register:8c1707c87
  • stop empty gear slots from eliding chip labels:3316e2e09
  • equal chip insets and hide disabled pages:237c204b9
  • stop layout fixes from sliding onto the next row:2e6feb2fa
  • put every control back on the column:58692609a
  • keep the control column inside the row:02195c672
  • use one list-head seam and one row action rule:b13e01db1
  • cover the full dialog plate under niri:34cdf8f74

文档

  • refresh fullscreen launcher screenshot:8351f84cd
  • refresh screenshots on niri with blur:f21da1dfa

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 06:21
74fa793

nosDshell v1.7.1

GTK 配色接上最后一根线:模板写下的调色板文件和 helper 要找的文件从此同名,设置里勾选 GTK 模板就会真正生效——GTK 应用跟着 shell 的配色方案走,不再被半年前留下的旧导入按在深色。


修复

  • make gtk-refresh look for nosd.css like the template writes:73f978f52

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 11:40
774159a

nosDshell v1.7.0

这一版把全部动效换成了一套有出处的设计语言:所有时长收进五档令牌、所有曲线取自一张
CDS 曲线表——弹出层从锚点长出、带一点回弹,按钮按下微缩、松手弹回,通知和 OSD 沿屏
幕边滑入滑出,行类元素的指针态依旧瞬变;切主题时全部颜色做一次交叉淡化,关掉动画或
进入性能模式时这一切同时归零。配套地,弹出层、菜单、对话框的阴影重画成轮廓外侧的双
层投影,深色弹出层上沿多了一道 1 px 高光,滚动区边缘的内容不再被色块盖住,而是沿曲
线溶进背景;键盘操作也终于有了焦点环。

顺手修掉一批"看不见的拦截者":会话菜单关掉后不再以一块透明全屏表面继续吃掉点击和按
键,滚动区边缘层不再在重建瞬间吞掉偶发的按下,通知超时退场也有了自己的动画而不是瞬
灭。验证侧新添了逐帧拍动效曲线的取证工具,和一套 Nix 测试环境,云端容器里也能跑完整
的校验。


新功能

  • debug findAll, and hit-tests that see through wheel layers:79a47960a
  • top-edge highlight on dark popups:28b7408d6
  • non-linear CDS edge fade as an alpha mask:c46f19be3
  • NFocusRing for keyboard focus; notification cards use it:b64bc6fcc
  • theme crossfade on motionTheme with the swift curve:5583af7d7
  • finish the migration; every loop honours reduced motion:6f299f7d2
  • control-centre page pushes on motionPage:87c3c597d
  • app strips, workspaces and bar pills on §1.7 tokens:3bc5075eb
  • NPressScale press squish on button-class controls:64d9c533c
  • data, reorder and focus colours on tokens; gate loops:b975d9d5a
  • scroll views on §1.7 curves; reduced motion covers them:3253aa324
  • switch, collapsible and page transitions on §1.7 curves:fc62a2412
  • full-screen surfaces on the §1.7 tokens:853fc8ecd
  • CDS enter/exit on the OSD tile:dddd54dae
  • bubble recipe for enter and exit; animate dismissal:2acd04b3f
  • CDS enter/exit for bubbles and the history list:b89f459fb
  • popover motion and room for the shadow:d06fe10c1
  • move panels, dimmer and bar slide onto the §1.7 tokens:072756b21
  • draw shadows outside the silhouette only, in two CDS layers:31b6af3be
  • grow popups out of their anchor on the CDS popover recipe:7b7a71caa
  • add NAnim/NColorAnim motion primitives:2129bf309

修复

  • let the anchor group through the missing-property check:8c40184d3
  • run the section editor's drop pulse from a binding:2410d6bfb
  • unmap the session menu once its close fade is over:15b2c2369
  • keep a resident virtual pointer so injected clicks are not lost:2e6690e7f
  • hand the bundled launcher icon over as a file URL:05b561c6e
  • size the section editor title from the editor, not its row:27bc89629
  • reserve the scrollbar column one turn after overflow changes:26c583fb7
  • declare the tab-ready Connections target as null:e960b97e5
  • give the module scroll an explicit content size:e10743751
  • draw the top highlight with rectangles, not Shape strokes:e5f87b4ca
  • draw the focus ring only for keyboard selection:51133a04e
  • send the pointer motion before every click, not only held ones:c3a960203
  • keep the edge-fade layer stable so clicks are not lost:513d8b6ba
  • deliver the press of a held click:8d71d27bc
  • let dismissOldest play the bubble exit:9dd791c73
  • give popup menu windows room for their shadow:f1c902ff8
  • keep fitted curves under the QEasingCurve 11-segment crash:ff72a76b3
  • repair debug-smoke assertions that drifted from the debug IPC:69a2f5d90
  • replace the // comment that broke flake evaluation:2aeb9c76b

观感

  • run qmlformat over DebugService:e2b017ed8
  • add CDS duration tiers, curve tokens and reduceMotion:c50f30a24

重构

  • converge tabular numerals on NText.numeric:e9a854140

性能

  • fade arrow-popup backgrounds by item opacity, not path colour:a64a6da65

文档

  • how to tell a lost press from a QML bug; known issue:4332151e8
  • record the arrow-panel scale exception and the spline cap:163605412
  • adopt the CDS motion language and surface finish:232877667

验证

  • read settings-tree's contentY directly, not from a tree dump:688682864
  • move item_centre next to the other scene helpers:d05a17198
  • make cc-switch find its switch by objectName and assert it:260cf95b0
  • run lockscreen last in the default scene set as well:742a3ebea
  • select the Papirus icon theme in isolated sessions:362905c30
  • say so when edge-fade has no scrollable page to test:988a1ca47
  • park edge-fade at the middle of the scroll range:b88bb5ee6
  • make cc-notif-groups run all four steps and assert them:18ec80ef4
  • add an edge-fade scene that asserts the fade widths:b9c5a03df
  • add cc-notif-focus for the keyboard focus ring:8bfa0ddea
  • let a burst skip the still-screen wait:cf0166dcb
  • add a motion-tooltip scene:8585a0ab3
  • assert the menu shadow margin is click-through; fix VINPUT clash:e80f38d62
  • fail runs on config load failures and crashes; add motion-pane...
Read more

v1.6.4

Choose a tag to compare

@github-actions github-actions released this 30 Oct 01:05
64866cd

nosDshell v1.6.4

这一版修掉一个困扰已久的"幽灵换肤":主题总是在计划时间之外自己翻动,一天里能来回
好几次。根因是亮暗调度有两个权威——shell 按你设的手动时刻走,portal 守护进程却另
按经纬度的日出日落各走一套,谁的断言后到谁"赢",每次覆盖都会连带刷新整套系统主题。
现在调度权全局只有一个所有者,两个方向的行为也都顺了:跟随系统时由守护进程执掌太
阳时边界,其余模式由 shell 说了算,手动切换不再被定时复查悄悄踩回去。


修复

  • harden client race, hook dedup, and polar solar mode:c3992ecc3
  • gate the daemon's solar timer behind single-owner policy:8a2078a75

验证

  • add dark-mode-flag scene and pin in-tree helpers on PATH:329b2e6d1

v1.6.3

Choose a tag to compare

@github-actions github-actions released this 27 Oct 07:44

nosDshell v1.6.3

控制中心与设置里的模块图标终于成了一家人:此前 DDE 原版剪影、仓库自绘仿品和
Tabler 描边字形三套并排,线宽粗细对不上;现在统一到 Papirus 的单色 symbolic 家族,
跟随你当前的图标主题解析,主题缺图时用打包副本兜底,未选中态靠不透明度分级而
不是另存一份素材。

另一处修的是半透明遮罩的磨砂:通知、OSD、桌面挂件这些浮在真实窗口之上的半透明层
此前被 niri 的模糊强制关闭规则误判在门外,看上去"透明但不糊";现在这些层会正式
发布模糊区域,磨砂按设计生效。

另外把三个 quickshell 系的开发 skill 一并入库,方便后续接着演进。


新功能

  • unify module icons on the Papirus symbolic family:72ccf749e
  • publish blur regions from remaining translucent surfaces:d4b624891
  • 从 hermes 平移 quickshell 系三个 skill 入库:2642d4a8c

修复

  • move blur-region publishers out of the force-off layer tier:790c4324c

v1.6.2

Choose a tag to compare

@github-actions github-actions released this 24 Oct 05:39
20bdf8b

nosDshell v1.6.2

这一版修掉一个在 Qt 6.12 下暴露的界面问题:设置面板、控制中心这类带背景的窗口一打开就整块发黑,界面几乎全透明,底栏也跟着失色——原因是新版本 Qt 引入了一个同名的颜色类型,把主题色单例挡在了后面,主题色全部取空。现在主题色重新由自己的令牌接管,面板恢复半透明磨砂,底栏配色与之前一致。

同时把一类"越攒越多"的常驻进程收干净:深浅色守护进程此前每启动一次就多排一份新的等待队列,现在全局只保留一份;剪贴板监听、事件流、网络与设备监控等子进程改为随主进程一同退出,崩溃后不再留在后台悄悄吃内存。

另外修正了输出分辨率变更后壁纸背景被清掉的问题,以及构建时会随 channel 漂移的问题。


新功能

  • add IPC/property-debug hooks for live shell introspection:4ff30d8ba

修复

  • use try_lock for portal daemon so duplicate spawns exit fast:ecc6db1db
  • rename Color singleton to Colors to escape Qt 6.12 QQuickColor shadowing:e2e8198c6
  • build nosdshell inside guix time-machine pinned to channel.lock:832a5eac6
  • compare screens by name so background survives output renegotiation:c61e1d7be
  • make managed child processes die with the shell (PR_SET_PDEATHSIG):cafe892df

工程

v1.6.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:54
b08c37b

nosDshell v1.6.1

这一版修掉一个会卡死整个会话的问题:按时间自动切换深浅色时,日出日落边界可能触发深色/浅色每秒两次的死斗——主题、GTK 设置和夜灯钩子被反复拉起,桌面直接冻住。根因(边界定时器提前触发后又被旧逻辑反向写回)已铲除,边界处现在只翻一次。顺带还带上了一批挂件生命期修复、设置页与启动器的性能优化,以及网络、VPN、图标解析的若干小修。


修复

  • stop schedule-boundary fight that flipped dark/light in a loop:ebfc52450

其他

  • commit numeric widget settings on finished editing only:5ee5599dd
  • fix four lifecycle and value bugs in shared widgets:0a608d19c
  • stop paying for the settings view before anyone opens it:7a969d6fb
  • stop rebuilding the launcher result set on every open:179ce7d3f
  • keep transient service-name resolution across dialog shows:c40485119
  • resolve fashion-dock workspace filter on every backend:5a7f2993a
  • count discovery owners in the service instead of each surface:65b20b047
  • poll VPN connections slowly when no profiles exist:a5f82eb2e
  • keep the nmcli monitor alive across NetworkManager restarts:20bd7a8b4
  • cache icon-name resolution and cap fuzzy fallback at one result:5978a07f2
  • floor popup alpha at 0.9 without blur and mute write-echo reloads:d72830ff7
  • force explicit reload when the translation path is unchanged:61138f714
  • guard settings load against corrupt JSON and unreadable files:062376f39

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 04:47
2e6ab7c

nosDshell v1.6.0

这一版把两块「看着像、用不了」的地方改成了真家伙:高效任务栏的排布从写死的布局变成可编辑模型,配套的分区式 widget 编辑器让你自己决定每个格子里放什么;时尚坞的应用条则换上一套统一的模型与动画,应用进出时沿边缘交错滑入。底下顺手扫掉了一批 ListModel 的老毛病——空值写入、委托角色类型、绑定里读行元素导致的报错与漏渲染,连带着工作区胶囊切换、任务栏溢出收缩、亮色主题强调色可读性一起修好,界面文案与 README 也全部重写了一遍。


新功能

  • staggered edge-slide lifecycle for app-strip add/remove:0028f73ca
  • unify app-strip model/animation and make fashion dock content configurable:1340797da
  • tighten UI copy and converge widget/plugin display names:e82c68ce4
  • sectioned widget editor for the efficient taskbar:c4a013d58
  • make the efficient taskbar layout a real editable model:89bb23529

修复

  • never write null values into workspace ListModel rows:5f999bc07
  • make workspace delegate roles var and coerce backend fields:17ab267c0
  • purge binding-side reads of live ListModel row elements:0076ef3c5
  • incubation-safe list models for the dock/taskbar strips:225550277
  • host dialogs on the blur surface and stop cross-model widget writes:6e1385f45
  • animate workspace pill on focus switch:38cedb5fe
  • size overflow shrink off the zone's real free span:d3b10c597
  • pack efficient left zone and honor colorizeIcons defaults:39bb6ed9a
  • split positive into dark/light values for light-shell legibility:863493992
  • converge efficient-mode indicator on the pill delegates:48c6f98df

文档

  • rewrite READMEs and repo docs for clarity and product pitch:2b946462e