Introduction¶
When using DSH (DeepSeek Harness), once the right sidebar is switched to fullscreen, it covers the entire viewport, leaving only the two panel controls in the top-right corner clickable. To exit fullscreen, you have to move the mouse to the corner to find the small button. If the right sidebar window is pulled very wide, or other windows are open on the screen, this operation is not convenient.
dsh-rightbar-exit-strip is a client-side plugin designed for this scenario: it adds a clickable exit vertical strip on the left edge of the fullscreen right sidebar and supports double-clicking the drag separator between the session and the right sidebar to enter fullscreen. Maintained by 2315137135, categorized as a client plugin, implemented in pure JavaScript, and requires no build process.
What is this¶
One-sentence positioning: Provides more convenient entry and exit points for the DSH right sidebar in fullscreen mode.
The problem it solves is specific: after the fullscreen panel covers the viewport, the only available exit is the panel controls in the top-right corner; this plugin adds entry points ① the exit strip on the left edge of the fullscreen mode, and ② double-clicking the separator to enter fullscreen.
It is worth noting that the plugin itself does not modify the right sidebar layout or add new panels; it only adds two interaction points on top of existing DOM elements.
Core Features¶
Supported gestures and results are as follows:
| Gesture | Result |
|---|---|
| Double-click the drag separator between the session and the right sidebar | Enter fullscreen |
| Hover on the left vertical strip in fullscreen → Click | Exit fullscreen |
| In fullscreen | Separator does not render, exit can only be done via the vertical strip or the panel button in the top-right corner |
Visual and interaction details of the strip:
- Normally a 5px translucent vertical strip.
- Hover to widen to 11px, show a right-pointing arrow, and turn into the brand color.
- Leave 18% margin at the top and bottom to avoid the tab bar and the zoom control at the bottom left of the panel.
- Keyboard focus also expands the strip, press Enter to exit.
Entry and exit fullscreen use the same path: both call ctx.sidebarRight.commandTarget() + toggleFullscreen(), consistent with the buttons on the panel, and will be recorded in the layout history; if the service is unavailable, it falls back to clicking the panel’s own [data-sidebar-right-mode] control.
Installation and Enablement¶
Install from GitHub, pure JavaScript, no build required:
plugin_manager install_bundle
target: github:2315137135/dsh-rightbar-exit-strip
You can also use git+https://github.com/2315137135/dsh-rightbar-exit-strip.git, or clone locally and install with an absolute path. Refresh the Harness page after installation.
Repository: https://github.com/2315137135/dsh-rightbar-exit-strip, License: MIT. The plugin’s current version is 0.1.0 (see version field in package.json). No additional configuration is needed in Harness; refresh the page to take effect.
Typical Usage¶
After installing and refreshing the page, verify the two entry points in the following order:
- Expand the right sidebar to fullscreen: Enter the session view, click the shape toggle button in the top-right of the right sidebar, or directly double-click the drag separator between the session and the right sidebar.
- Confirm the exit strip appears on the left edge: At this point, the viewport is covered by the panel, and a 5px translucent strip is visible on the left; move the mouse over it, and the strip widens to 11px and shows a right-pointing arrow.
- Click the strip to exit fullscreen: Clicking will return the panel to its normal width.
- Exit using the keyboard: Use Tab to move focus to the strip, the strip expands similarly, and press Enter to exit.
If you only want to enter fullscreen and not exit, steps 2 and 3 can be skipped; for pure keyboard operations, step 4 is the primary path.
Implementation Details¶
This section explains how the plugin achieves “following the panel,” to help you determine if it is stable in your environment.
Render only when fullscreen¶
The plugin detects [data-sidebar-right-panel="fullscreen"], with the position taken from that panel’s getBoundingClientRect(). Therefore, the title bar inset on Windows desktop, the expanded width of the left sidebar, and window resizing are all automatically followed. It also hooks up a ResizeObserver, window resize, and MutationObserver separately.
Why portal to document.body¶
The shell.overlay container is a stacking context with z-index:20, while the ._tabCell inside the fullscreen panel participates in the same stacking context using z-index: var(--dsh-dockkit-dock-layer) (fullscreen is 40). Elements inside the floating layer cannot be covered by the panel even with a high z-index. Breaking out of this context and hanging the strip on document.body is the correct solution.
Why not use dblclick¶
The separator is the framework’s [data-side="rightbar"] drag handle, which calls preventDefault() inside pointerdown. Compatible mouse events are suppressed, so dblclick is unreliable. The plugin counts left pointerdown events during the capture phase: two events within 500ms and within a 6px range are judged as a double-click.
Dependent Framework Contracts¶
The plugin reads the panel’s DOM markers and ARIA attributes. If these markers are renamed after a major version upgrade of Harness, they need to be adjusted synchronously:
[data-sidebar-right-panel="fullscreen"]– Fullscreen mode marker[data-side]equalsrightbar– Drag separator between session and right sidebar[data-sidebar-right-mode]– Shape toggle button in the top-right corner of the panel (value is the next mode)
In other words, this interaction relies on stable markers on the framework side. It is recommended to run the verification steps above after upgrading Harness.
Suitable Scenarios and Notes¶
Suitable scenarios: Developers who frequently use the right sidebar and switch to fullscreen, or those with complex window layouts where corner buttons are hard to click.
Notes to pay attention to:
- The plugin runs with the current dsh process permissions. Before installing, you should check the source code and license (this plugin is MIT).
- The plugin reads the framework’s DOM markers and ARIA attributes. If the markers are renamed after a major version upgrade of Harness, they need to be adjusted synchronously.
- In fullscreen mode, the separator does not render, and exit can only be done via the left edge vertical strip or the top-right panel button; this is a limitation of the plugin, not a configuration option.
Conclusion¶
The value of dsh-rightbar-exit-strip lies not in adding new panels, but in providing convenient entry and exit points for the existing fullscreen right sidebar: enter fullscreen by double-clicking the separator, and exit fullscreen by clicking the left edge vertical strip or pressing Enter, without changing the original layout. If you mainly work with the right sidebar in fullscreen mode, it is worth installing and trying.
Directory page: https://www.skillhub.cn/plugins/2315137135/dsh-rightbar-exit-strip
GitHub: https://github.com/2315137135/dsh-rightbar-exit-strip