tAdd manpages for glazier(1) and ewmh(1) - glazier - window management experiments
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
(DIR) commit 02bf3132d43b0aa1d34948615201a0613dc94462
(DIR) parent 45b166725ed0c4586d76dd7779942f3fca9ec734
(HTM) Author: Willy Goiffon <dev@z3bra.org>
Date: Sun, 7 Jun 2020 17:17:28 +0200
Add manpages for glazier(1) and ewmh(1)
Diffstat:
A ewmh.1 | 77 +++++++++++++++++++++++++++++++
A glazier.1 | 100 +++++++++++++++++++++++++++++++
2 files changed, 177 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/ewmh.1 b/ewmh.1
t@@ -0,0 +1,77 @@
+.Dd 2020-06-07
+.Dt EWMH 1
+.Os POSIX.1
+.Sh NAME
+.Nm ewmh
+.Nd EWMH compliance daemon
+.Sh SYNOPSIS
+.Nm ewmh
+.Op Fl h
+.Sh DESCRIPTION
+.Nm
+is a user-space daemon that listens for X notify events, and respond to
+them by setting Extended Window Manager Hints on the root window, as specified by
+the specification.
+.Pp
+Some applications require an EWMH compliant window manager in order to
+function properly. Many window managers, however do not comply to the
+specification, which end up with unexpected behavior for these
+applications, when they even start at all.
+.Pp
+.Nm
+aims to provide a sane amount of hints, so that most
+applications can function properly with a non EWMH compliant window
+manager.
+.Sh IMPLEMENTATION NOTES
+.Ss _NET_SUPPORTED
+The whole specification cannot be fully implemented in an external tool,
+for multiple reasons (need to redirect root window events, keep track
+of window states, …).
+.Pp
+Only the following atoms are supported by
+.Nm :
+.Pp
+.Bl -bullet -compact
+.It
+_NET_SUPPORTED
+.It
+_NET_CLIENT_LIST
+.It
+_NET_CLIENT_LIST_STACKING
+.It
+_NET_SUPPORTING_WM_CHECK
+.It
+_NET_ACTIVE_WINDOW
+.It
+_NET_WM_WINDOW_TYPE (all types)
+.El
+.Ss _NET_SUPPORTING_WM_CHECK
+The specification require that a running window manager creates a window and point the hint to this window.
+.Nm
+will set the override_redirect property on this window so that non-EWMH compliant window manager will ignore it as well.
+.Ss _NET_CLIENT_LIST
+.Ss _NET_CLIENT_LIST_STACKING
+These atoms hold the list of windows that are managed by the window manager
+(override_redirect unset), and/or have the hint _NET_WM_WINDOW_TYPE set to one of those values
+.Pp
+.Bl -bullet -compact
+.It
+_NET_WM_WINDOW_TYPE_UTILITY
+.It
+_NET_WM_WINDOW_TYPE_DIALOG
+.It
+_NET_WM_WINDOW_TYPE_NORMAL
+.El
+.Pp
+Because we don't know the order in which the running window manager is
+storing the windows, _NET_CLIENT_LIST also displays the window IDs in
+their stacking order.
+.Ss _NET_ACTIVE_WINDOW
+This hint is updated whenever an event of type
+.Em FOCUS_IN
+is generated. This should usually match the currently active window from
+the window manager point of view.
+.Sh SEE ALSO
+.Xr glazier 1
+.Sh AUTHORS
+.An Willy Goiffon Aq Mt dev@z3bra.org
(DIR) diff --git a/glazier.1 b/glazier.1
t@@ -0,0 +1,100 @@
+.Dd 2020-06-07
+.Dt GLAZIER 1
+.Os POSIX.1
+.Sh NAME
+.Nm glazier
+.Nd X window manipulator
+.Sh SYNOPSIS
+.Nm glazier
+.Op Fl hv
+.Sh DESCRIPTION
+.Nm
+is a floating window manipulation utility for X11. Its goal is to keep
+track of the focused window (using sloppy focus technique) and let the
+user move/resize windows with the mouse pointer.
+.Bl -tag -width Ds
+.It Fl h
+Print a help message.
+.It Fl v
+Increase verbosity. There are two levels of logging:
+.Pp
+.Bl -enum -compact
+.It
+Print X events related to window management
+.It
+Print all received X events
+.El
+.El
+.Sh WINDOW MANIPULATIONS
+.Nm
+supports different 5 operations on windows, each bound to a mouse
+button. To trigger these operations, a modifier key (default: Mod1)
+must be held before pressing the appropriate mouse button.
+.Pp
+.Bl -enum -compact
+.It
+.Em Move .
+The window will be moved to the specified location once left
+button is released.
+.It
+.Em Resize .
+The window will be resized to the area between the top-left corner and
+the pointer.
+.It
+.Em Teleport .
+The window will be teleported in the area drawn with the middle button held.
+.It
+.Em Inflate .
+Grow the window size in all 4 directions by
+.Em move_step
+pixels when scrolling up.
+.It
+.Em Deflate .
+Shrink the window size in all 4 directions by
+.Em move_step
+pixels when scrolling down.
+.El
+.Pp
+.Sy Note :
+The numbers correspond to the mouse button being pressed. Only one
+operation at a time is supported. The
+.Em move_step
+factor is specified at compilation time in
+.Pa config.h .
+.Sh IMPLEMENTATION NOTES
+.Ss Extended Window Manager Hints
+.Nm
+does not comply with the EWMH specification. The specification exist
+for applications to instruct a window manager how it should behave. I
+believe that the user should be left with the responsibility of managing
+applications, and not the other way around.
+.Pp
+If you need (partial) compliance with these specification, consider using
+.Xr ewmh 1 .
+.Ss Keyboard
+Manipulating windows with the keyboard is both efficient, and
+fast. However,
+.Nm
+cannot do that.
+Implementing that within a window manager is often too rigid, and doesn't
+provide enough flexibility to the user. For this reason, I think it is
+more valuable to use external tools like
+.Xr wmutils 1
+for this.
+.Ss Configuration files
+There is not configuration files in
+.Nm .
+The software is configured at compilation time, by tweaking the
+.Pa config.h
+file. Refer to this file for precisions on what can be configured.
+.Sh ENVIRONMENT
+.Bl -tag -width "DISPLAY"
+.It Ev DISPLAY
+.Nm
+starts on this display.
+.El
+.Sh SEE ALSO
+.Xr ewmh 1 ,
+.Xr wmutils 1
+.Sh AUTHORS
+.An Willy Goiffon Aq Mt dev@z3bra.org