Review of "Dynamic Panel" version 1.4 (2)

Details Page Preview

Dynamic Top Panel Inspired by KDE Plasma 6's floating panel design, this extension presents a translucent floating bar effect when there are no windows nearby, and switches to a solid panel style when windows approach. It supports both dark and light modes in GNOME. Floating Mode In floating mode, when there are no windows near the top bar, it will appear as a translucent floating bar. Currently, there is no built-in blur effect in floating mode (we are working on it). If you want a blur effect, it is recommended to use Blur my shell's static pipeline for the panel. Blur my shell's dynamic mode will not have rounded corners, which is an issue with Blur my shell itself. Docked/Solid Mode When any window gets close enough (almost touching) to the top bar, it will transform into GNOME's default opaque docked bar. This allows for better integration with maximized windows, avoiding the "light leakage" phenomenon often seen with themes that keep the top bar floating. Performance Considerations Due to limitations in GNOME's CSS and GJS, CSS3 transition animations are ineffective for most properties! Additionally, the requestAnimationFrame function for animation frame synchronization is unavailable. As a result, we have to use a fixed frame interval loop to achieve smooth movement, resizing, and rounded corner animations. This may have some performance impact during animations, but there is no impact when the panel is static. Special Thanks Thanks to the transparent-top-bar extension for its inspiration. As I am new to GJS, the implementation of window proximity detection was largely inspired by its source code. Without this reference, this extension would have been difficult to achieve. Thanks to Google Gemini for its assistance during the research process. 動態頂部面板 靈感來源於KDE Plasma6的懸浮面板的設計,在附近沒有窗口時呈現半透明懸浮條效果,而當窗口靠近時則呈現實色面板的樣式。支援gnome的暗色模式和亮色模式切換。 懸浮模式 懸浮模式 當topbar附近沒有窗口時,會呈現懸浮模式,懸浮模式僅僅有半透明效果,沒有模糊效果(正在嘗試內建模糊效果),目前如果想要模糊效果,建議搭配Blur my shell對於面板的靜態pipeline使用。Blur my shell動態模式會沒有圓角,這是Blur my shell的問題。 停靠模式/實體模式 停靠模式 當有任何窗口足夠靠近(幾乎接觸)Topbar時,Topbar將會變為gnome默認的不透明的停靠欄,與最大化窗口可以更好的融合,而不像主題一樣始終懸浮會有「漏光」的現象。 關於性能 由於gnome自身的css和gjs的緣故,CSS3的transition補間動畫居然對大部分屬性都是無效的!而requestAnimationFrame這個動畫幀對齊函數也無法使用。因此不得不使用固定幀間隔的循環做逐幀動畫來實現平滑移動、大小改變和圓角動畫,因此在動畫過程中性能上會有一定影響。但在靜止狀態下不存在性能影響。 特別鳴謝 感謝transparent-top-bar的思路,因為剛剛接觸gjs,所以窗口靠近判定的實現靈感基本來源於transparent-top-bar的源碼。沒有這個代碼的思路作為參考,此擴展將難以實現。 感謝Google Gemini在研究過程中提供的幫助

Extension Homepage
https://github.com/velade/dynamic-panel

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

All Versions

Version Status
2.7 (11) Active
2.6 (10) Active
2.5 (9) Active
2.5 (8) Rejected
2.3 (7) Active
2.2 (6) Active
2.1 (5) Rejected
2.1 (4) Inactive
2.0 (3) Rejected
1.4 (2) Inactive
1.3 (1) Rejected

Previous Reviews on this Version

JustPerfection active
Thanks!