- Remove the const function attribute from get_time_*(), since the
functions they call that actually get the time probably access global
variables or have other behaviors unacceptable for const functions.
- Change the const function attribute on win_has_frame() to pure, as it
accesses memory its parameter points to, which is invalid for a const
function.
Bug fix: Select the larger of the X window border width and
_NET_FRAME_EXTENTS, instead of adding them together, when determining
the frame extents. (Supposedly) more EWMH compliant, as EWMH
_NET_FRAME_EXTENTS should include the X window border width already. We
did not choose to completely rely on _NET_FRAME_EXTENTS to remove the
need to keep track of whether there is a _NET_FRAME_EXTENTS, and
(hopefully) take care of some cases when it is wrong. The commit should
fix awesomeWM/awesome#425. Thanks to psychon for the information. (#302)
The commit fixes the bug in win_get_region_noframe() that the X window
border width is not considered when determining the width/height of the
window without frame, as well.
- Add margin_t, a structure that represents margins around a rectangle.
- Store frame extents of a window with margin_t, replacing the 4
fields ({left,right,top,bottom}_width) in struct _win.
- Add two helper macros, cmemzero() and cmemzero_one(), that zero out a
block of memory.
Misc: Update the descriptions of --backend in the compton man page.
Mention `xr_glx_hybrid` backend, and add more descriptions of the
operation and characteristics of the backends. Thanks to @onodera-punpun
in the Gitter room for telling me about the missing documentation of the
`xr_glx_hybrid` backend.
The pipeline used to retrieve the WID of the active window returns a bad WID because xprop returns several hex numbers and ".*" in the sed regex is greedy. For instance, running "xprop -root -notype _NET_ACTIVE_WINDOW" gives me:
_NET_ACTIVE_WINDOW: window id # 0x1a0003d, 0x0
Filtering this output with the sed substitution then gives "0x0", since the first ".*" matches everything up to *the last* hex number.
The fix is simply to grep hex numbers instead of using a sed substitution, and then choose the first one.
Fix the bug that --active-opacity state does not change
on `--focus-exclude`-ed windows correctly, since win_update_focused()
enables the WFLAG_OPCT_CHANGE flag on a window only if w->focused
changes, while --active-opacity depends on the output of
win_is_focused_real() instead of w->focused, which could be changed even
if w->focused does not change (e.g. when the window is
`--focus-exclude`-ed).
Always redirect std{out,err} if --logpath is specified, instead of only
redirect after fork, to correct the inconsistent behavior of --logpath
when getppid() returns 1. (#263)
- Add disabled-at-compile-time note in usage text with NO_LIBCONFIG.
- Fix the incorrect disabled-at-compile-time note for --backend.
- Move position of the disabled-at-compile-time note of --dbus
slightly.
- CMakeLists.txt: add remaining non-debugging compile-time options
present in Makefile but not here: CONFIG_VSYNC_OPENGL_{FBO,VBO},
CONFIG_DBUS, and CONFIG_XSYNC.
- CMakeLists.txt: Use CMakeDependentOption for option dependency.
- CMakeLists.txt: Remove quotes around library CFLAGS and LDFLAGS to
allow multiple values.
- Fix the bug that --no-fading-openclose doesn not work when fading out
by writing w->fade_last as well in win_determine_fade().
- Write w->fade_last for applying w->fade_force, as well.
- Reformat usage text by adding a blank line between descriptions of
two switches. (#215)
- Update documentation for a bit. Correct some wrong statements and
clarify some others.
- Add glx_take_screenshot() for taking a screenshot. With ImageMagick
the output data could be viewed in this way:
display -size [SCREEN-WIDTH]x[SCREEN-HEIGHT] -depth 8 -flip
rgb:[PATH]
(#204)
- Add D-Bus command `opts_get string:paint_on_overlay_id` to get X
Composite overlay window ID. (#204)
- Code cleanup.
- Separate GLX parts from session_t into glx_session_t.
- Add --rererdir-on-root-change and --glx-reinit-on-root-change, as
possible solutions for #217. Thanks to jlindgren90 for reporting.
- Add --glx-fshader-win, which specifies a custom fragment shader for
painting windows. compton-default-fshader-win.glsl is the shader with
default behavior, and compton-fake-transparency-fshader-win.glsl
provides a template of fake transparency. (#183)
- Add --force-win-blend to force all windows to be painted with
blending.
- Add --no-fading-destroyed-argb, as a workaround of bugs in some WMs.
(#193)
Add `bounding_shape` and `rounded_corners` as condition match target.
Deprecate --shadow-ignore-shaped. Add rounded-corners detection to
win_is_fullscreen(). Slightly modify win_rounded_corners() logic. Thanks
to tdryer for reporting. (#191)