1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-11-25 14:06:08 -05:00
Commit graph

20 commits

Author SHA1 Message Date
Yuxuan Shui
50e2259404 Remove xrender-sync and xrender-sync-fence
This was a dubious "fix" for a Nvidia driver problem. The problem was
never fully understood, and the then developers took a shotgun approach
and implemented xsync fences as a fix. Which somehow fixed the problem.
Again, I don't see any indication that the developers understood why
this "fix" worked.

(for details, see chjj/compton#152 and chjj/compton#181)

The driver problem should have been fixed almost 5 years ago. So this
shouldn't be needed anymore. In addition the way compton uses xsync fences
is apparently wrong according to the xsync spec (fences are attached to
screen, but compton uses them as if they were attached to drawables).

So, I will try removing it and see if anyone will complain. If there are
real concrete reasons why fences are needed, it will be brought back.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-28 23:36:55 +00:00
Yuxuan Shui
fcef5e706d Some cleanup work
* Remove NO_C2 option
* Split configuration related functions into their own file
* Drop support for libconfig < 1.4
* Fix dependencies in Makefile
2018-09-10 13:46:05 +01:00
Richard Grenville
50317f75c7 Misc: Add some entries to .gitignore
Misc: Add Vim swap files for unnamed buffers (".sw[a-z]") and
YouCompleteMe configuration files (".ycm_extra_conf.py{,c}") to
.gitignore.
2015-09-06 20:54:14 +08:00
Richard Grenville
1a88e3d0c5 Bug fix: GLX: ARGB texture too dark & Jitter when resize & others
- GLX backend: Fix a bug that ARGB windows / shadows are rendered too
  dark. Thanks to derhass in FreeNode/##opengl for help.

- GLX backend: Fix a problem that during window resize the content looks
  jittering, by letting compton fetch pixmap sizes with XGetGeometry()
  instead of relying on window width/height, which could be inaccurate
  during window resize. Negative effect on performance. Thanks to M4he
  for reporting. (#7)

- Add .desktop file. Thanks to quequotion for providing it. (#97)

- Avoid checking presence of window pixmap, because they may not exist
  with very old X Composite implementations.

- Add workaround for a strange window restack issue when compton
  receieves a ConfigureNotify with non-existent new above window.

- Add debugging function hexdump(). Extra sanity checks on various
  places.
2013-03-18 13:29:14 +08:00
Richard Grenville
8ffcf1c1e8 Feature: OpenGL backend
- Add experimental OpenGL backend (--opengl). --blur-background is
  currently not possible with this backend, because I'm still trying to
  find a proper way to do blur with OpenGL. Flipping backend on-the-fly
  is really hard, so it isn't supported right now. No configuration file
  option exists to enable this, because it isn't stable enough.

- Add `opengl-swc` VSync method that uses SGI_swap_control to control
  buffer swap, with OpenGL backend. (#7)

- Fix a potential read-from-freed-memory issue in paint_all().

- Correctly reattach GLX context after fork.

- Dump error text in error(). Add GLX error code handling.

- Code clean-up.

- Known issues: Region operations take a lot of time in glx_render().
  I'm hesitating about what to do.
2013-03-15 23:16:23 +08:00
Richard Grenville
218250546e Misc #86: Compatibility with BSD install
- Make Makefile compatible with BSD install, by dropping -D.

- Make CFG independent in Makefile, to allow people to specify CFLAGS
  as a parameter to make.

- Correct location of .clang_complete.
2013-02-05 16:59:36 +08:00
Richard Grenville
6d36ef2d0f Feature #16: Advanced window matching
- Add advanced window matching system, capable of matching against
  arbitrary window properties as well as a series of internal
  properties, with 4 additional operators (>, <, >=, <=) useful for
  integer targets, and support of logical operators. The old matching
  system is removed, but compatibility with the format is retained.

- As the new matching system is pretty complicated, and I have no past
  experience in writing a parser, it's pretty possible that bugs are
  present. It also has inferior performance, but I hope it doesn't
  matter on modern CPUs.

- It's possible to disable matching system at compile time with NO_C2=1
  now.

- Add ps->o.config_file to track which config file we have actually
  read. Queryable via D-Bus.

- Parse -d in first pass in get_cfg() as c2 needs to query X to get
  atoms during condition parsing.

- Fix a bug in wid_get_prop_adv() that 0 == rformat is not handled
  correctly.

- Fix incompatibility with FreeBSD sed in dbus-examples/cdbus-driver.sh
  .

- Add recipe to generate .clang_complete in Makefile, used by Vim
  clang_complete plugin.

- Add DEBUG_C2 for debugging condition string parsing. DEBUG_WINMATCH is
  still used for match debugging.

- Rename win_on_wdata_change() to win_on_factor_change().

- Extra malloc() failure checks. Add const to matching cache members in
  session_t. Code clean-up. Documentation update.
2013-01-28 21:39:38 +08:00
Richard Grenville
e912fcde7b Feature #51: Re-initialize when SIGUSR1 is received
- Create a session_t structure, to get rid of most global variables and
  let information pass in/out mostly through parameters. Huge changes,
  so bugs may very well appear. I'm worried about resource leakages, in
  particular.

- Add gcc attributes on various functions.

- Add Doxygen configuration.

- Replace much Xlib Bool with C99 bool.

- Add and adjust some comments.

- Drop unused parameters from some functions.

- Cache default Visual and Depth, mainly to shorten code.

- Rename some types, variables, and functions.

- Add win_ev_stop() and set_ignore_next() for convenience.

- Modify wid_get_prop_wintype() and wid_get_opacity_prop() to use
  wid_get_prop().

- Rename --respect-attr-shadow to --respect-prop-shadow.

- Fix a memory leak in --respect-prop-shadow.

- Many other small changes.
2012-11-19 11:44:58 +08:00
Richard Grenville
46dfd1a766 Misc: Add Asciidoc man pages
Add Asciidoc man pages. The old man page is still kept, and you need to
run "make docs" to generate the new man pages and a HTML version of it.
An Asciidoc man page for compton-trans is not added yet.
2012-11-01 12:47:15 +08:00
Richard Grenville
9b61999cae Merge branch 'master' into richardgv-dev
Merged the documentation changes. Program code unchanged.
2012-10-29 09:58:16 +08:00
Christopher Jeffrey
7ace6ca68d revert to c7ca345 2012-10-22 06:35:02 -05:00
Richard Grenville
07e4420ab4 Improvement: Pregenerate alpha pictures
Pregenerate alpha pictures to save time when painting. Add --alpha-step
to control the step of alpha picture generation (the opacity difference
between two consecutively generated alpha pictures).
2012-10-13 19:11:25 +08:00
Richard Grenville
b8f3d22a32 Misc: #49: Add CMake support
Add CMakeLists.txt to support building with CMake, as @pvanek requests.
The old Makefile system and CPackConfig.cmake are still usable. (Of
course, make sure you don't overwrite them by executing cmake.) There
must be a bunch of bugs in CMakeLists.txt. :-) Let chjj decide which one
he will choose, here I keep both.
2012-10-03 13:34:54 +08:00
Richard Grenville
ff50322b27 Misc: #49: Add CPack configuration
Add CPackConfig.cmake for generating binary packages (.tar.bz2, .deb,
.rpm) automatically. Pretty ugly, but mostly working.
CPackSourceConfig.cmake isn't ready yet.
2012-10-02 22:01:22 +08:00
Richard Grenville
a5d9955ca4 Improvement: Change window type detection
- Let window type detection start with the client window if there's one,
  in hope to enhance performance.

- Change get_wintype_prop() to fetch the property only once.

- Default to WINTYPE_UNKNOWN instead of WINTYPE_NORMAL if
  _NET_WM_WINDOW_TYPE is missing.

- Fix a mistake in calc_opacity().

- Add some items to .gitignore.

- Fix a typo in usage().
2012-09-22 20:59:26 +08:00
Richard Grenville
4861d50ca4 Misc: Add Vim swap files to .gitignore 2012-09-11 21:07:29 +08:00
Christopher Jeffrey
de8b773387 clean tree 2011-11-06 18:20:45 -06:00
James Cloos
733e29ba0e Add *~ to .gitignore to skip patch/emacs droppings 2007-09-03 05:51:17 -04:00
James Cloos
f88dba2d9c Remove deprecated .cvsignore
The repo already has a .gitignore, so just rm the old .cvsignore.

Also removed a blank line from .gitignore.
2007-08-23 21:21:52 -04:00
Tilman Sauerbeck
3f8a32b083 Added .gitignore. 2007-03-12 13:38:59 +01:00