DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-plugin-rightbar-divider

d

dsh-plugin-rightbar-divider

Manifest valid

Restores the DSH right sidebar divider drag after whole-interface zoom shifts the host handle off it, and widens the hit area to 12px with a hover affordance.

UI (client)hasBundlePatch

dsh-plugin-rightbar-divider

中文 | English

DSH's right sidebar already has a drag handle. This plugin fixes the case where it stops working after whole-interface zoom: the handle is still rendered, but it is positioned with the visual viewport width instead of layout pixels, so at zoom: 1.2 it sits ~320px inside the panel instead of on the divider.

The plugin:

  • measures the panel's real left edge with offsetLeft (layout pixels, unaffected by zoom and slide transforms) and moves the host handle back onto it through a CSS variable;
  • widens the hit area from 8px to 12px and draws a 2px hover/drag line;
  • leaves width limits, persistence, and drag behavior to the host's setRightbar.

At 100% zoom it is effectively a wider hit area with a hover affordance.

Install

From the DSH plugin market or npm:

dsh plugin --profile desktop add dsh-plugin-rightbar-divider

Then open Plugins → Add plugin and install dsh-plugin-rightbar-divider, or use the in-app plugin page. Open the right sidebar and hover the divider between chat and the sidebar: the cursor becomes col-resize and a thin line appears.

Why it happens

AppFrame positions the two handles like this:

{ side: 'sidebar',  left: cols.sidebar }
{ side: 'rightbar', left: viewport - normal.rightbar }

viewport is frame.getBoundingClientRect().width (visual pixels) while left is layout pixels. With html { zoom } the two diverge; the left handle uses layout pixels on both sides and stays aligned, the right one drifts by viewport × (zoom − 1).

Known limits

  • Depends on private host attributes ([data-side="rightbar"], [data-rightbar-col], [data-sidebar-right-open]). If a future DSH renames them, the plugin quietly deactivates instead of breaking the layout.
  • Under zoom, the host still changes width from visual pointer deltas, so dragging is slightly faster than the cursor (120% → 120px per 100px). The plugin does not take over pointer events.
  • Fullscreen panels have no outer width handle by design; nothing is invented.

Verify

node test.mjs

Covers layout-pixel math, re-measure on width change, deactivation when the handle disappears, the rect/zoom fallback, and cleanup on dispose.

A proper upstream fix

In AppFrame, use frame.offsetWidth / clientWidth for viewportWidth, or derive the right handle's left from the panel's offsetLeft. That fixes every geometry that depends on viewportWidth, not just the handle.

License

MIT

Comments

Loading…

Similar plugins

dsh-sidebar-width

by garrisonz

Control the Web UI left sidebar width: lower the 264px drag minimum and optionally tune the drag maximum and the expanded default width, applied by a startup patch of the ui-layout bundle.

Tools & CapabilitiesUI & ExperienceManifest valid

★ 0

MIT

JavaScript

Sep 11, 2026

dsh plugin --profile web add dsh-sidebar-width

Adds the right sidebar's expand trigger on pages with no conversation, matching the product's own control.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

dsh plugin --profile web add dsh-hero-rightbar

by Han-1413141

UI butler for every plugin UI: official/plugin categories, per-widget toggles, drag move/resize, collision avoidance and one-click auto arrange.

UI & ExperienceDevelopment & InfrastructureTerminal & ClientsManifest valid

★ 4

MIT

JavaScript

Oct 2, 2026

dsh plugin --profile web add dsh-ui-hub

Window-like controls for every Web UI modal: drag by title bar, eight-way resize, pin against outside clicks, maximize to the full viewport, removable backdrop blur, and per-dialog persistent state.

UI & ExperienceManifest valid

★ 0

dsh plugin --profile web add dsh-modal-enhancer

Makes the DSH Settings dialog resizable from its edges and corners and movable by its top strip, remembering the chosen size across opens.

UI & ExperienceManifest valid

★ 0

dsh plugin --profile web add dsh-resizable-settings

by sjrslh

Ctrl+wheel page zoom (60–180%, remembered) for the whole DSH UI, plus a bottom-right Settings entry that opens the host settings panel, with Ctrl+0 to reset.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Oct 22, 2026

dsh plugin --profile web add dsh-ui-zoom