diff options
author | Richard Grenville <[email protected]> | 2013-03-23 22:06:41 +0800 |
---|---|---|
committer | Richard Grenville <[email protected]> | 2013-03-23 22:06:41 +0800 |
commit | e9ea554fa6f246cc17e578bb3af4c1f9847e57ad (patch) | |
tree | dc321f8cadb20119beab0e2fa0e11f59b3bcc696 /common.h | |
parent | 8fdb6e49c387e729cc2ea7bb0ce55a3a53c36cd2 (diff) | |
download | tdebase-e9ea554fa6f246cc17e578bb3af4c1f9847e57ad.tar.gz tdebase-e9ea554fa6f246cc17e578bb3af4c1f9847e57ad.zip |
Improvement: --blur-background-exclude #98 & MESA_swap_control & others
- Add --blur-background-exclude. (#98)
- Add `opengl-mswc` VSync, which uses MESA_swap_control instead of
SGI_swap_control. I don't expect it to perform better than
SGI_swap_control, though.
- Update CMakeLists.txt .
- Add a few targets for D-Bus `win_get`. Misc changes.
- Known issue: Apparently I've forgotten implementing --inactive-dim on
GLX backend... Silly me.
Diffstat (limited to 'common.h')
-rw-r--r-- | common.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -260,6 +260,7 @@ typedef enum { VSYNC_OPENGL, VSYNC_OPENGL_OML, VSYNC_OPENGL_SWC, + VSYNC_OPENGL_MSWC, NUM_VSYNC, } vsync_t; @@ -280,6 +281,7 @@ typedef Bool (*f_GetSyncValuesOML) (Display* dpy, GLXDrawable drawable, int64_t* typedef Bool (*f_WaitForMscOML) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc); typedef int (*f_SwapIntervalSGI) (int interval); +typedef int (*f_SwapIntervalMESA) (unsigned int interval); typedef void (*f_BindTexImageEXT) (Display *display, GLXDrawable drawable, int buffer, const int *attrib_list); typedef void (*f_ReleaseTexImageEXT) (Display *display, GLXDrawable drawable, int buffer); @@ -443,6 +445,8 @@ typedef struct { /// Whether to use fixed blur strength instead of adjusting according /// to window opacity. bool blur_background_fixed; + /// Background blur blacklist. A linked list of conditions. + c2_lptr_t *blur_background_blacklist; /// How much to dim an inactive window. 0.0 - 1.0, 0 to disable. double inactive_dim; /// Whether to use fixed inactive dim opacity, instead of deciding @@ -624,6 +628,8 @@ typedef struct { f_WaitForMscOML glXWaitForMscOML; /// Pointer to glXSwapIntervalSGI function. f_SwapIntervalSGI glXSwapIntervalProc; + /// Pointer to glXSwapIntervalMESA function. + f_SwapIntervalMESA glXSwapIntervalMESAProc; /// Pointer to glXBindTexImageEXT function. f_BindTexImageEXT glXBindTexImageProc; /// Pointer to glXReleaseTexImageEXT function. @@ -821,6 +827,7 @@ typedef struct _win { const c2_lptr_t *cache_fblst; const c2_lptr_t *cache_fcblst; const c2_lptr_t *cache_ivclst; + const c2_lptr_t *cache_bbblst; // Opacity-related members /// Current window opacity. @@ -880,6 +887,9 @@ typedef struct _win { /// Override value of window color inversion state. Set by D-Bus method /// calls. switch_t invert_color_force; + + /// Whether to blur window background. + bool blur_background; } win; /// Temporary structure used for communication between |