cbb859ba3c
Fix non-OpenGL build
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-06-06 07:40:32 +01:00
a18e8fcdf0
Destroy glx context created for vsync
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-06-06 07:33:07 +01:00
5e8d6bdc2d
Don't destroy glx if it's not initialized
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-06-06 07:27:30 +01:00
b947a45d71
backend_common: add blur kernel generation functions
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-06-06 06:56:21 +01:00
b79266694b
Add documentation for the new blur options
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-06-01 01:59:23 +01:00
82b9822fd0
config: introduce new syntax for blur options.
...
Parsing only, not used yet.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-06-01 00:39:00 +01:00
4a74b4f199
Move default values of options to config.c
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-27 23:00:12 +01:00
b7bb13dc59
README: mention git submodule in Build section
...
Fixes #179
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-25 00:13:47 +01:00
c0053d1c8a
core: delay focus updates
...
Delay focus updates until critical section. Rational is that focus
events might arrive when the focused window hasn't been managed by
compton, result in that that window not being focused.
This commit makes compton mark focus update events, and only update
focus in critical section, after we managed all the new windows.
Fixes #177
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-25 00:06:41 +01:00
7d8a3e09be
core: just enable track_focuse
...
It's not an intensive task.
Simplifies logic.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-25 00:02:25 +01:00
57f4a99940
win: fix focuse tracking
...
Call win_on_focus_change on previous focused window too.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 23:34:33 +01:00
a2dab52334
win: remove win_unset_focus
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 23:32:12 +01:00
98d351ecf6
win: break win_set_focused into 2 functions
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 23:15:19 +01:00
51476cafa4
dbus: simplify getting focused window
...
Remove find_focused
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 22:53:16 +01:00
20e60a87fa
recheck_focus doesn't need to return anything
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 22:40:36 +01:00
9c50bc58cb
core: don't refresh image when not using experimental backends
...
Fixes #176
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 00:12:42 +01:00
44bea480b2
Fix build on gcc < 8
...
Fixes #175
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-24 00:07:01 +01:00
094f00a048
Refresh stale image in critical section
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-22 22:38:22 +01:00
b5da914920
Mark xcb_generate_id deprecated in compton
...
x_new_id is preferred since it checks for error.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 23:23:42 +01:00
89c4527264
Update README
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 22:16:40 +01:00
357146d1c1
README: Call for testers
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 22:16:09 +01:00
b9a3b67f9c
new backend: xrender: fix INVER_COLOR_ALL
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 22:15:38 +01:00
294aae11ff
Fix xrender APPLY_ALPHA
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:22:20 +01:00
488db11f14
make sure backend_data is not null
...
... before assigning to backend_data->ops in initialize_backend()
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
3cabba6161
gl_common: don't use GL4 feature
...
glGetIntegerv(GL_NUM_EXTENSIONS) is only available since GL4.
(However glGetStringi(GL_EXTENSIONS) is available since GL3)
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
2d50d32bf7
new backend: glx: multiply color in APPLY_ALPHA
...
Because we use pre-multiplied alpha.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
80c7b2f7ec
new backend: glx: implement IMAGE_OP_APPLY_ALPHA
...
Slight change to the backend_operations::fill interface.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
18b1fc95ff
new backend: glx: reduce code duplication
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
45ead409b5
new backend: glx: fix off-by-1 in blur shader generation
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
86f4d73c22
new backend: gl_common: add support for decoupling lazy copied images
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:35 +01:00
b91888b0a3
new backend: glx: trivial refactoring
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:34 +01:00
e894105e7b
atom: fix memory leak
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:34 +01:00
7ed9f2884f
Fix build
2019-05-21 20:15:34 +01:00
18a62537ec
Add missing header file
2019-05-21 20:15:34 +01:00
cdb24ec99c
common.h: cleanup, cont.
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:34 +01:00
16ea51bbc1
common.h: more clean up
...
Remove more unused stuff.
Also removed session::xinerama_scrs, since all the information we need
is covered by xinerama_scr_regs. Convert uses of xinerama_scrs to use
xinerama_scr_regs.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:34 +01:00
a409913c5f
common.h: remove cxfree
...
Apparently XFree does take NULL.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:34 +01:00
939f2fb602
common.h: general clean up
...
Remove unused functions and definitions. Move some macros into the files
they belong.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:34 +01:00
e330464126
core: acquire X compositor selection first
...
Don't do anything with the overlay window with out the compositor
selection.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
c6a4928a45
atom: cache result of get_atom
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
76c484885d
cache: cache_get can now return error
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
93e4a53d48
cache: fix memory leak, add missing function
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
c08fd08ea4
Add a general key-value caching framework
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
be673f93c6
backend: add interfaces for readiness reporting
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
f50428a18b
core: reuse handle_new_window for pre-existing windows
...
Reduce code duplication, also handle_new_window handles damage of mapped
windows properly.
Fixes #160
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
1b00eeaf60
core: mark pre-existing window as damaged
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:33 +01:00
a40fdb86e1
core: unmap overlay window when we first acquire it
...
It used to be unmap when we receive its MapNotify, but now since we discard
events received before we grab X server, that event it lost. But it
turns out we can just unmap it when it's first created, no need to wait
for the MapNotify.
Partially fix #160
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:32 +01:00
ad8211e341
event: handle reparent to the same parent
...
When a window is reparented to the same parent again, we should just
move it to the top of the stack, instead of add it again.
Also a slight refactor restack_win.
Fixes #164
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:32 +01:00
cfbd1819ed
core: only grab X server when there indeed is new windows
...
Shouldn't grab X server for nothing.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:32 +01:00
46b8eb8d4d
core: handle configure notify of unmanaged window
...
Important for window stacking.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com >
2019-05-21 20:15:32 +01:00