Patch from Thomas Luebking

Documents Opaque Resizing and adds a fancy config menu item
This commit is contained in:
Mark Tiefenbruck 2021-07-07 06:58:42 -07:00
parent 8bc11006a5
commit 5f3cb410cd
4 changed files with 50 additions and 12 deletions

View file

@ -414,6 +414,10 @@ titlebars, not window contents.
If enabled, you will see the window content while dragging it. Otherwise If enabled, you will see the window content while dragging it. Otherwise
only an outline of the window will be shown. only an outline of the window will be shown.
*Opaque Window Resizing*:::
If enabled, you will see the window content while resizing it. Otherwise
only an outline of the window will be shown.
*Workspace Warping*::: *Workspace Warping*:::
If enabled, you can drag windows from one workspace to another. There are If enabled, you can drag windows from one workspace to another. There are
parameters to set independently whether this warping happens horizontally parameters to set independently whether this warping happens horizontally
@ -1169,6 +1173,24 @@ will only draw an outline of the window border.
+ +
Default: *True* Default: *True*
*session.screen0.opaqueResize*: 'boolean'::
When resizing a window, setting this to True will draw the window
contents as it resizes (this is nasty on slow systems). If False, it
will only draw an outline of the window border.
+
Default: *False*
*session.screen0.opaqueResizeDelay*: 'integer'::
When resizing a window in opaque mode, this controls the resize clock pulse in
ms.
Low values resize "smoother" but slow clients (browser etc. which are expensive
to resize) can put too much stress on the system (stalling everything)
High values will cause notable latency (delay before the size is aligned to
the mouse position)
+
Default: *40*
*session.screen0.workspaces*: 'integer':: *session.screen0.workspaces*: 'integer'::
Set this to the number of workspaces the users wants. Set this to the number of workspaces the users wants.
+ +

View file

@ -1,7 +1,7 @@
'\" t '\" t
.\" Title: fluxbox .\" Title: fluxbox
.\" Author: Henrik Kinnunen <fluxgen@fluxbox.org> .\" Author: Henrik Kinnunen <fluxgen@fluxbox.org>
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 08 February 2015 .\" Date: 08 February 2015
.\" Manual: Fluxbox Manual .\" Manual: Fluxbox Manual
.\" Source: fluxbox.txt .\" Source: fluxbox.txt
@ -826,14 +826,14 @@ option will force fluxbox to ignore the xcomposite extension and use pseudo\-tra
If enabled, you will see the window content while dragging it\&. Otherwise only an outline of the window will be shown\&. If enabled, you will see the window content while dragging it\&. Otherwise only an outline of the window will be shown\&.
.RE .RE
.PP .PP
\fBOpaque Window Resizing\fR
.RS 4
If enabled, you will see the window content while resizing it\&. Otherwise only an outline of the window will be shown\&.
.RE
.PP
\fBWorkspace Warping\fR \fBWorkspace Warping\fR
.RS 4 .RS 4
If enabled, you can drag windows from one workspace to another\&. There are If enabled, you can drag windows from one workspace to another\&. There are parameters to set independently whether this warping happens horizontally and/or vertically, and in each direction you can set the number of workspaces to jump when warping (to allow for a virtual rectangular grid of workspaces)\&. When warping, lower\-numbered workspaces are above/to the left, and higher\-numbered workspaces below/to the right\&.
parameters to set independently whether this warping happens horizontally
and/or vertically, and in each direction you can set the number of workspaces
to jump when warping (to allow for a virtual rectangular grid of
workspaces)\&. When warping, lower-numbered workspaces are above/to the left, and
higher-numbered workspaces below/to the right\&.
.RE .RE
.SS "Window Menu" .SS "Window Menu"
.sp .sp
@ -1206,11 +1206,6 @@ All icons will be left\-aligned with the width set in the \(oqinit\(cq file
All icons will be sized evenly to fill the iconbar completely All icons will be sized evenly to fill the iconbar completely
.RE .RE
.PP .PP
\fBRelativeSmart\fR:
.RS 4
All icons will initially be sized evenly, but icons with long titles will be larger
.RE
.PP
\fBRight\fR: \fBRight\fR:
.RS 4 .RS 4
All icons will be right\-aligned with the width set in the \(oqinit\(cq file All icons will be right\-aligned with the width set in the \(oqinit\(cq file
@ -1934,6 +1929,22 @@ Default:
\fBTrue\fR \fBTrue\fR
.RE .RE
.PP .PP
\fBsession\&.screen0\&.opaqueResize\fR: \fIboolean\fR
.RS 4
When resizing a window, setting this to True will draw the window contents as it resizes (this is nasty on slow systems)\&. If False, it will only draw an outline of the window border\&.
.sp
Default:
\fBFalse\fR
.RE
.PP
\fBsession\&.screen0\&.opaqueResizeDelay\fR: \fIinteger\fR
.RS 4
When resizing a window in opaque mode, this controls the resize clock pulse in ms\&. Low values resize "smoother" but slow clients (browser etc\&. which are expensive to resize) can put too much stress on the system (stalling everything) High values will cause notable latency (delay before the size is aligned to the mouse position)
.sp
Default:
\fB40\fR
.RE
.PP
\fBsession\&.screen0\&.workspaces\fR: \fIinteger\fR \fBsession\&.screen0\&.workspaces\fR: \fIinteger\fR
.RS 4 .RS 4
Set this to the number of workspaces the users wants\&. Set this to the number of workspaces the users wants\&.

View file

@ -89,6 +89,7 @@ enum {
ConfigmenuMaxDisableResize = 29, ConfigmenuMaxDisableResize = 29,
ConfigmenuStrictMouseFocus = 30, ConfigmenuStrictMouseFocus = 30,
ConfigmenuFocusSameHead = 31, ConfigmenuFocusSameHead = 31,
ConfigmenuOpaqueResize = 32,
EwmhSet = 5, EwmhSet = 5,
EwmhOutOfMemoryClientList = 1, EwmhOutOfMemoryClientList = 1,

View file

@ -336,6 +336,10 @@ void ConfigMenu::setup(FbTk::Menu& menu, ConfigMenu::SetupHelper& sh) {
"Opaque Window Moving", "Opaque Window Moving",
"Window Moving with whole window visible (as opposed to outline moving)", "Window Moving with whole window visible (as opposed to outline moving)",
sh.resource.opaque_move, saverc_cmd); sh.resource.opaque_move, saverc_cmd);
_BOOLITEM(menu, Configmenu, OpaqueResize,
"Opaque Window Resizing",
"Window Resizing with whole window visible (as opposed to outline resizing)",
sh.resource.opaque_resize, saverc_cmd);
_BOOLITEM(menu, Configmenu, WorkspaceWarping, _BOOLITEM(menu, Configmenu, WorkspaceWarping,
"Workspace Warping", "Workspace Warping",
"Workspace Warping - dragging windows to the edge and onto the next workspace", "Workspace Warping - dragging windows to the edge and onto the next workspace",