Commit Graph

24 Commits (f092885f476fb740adc9a539baac48df11bace8e)
 

Author SHA1 Message Date
Christopher Jeffrey f092885f47 stay consistent with code style 13 years ago
Christopher Jeffrey 2f63377d4e whitespace 13 years ago
Richard Grenville 27197e24db Bug fix: Segfault when meeting FocusIn/Out from destoryed windows
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.
13 years ago
Richard Grenville 3a0ba85d3b Improvement: Use find_toplevel() to find WM frame
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.
13 years ago
Richard Grenville a447b5d310 Improvement: Do not track focus changes unless necessary
Stop tracking focus changes unless either inactive_opacity or
inactive_dim is enabled, small performance boost in certain cases.
13 years ago
Richard Grenville 73342d1ff2 Bug fix: Issue #40: -z does not work as expected
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.
13 years ago
Richard Grenville 17b8a50161 Bug fix: Double free when XQueryTree() fails
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.
13 years ago
Richard Grenville 05b229f2a0 Bug fix: Issue #39: Render windows just mapped && focused incorrectly
More info in the issue description. This also fixes the problem for
--inactive-dim.
13 years ago
Richard Grenville 1f271c2953 Feature: Issue #2: Support dim inactive windows
- Add a switch --inactive-dim that dims inactive windows.

- The window dimming feature is implemented in a pretty ugly way.
  Improve it if possible.
13 years ago
Richard Grenville 7ab11dfa66 Debug: Enhanced debugging capability
- 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.
13 years ago
Richard Grenville 0c077a76d1 Bug fix: Segfault when encountering invalid long option
I didn't read the documentation of getopt_long() carefully.
13 years ago
Richard Grenville 00d29b0748 Bug fix: Issue #37, fix 5 opacity-related bugs
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.
13 years ago
Richard Grenville bbf35f8155 Feature: Issue #35, Add colored shadows
- Use getopt_long() instead of getopt() for argument parsing, making
  long options possible.

- Add support of colored shadows with 3 commandline switches.
13 years ago
Richard Grenville f7bf27f838 Bug fix: Issue #36: Chromium window painting problems
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.
13 years ago
Richard Grenville fe811d6451 Bug fix: Issue #38, fixes painting specially-shaped semi-transparent windows
Fix taken from xcompmgr.
13 years ago
Christopher Jeffrey 4f11c53a6d avoid allocating a new win struct if possible 13 years ago
Christopher Jeffrey e29714d41d add richardgv's patch. see #31. 13 years ago
Christopher Jeffrey c10cd64f1f apply patch from richardgv. fixes #5. 13 years ago
Christopher Jeffrey b42eee1ef3 rename, refactor again. 13 years ago
Christopher Jeffrey 8610fd1f02 refactor, rename 13 years ago
Tim van Dalen 02a5747f34 Fixed a (very) small 'bug' in the usage text, -f wasn't printed on a new line. 13 years ago
Christopher Jeffrey 85de312fe7 stop listening for property events on client window after unmap 13 years ago
Christopher Jeffrey 614a1deb9e minor changes 13 years ago
Christopher Jeffrey d634640199 reorganize tree 13 years ago