mirror of
https://github.com/labwc/labwc.git
synced 2026-02-22 01:40:25 -05:00
overlay: allow to draw both/either of filled/outlined rectangle
Filled/outlined rectangles shown as snapping overlay are now enabled/disabled independently with `snapping.overlay.[region|edge].bg.enabled` and `snapping.overlay.[region|edge].border.enabled`. To keep the default behavior, `*.bg.enabled` is yes and `*.border.enabled` is no for hardware-based renderers, while `*.bg.enabled` is no and `*.border.enabled` is yes for software-based (pixman) renderer. Users can now use a filled rectangle as an overlay even with pixman renderer. However, this may severely impact performance when used with translucent `snapping.overlay.[region|edge].bg.color`. This commit includes a refactor to use substruct `theme_snapping_overlay` inside `theme` in order to pass it to `create_overlay_rect()` in a cleaner way. Breaking changes is: - `snapping.overlay.[region|edge].fill` is now removed.
This commit is contained in:
parent
34290ef629
commit
b0ba585ff8
9 changed files with 160 additions and 122 deletions
|
|
@ -210,15 +210,25 @@ elements are not listed here, but are supported.
|
|||
Height of boxes in workspace switcher in pixels. Setting to 0 disables
|
||||
boxes. Default is 20.
|
||||
|
||||
*snapping.overlay.region.fill* [yes|no]
|
||||
*snapping.overlay.region.bg.enabled* [yes|no]
|
||||
Show a filled rectangle as an overlay when a window is snapped to a region.
|
||||
Otherwise, an outlined rectangle is shown instead.
|
||||
If software rendering is used, an outlined rectangle is always shown.
|
||||
Default is yes for hardware-based renderers and no for software-based
|
||||
renderers.
|
||||
|
||||
*snapping.overlay.edge.fill* [yes|no]
|
||||
*snapping.overlay.edge.bg.enabled* [yes|no]
|
||||
Show a filled rectangle as an overlay when a window is snapped to an edge.
|
||||
Otherwise, an outlined rectangle is shown instead.
|
||||
If software rendering is used, an outlined rectangle is always shown.
|
||||
Default is yes for hardware-based renderer and no for software-based
|
||||
renderers.
|
||||
|
||||
*snapping.overlay.region.border.enabled* [yes|no]
|
||||
Show an outlined rectangle as an overlay when a window is snapped to a
|
||||
region. Default is no for hardware-based renderers and yes for software-based
|
||||
renderers.
|
||||
|
||||
*snapping.overlay.edge.border.enabled* [yes|no]
|
||||
Show an outlined rectangle as an overlay when a window is snapped to an edge.
|
||||
Default is no for hardware-based renderer and yes for software-based
|
||||
renderers.
|
||||
|
||||
*snapping.overlay.region.bg.color*
|
||||
Color of a filled rectangle shown as an overlay when a window is snapped to
|
||||
|
|
|
|||
14
docs/themerc
14
docs/themerc
|
|
@ -74,8 +74,18 @@ osd.window-switcher.preview.border.color: #dddda6,#000000,#dddda6
|
|||
osd.workspace-switcher.boxes.width: 20
|
||||
osd.workspace-switcher.boxes.height: 20
|
||||
|
||||
snapping.overlay.region.fill: yes
|
||||
snapping.overlay.edge.fill: yes
|
||||
# Default values for following options change depending on the rendering
|
||||
# backend. For software-based renderers, *.bg.enabled is "no" and
|
||||
# *.border.enabled is "yes" if not set. For hardware-based renderers,
|
||||
# *.bg.enabled is "yes" and *.border.enabled is "no" if not set.
|
||||
# Setting *.bg.enabled to "yes" for software-based renderer with translucent
|
||||
# background color may severely impact performance.
|
||||
#
|
||||
# snapping.overlay.region.bg.enabled:
|
||||
# snapping.overlay.edge.bg.enabled:
|
||||
# snapping.overlay.region.border.enabled:
|
||||
# snapping.overlay.edge.border.enabled:
|
||||
|
||||
snapping.overlay.region.bg.color: #8080b380
|
||||
snapping.overlay.edge.bg.color: #8080b380
|
||||
snapping.overlay.region.border.width: 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue