summaryrefslogtreecommitdiffstats
path: root/compton.c
Commit message (Collapse)AuthorAgeFilesLines
* Misc: Clean upRichard Grenville2012-09-161-105/+34
| | | | | | | | - Add 4 helper free functions that free XserverRegion, Damage, Picture, and Pixmap. - Rename w->shadow to w->shadow_pict. Add a bool member w->shadow to prepare for a future change.
* Bug fix: Issue #43, better client window lookupRichard Grenville2012-09-141-14/+38
| | | | | | | | | More details on the issue report. - Look up the client window of a WM frame when it's mapped instead of when it's created, for better reliability. - Fix a warning when building.
* fix code duplication resulting from rebaseChristopher Jeffrey2012-09-131-6/+3
|
* fix determine_evmask warningsChristopher Jeffrey2012-09-131-1/+2
|
* more style changesChristopher Jeffrey2012-09-131-17/+28
|
* stay consistent with code styleChristopher Jeffrey2012-09-131-43/+87
|
* whitespaceChristopher Jeffrey2012-09-131-2/+2
|
* Bug fix: Segfault when meeting FocusIn/Out from destoryed windowsRichard Grenville2012-09-131-6/+28
| | | | | | | | | | | | | | | | I found compton segfaults sometimes when starting from .xinitrc. Debugging reveals my conky window was just reparented to a fvwm's frame window before compton picked up a FocusOut event on this conky window that has just been destroyed in the event queue. find_win() call in ev_focus_in/out() returned a NULL pointer. When it tried to use the pointer segfault happens. - Add extra check to ev_focus_in/out() to stop the segfault. - Reset window event mask on window reparenting to a non-root window to minimize wrong events. - More abstraction for determining window event mask.
* Improvement: Use find_toplevel() to find WM frameRichard Grenville2012-09-131-122/+98
| | | | | | | | | Use find_toplevel() to find out the WM frame of a client window. I didn't noticed it beforehand. Fallback to the old method as compton does not always get correct client windows. - Clean up find_client_win() a bit. A BFS search algorithm could be more optimal yet it requires a queue implementation.
* Improvement: Do not track focus changes unless necessaryRichard Grenville2012-09-131-8/+16
| | | | | Stop tracking focus changes unless either inactive_opacity or inactive_dim is enabled, small performance boost in certain cases.
* Bug fix: Issue #40: -z does not work as expectedRichard Grenville2012-09-121-23/+25
| | | | | | | | | More information in the issue report. - Let window opacity affect the opacity of its shadow and frames even if -z is enabled. - Check for the range of -o to eliminate potential segfault.
* Bug fix: Double free when XQueryTree() failsRichard Grenville2012-09-121-6/+24
| | | | | | Take care of failure of XQueryTree() to prevent it from causing a double-free crash. This usually happens when X is initializing and windows are constantly changing.
* Bug fix: Issue #39: Render windows just mapped && focused incorrectlyRichard Grenville2012-09-121-0/+44
| | | | | More info in the issue description. This also fixes the problem for --inactive-dim.
* Feature: Issue #2: Support dim inactive windowsRichard Grenville2012-09-121-8/+44
| | | | | | | - Add a switch --inactive-dim that dims inactive windows. - The window dimming feature is implemented in a pretty ugly way. Improve it if possible.
* Debug: Enhanced debugging capabilityRichard Grenville2012-09-121-17/+24
| | | | | | | | - Change all #if DEBUG_XXX directives to #ifdef, thus making it possible to directly enable debugging options with CFLAGS (-DDEBUG_XXX). - Print timestamp before event debugging messages.
* Bug fix: Segfault when encountering invalid long optionRichard Grenville2012-09-111-0/+2
| | | | I didn't read the documentation of getopt_long() carefully.
* Bug fix: Issue #37, fix 5 opacity-related bugsRichard Grenville2012-09-111-49/+118
| | | | | | | | | | More details in the bug report. - Rewritten much of the opacity calculation, code cleanup. - Commandline switch --inactive_opacity_override to restore the old behavior in which inactive_opacity has higher priority than _NET_WM_OPACITY.
* Feature: Issue #35, Add colored shadowsRichard Grenville2012-09-111-3/+46
| | | | | | | - Use getopt_long() instead of getopt() for argument parsing, making long options possible. - Add support of colored shadows with 3 commandline switches.
* Bug fix: Issue #36: Chromium window painting problemsRichard Grenville2012-09-111-24/+205
| | | | | | | | | | | | | More descriptions on issue #36. - Listens ShapeNotify event to get around the Chromium window painting issues. - Adds dependency on X Shape extension. - Adds a few functions for convenience, so a bit code clean up. - Better event debug support, adds restack_win() debug.
* Bug fix: Issue #38, fixes painting specially-shaped semi-transparent windowsRichard Grenville2012-09-111-0/+4
| | | | Fix taken from xcompmgr.
* avoid allocating a new win struct if possibleChristopher Jeffrey2012-09-081-5/+4
|
* add richardgv's patch. see #31.Christopher Jeffrey2012-09-081-0/+5
|
* apply patch from richardgv. fixes #5.Christopher Jeffrey2012-09-071-1/+3
|
* rename, refactor again.Christopher Jeffrey2012-06-031-9/+9
|
* refactor, renameChristopher Jeffrey2012-06-031-48/+49
|
* Fixed a (very) small 'bug' in the usage text, -f wasn't printed on a new line.Tim van Dalen2012-03-171-1/+1
|
* stop listening for property events on client window after unmapChristopher Jeffrey2012-02-281-0/+5
|
* minor changesChristopher Jeffrey2012-02-271-62/+44
|
* reorganize treeChristopher Jeffrey2012-02-271-0/+2604