| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|\ |
|
| | |
|
|/
|
|
|
| |
Add --no-name-pixmap to disable the usage of
XCompositeNameWindowPixmap(), for debugging.
|
|
|
|
| |
Still, "Guassian" -> "Gaussian". (#221)
|
|
|
|
|
|
| |
- Fix X pixmap leakage in shadow_paint.
- Add the skeleton of a X resource leakage checker.
|
|
|
|
| |
Fix compilation with NO_VSYNC_OPENGL_GLSL / NO_C2.
|
|
|
|
|
| |
Warn about using --glx-no-rebind-pixmap on xf86-video-intel. Thanks to
aktau for the info. (#218)
|
|
|
|
|
|
|
| |
- 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 --version. (#206)
- Add --no-x-selection for debugging. (#207)
|
| |
|
|
|
|
|
|
| |
- Add two long variants of short options.
- Update documentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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)
|
|
|
|
|
| |
Fix pointer incompatibility with libconfig-1.3*. Thanks to
sstewartgallus for reporting. (#195)
|
|
|
|
|
|
| |
Fix assertion failure when evaluating --unredir-if-possible-exclude or
--paint-exclude on unmapped windows. Thanks to ppuryear for reporting.
(#194)
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
| |
Copy shadow/fade/color-inversion/background-blur state from last paint
on unmapped windows. I hope it doesn't have unexpected side effects.
(#190)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Try to avoid evaluating conditions after window unmap/destruction.
Unfortunately, frequently this doesn't work due to the asynchronous
nature of X.
- Add _GTK_FRAME_EXTENTS exclusion rules to compton.sample.conf. Thanks
to memeplex, hexchain, and others for info. (#189)
- Add debugging option --show-all-xerrors, and other debugging changes.
Doc update.
|
|
|
|
|
|
|
|
| |
- Add --xrender-sync{,-fence} as configuration file option.
- Quit on encountering invalid opacity rule.
- Other small changes.
|
|
|
|
|
|
|
|
|
|
| |
- Add --xrender-sync{,-fence} to deal with redraw lag issue on GLX
backend. --xrender-sync-fence requires a sufficiently new xorg-server
and libXext. NO_XSYNC=1 may be used to disable it at compile time.
Thanks to tchebb for reporting and everybody else for testing. (#181)
- A bit code clean-up. Replace a few XSync() with XFlush() to minimize
the latency.
|
|
|
|
|
|
|
| |
- Add "xr-glx-hybrid" as an alias of "xr_glx_hybrid". (#163)
- Clear damage history in expose_root() and when root window size
changes. Unfortunately this doesn't fix #181.
|
|
|
|
| |
Fix the broken -S.
|
|
|
|
|
|
|
| |
- Fix a bug that w->prev_trans sometimes points to freed memory.
Probably related to #165.
- Add some more debugging printf()-s under DEBUG_EVENTS.
|
|
|
|
|
| |
xr_glx_hybrid backend: Attempt to fix flickering issue. Thanks to cju
for testing.
|
|
|
|
| |
Make usage of glFinish() optional to avoid high CPU usage. (#163)
|
|
|
|
|
| |
Fix a spelling mistake (xr_glx_hybird -> xr_glx_hybrid). Thanks to cju
for reporting.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add new backend "xr_glx_hybird", which uses X Render for all
compositing but GLX on the last step of rendering to screen. This
makes GLX-backend-specific VSync methods usable while may avoid
certain bugs with GLX backend. The idea comes from ali1234.
Experimental.
- GLX backend: Stop using or rendering to depth buffer.
- Use glFinish() instead of glFlush() before VSync. It probably uses
more CPU but could be more reliable than glFlush().
|
|
|
|
|
| |
Add WM_CLASS, COMPTON_VERSION, and _NET_WM_PID properties to the
registration window, to ease the development of pcman's compton-conf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add --write-pid-path to write process ID to a file, to help
determining compton's process ID when -b is used.
- Add a few extra targets to query through D-Bus opts_get (version, pid,
etc.) and through win_get, primarily for debugging.
- Add helper macros likely(), unlikely(), cmalloc(), ccalloc(),
crealloc().
- Change w->opacity_set to opacity_t. Determine display_repr in
session_init(), etc.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Possible fix for a very rare timing issue in focus detection. Compton
may fail to detect the currently focused window, when a window newly
mapped gets focused, we failed to listen to events and get FocusIn from
it in time, and a series of focus change events before it happens stay
in the event queue and puzzled compton. My choice is to force focus
recheck on all focus-related events. More roundtrips to X, but not
necessarily worse performance, due to the high cost of focus flipping
especially when there's a lot of conditions. Thanks to SlackBox for
reporting. (#153)
|
|
|
|
|
|
|
| |
- Fix a bug that --opacity-rule misbehaves with a value higher than 50%
on 32-bit systems. Thanks to mrinx for reporting. (#149)
- Fix a bug that opacity-rule in configuration file does not work.
|
|
|
|
| |
I typed ps->glXGetVideoSyncSGI as ps->glXWaitVideoSyncSGI...
|
|
|
|
|
| |
Add configuration file options for
--unredir-if-possible-{delay,exclude}. (#140)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rewrite focus detection logic. Remove w->focused_real and use
ps->active_win to identify focused window uniformly. Use a more
expensive way to filter FocusIn/Out events to improve reliability.
Only limited tests are done, and bugs are likely to be introduced.
(#99)
- Known issue: Under fvwm, compton sometimes does not consistently
report the window input gets sent to. But there's something wrong in
that case: XGetInputFocus() shows the root window is focused but
another window is receiving input.
|
|
|
|
|
| |
Dynamically detect window type as a workaround to insane applications.
Thanks to Feltzer for reporting. (#144)
|
|
|
|
|
| |
Set LC_NUMERIC=C when generating GLSL shader strings to avoid decimal
point issues on European locales. Thanks to hiciu for reporting.
|
|
|
|
|
| |
Move setlocale(LC_NUMERIC, "C") to a better place, in hope to fix #143.
Thanks to hiciu for reporting!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Possible fix for high CPU usage with a low --unredir-possible-delay.
Thanks to Feltzer for reporting. (#140)
- Rewrite some parts to (hopefully) increase performance, especially
with --unredir-if-possible.
- Known issue: With GTX 670 and x11-drivers/nvidia-drivers-325.15, and
compton --unredir-if-possible --config /dev/null, if you send a
SIGUSR1 to compton when a full-screen solid window is there, in which
case compton either redirects then immediately unredirects the screen,
or just don't redirect it altogether, X freezes after compton
unredirects the screen. Requests sent by other X clients are not
responded until compton is killed, which indicates the possibility of
a bug in X. Attaching to X process shows X is on ./os/waitFor.c.
Backend does not matter. --paint-on-overlay fixes the issue somehow.
compton-git-v0.1_beta1-5-g4600f43-2013-08-28 doesn't exhibit the
issue, but it's probably timing-related.
|
|
|
|
|
|
|
|
|
|
| |
- Add --unredir-if-possible-exclude, to exclude certain windows when
evaluating --unredir-if-possible. (#140)
- Add --unredir-if-possible-delay, to add some delay before
unredirecting screen. (#138, #140)
- Code clean-up.
|
|
|
|
|
| |
Avoid using multi-sampled visuals, like the cogl patch:
http://people.freedesktop.org/~glisse/0001-glx-do-not-use-multisample-visual-config-for-front-o.patch
|
|
|
|
|
| |
Attempt to auto-detect screen changes to address the issue reported by
Feltzer.
|
|
|
|
|
|
|
|
| |
- Add "xinerama_shadow_crop" configuration option.
- Add long commandline switches corresponding to the short ones.
- Documentation update.
|
|
|
|
|
| |
Add --xinerama-shadow-crop to crop shadow to current Xinerama screen.
Thanks to Feltzer for suggestion.
|
|
|
|
|
|
|
|
|
|
| |
- Add stoppaint_force option, controlled via D-Bus, to stop painting
completely, which may look better than unredirecting the screen,
sometimes. (#41)
- Add x2, y2 matching targets.
- Update documentation.
|
|
|
|
|
|
|
| |
- Add "redirected_force" to D-Bus opts_get to forcefully
redirect/unredirect windows.
- Add D-Bus method "repaint", to, namely, repaint the screen.
|
|
|
|
|
| |
- Check FBConfig X visual depth, like Compiz, to fix issues with
nvidia-drivers-325.08 . Thanks to guotsuan for reporting.
|
|
|
|
|
|
|
|
| |
- Fix OpenGL 3.0 compatibility by changing glFramebufferTexture() to
glFramebufferTexture2D(). Thanks to danfe for suggestion!
- Add notification about DocBook toolchina dependencies. Thanks to
danfe. (#121)
|
|
|
|
|
|
|
|
|
|
|
| |
- Add --paint-exclude to prevent certain windows from being painted, for
debugging purposes.
- Add predefined matching target "x", "y", "width", "height", "widthb",
"heightb", "border_width", and "fullscreen".
- Fix bug #119, wrong man page install dir in CMake configuration.
Thanks to sstewartgallus for reporting.
|
|
|
|
|
|
|
|
| |
- Add --shadow-exclude-reg, which excludes certain regions on the screen
to have shadows painted in. (#116)
- Adjust session initialization order. Now X root and screen info and
basic X extensions are available in configuration parsing step.
|