When showing sidebar, Geany should set the position of the separator to at least those 20px so it becomes draggable again.
Well make up your mind, you said something about 20px, so I used that ;-). Clearly you need a sensible handle width, a few px.
IIUC because you have a fault on Mac that it removes the handle when you move the sidebar to zero and have to add code to get around your strange zero width handle, keep it as a patch on your Mac repository, as I have said, there is no need on Linux for it.
To be clear __on Linux the handle works__, the window pane handle can never be zero and can be caught and moved by the resize cursor. The handle is never reduced below the number set by CSS unless the sidebar is hidden by `View->Show sidebar` untick and then the handle is hidden with the sidebar (and both reshown when `View->Show Sidebar` is ticked). The pane handle is __NOT__ the sidebar hide function. No special Geany code is needed in Geany.
For users who have difficulty selecting the handle it can be made wider with one line of CSS, no code is needed on Geany. A commented out CSS can be added to `geany.css` ready for use where the user has problems with their theme.