Yuxuan Shui
f519ee53c1
Remove support of Xdbe
...
--dbe does not seem to have an effect on tearing, as noted in the old
manpage, and confirmed by my own testing.
So remove it, since it complicates the logic of painting.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-25 23:32:10 +01:00
Yuxuan Shui
1f95c74a68
Move struct win to win.h
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-25 23:32:10 +01:00
Yuxuan Shui
0686300013
Move some common functions to utils.h
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-25 23:32:10 +01:00
Yuxuan Shui
e13bc7fc51
Move common types to types.h
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-25 23:32:10 +01:00
Yuxuan Shui
3ffc0c77ed
Replace get_alpha_pict with get_alpha_step
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-25 23:32:10 +01:00
Yuxuan Shui
16f202f4a0
Fix build when opengl is disabled
2018-10-25 23:31:57 +01:00
Yuxuan Shui
df63cab39a
Print messages about removed options
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-24 11:10:35 +01:00
Yuxuan Shui
db700f9be1
Fix OOB when the number of screens change
2018-10-22 15:38:45 +01:00
Yuxuan Shui
0b866fb17f
Hot fix: trail when moving windows around
...
Call win_on_factor_change when window is moved. This does some
duplicate work, but fix the problem for now.
2018-10-16 17:16:18 +01:00
Yuxuan Shui
4094d8b9c4
Add initial meson build scripts
2018-10-15 00:38:21 +01:00
Yuxuan Shui
aa2098eefd
Move w->bounding_shape to local coordinates
...
This way we don't need to update the bounding region after window moves.
Also add some comments about the coordinate systems in compton.
Also change a few function that takes a `bool global` parameter to
always return region in local coordinates.
2018-10-13 01:24:52 +01:00
Yuxuan Shui
4f071ffc30
Fix infinite recursive calls
...
win_rounded_corners is called by win_updated_bounding_shape, so there is
no need for the former to call the later.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-12 23:37:02 +01:00
Yuxuan Shui
bbb73fe64e
Fix integer overflow
...
`x + wid` will convert x to unsigned first, if x < 0, integer overflow
could occur.
2018-10-12 23:17:12 +01:00
Uli Schlachter
9bb3327549
Die when the X11 connection breaks
...
With libX11, the library calls an I/O error handler if the connection to
the server breaks. The default I/O error handler prints an error message
and calls exit(). This can be seen when running a "pre-xcb" compton
against Xephyr and then closing the Xephyr window:
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":1"
after 241 requests (241 known processed) with 0 events remaining.
The current compton would just continue running. After this commit, it
instead exits with this message:
handle_queued_x_events(): X11 server connection broke (error 1)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:54:05 +01:00
Uli Schlachter
1c1adc96c8
Change event masks to XCB defines
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:54:05 +01:00
Uli Schlachter
37ef9c5b8a
Add the xcb_connection_t to session_t
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-10 10:54:00 +01:00
Uli Schlachter
54807342f4
Convert XQueryTree to XCB
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:50:00 +01:00
Uli Schlachter
6c6156932f
Convert find_client_win() to XCB
...
This function was the only caller of wid_get_children() which called
XQueryTree().
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:50:00 +01:00
Uli Schlachter
b2bfbcdfb0
Convert XGetAtomName to XCB
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-10 10:49:52 +01:00
Uli Schlachter
ca148c8f15
Fix printf format with DEBUG_EVENTS
...
Xlib uses unsigned long for XIDs, but xcb always uses uint32_t. Thus,
this needs the format string for uint32_t now.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:46:39 +01:00
Uli Schlachter
7e71f46401
Convert XInternAtom to XCB
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-10 10:46:34 +01:00
Uli Schlachter
2da0ecdf66
Convert XSelectInput() to XCB
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-10 10:42:12 +01:00
Uli Schlachter
1b1b3456bc
Convert XGetSelectionOwner to XCB
...
This also fixes a memory leak: buf was not freed if another composite
manager was already running.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
2dc90e7d4d
Convert XGetInputFocus to XCB
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
8db6473d32
Convert property management to XCB
...
I removed the error checking in compton.c because it was dead code.
XChangeProperty() always returns 1.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
a192bfb130
Replace XSetSelectionOwner with XCB
...
Note that the argument order is different between Xlib and XCB.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
0cae42faaa
Replace XDestroyWindow with xcb_destroy_window
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
e30ff25dd3
Replace XClearArea with xcb_clear_area
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
28e9488e25
XCBify XCreateGC and XFreeGC
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
b86190452c
XCBify X{Ung,G}abServer
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Uli Schlachter
3c5d7555a4
XCBify X{Unm,M}apWindow
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-10 10:41:40 +01:00
Yuxuan Shui
6a8df0ada7
Fix a leak of XFIXES regions
2018-10-09 22:24:00 +01:00
Yuxuan Shui
7b755a3cf0
Fix typo in CONTRIBUTORS, move licenses around
...
Having a LICENSE file makes github happy
2018-10-03 22:24:12 +01:00
Yuxuan Shui
ee318582f5
Sort out license problems
...
IANAL, but I think I am allowed to add missing copyright notices for
someone else. And I did my best job using git history to figure out who
wrote which functions. So I hope everything is fine.
2018-10-03 22:14:51 +01:00
Yuxuan Shui
9e1422dc90
Fix parsing of shadow-exclude-reg
...
Closes #13
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-03 18:20:40 +01:00
Yuxuan Shui
f1872c4033
Allocation for xinerama_scr_regs used wrong size
...
Should be sizeof(region_t). Rebasing is hard :(
2018-10-03 16:19:48 +01:00
Yuxuan Shui
2a4fed50f4
Use libev for inputs and timeouts
...
Bugs:
* There seems to be a noticeable frame loss when window
is being opened/closed. But the same problem also exists
in master/next, so this is not a regression.
* Using --sw-opti and --benchmark at the same time causing
compton to draw more frequently than permitted by the
arguments. That is because the sleep interval calculation
is flawed. Not really a regression either.
Verified still working:
* Usual painting
* Fade
* Benchmark mode
* --sw-opti (with or without benchmark mode)
* DBus
* Unredir delay
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-10-03 01:05:32 +01:00
yshui
e58de49d7a
Merge pull request #10 from psychon/remove-xfixes
...
Some more trivial Xlib -> XCB conversions
2018-10-02 21:38:28 +01:00
Yuxuan Shui
d917ec22a8
Fix a typo in conversion to xcb damage
2018-10-02 21:25:09 +01:00
Uli Schlachter
385ba2cdf6
Remove unused definition
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-02 19:56:47 +02:00
Uli Schlachter
cad786c025
Remove include of X11/Xutil.h
...
It doesn't seem to cause any problems. Perhaps its uses were already
converted to XCB?
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-02 19:54:20 +02:00
Uli Schlachter
bc7767e086
Replace Xlib atom constants with XCB ones
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-02 19:53:28 +02:00
Uli Schlachter
b2d947a19a
Remove include of Xfixes.h
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-02 19:51:37 +02:00
Uli Schlachter
91468c3622
Replace BadRegion with XCB_XFIXES_BAD_REGION
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-02 19:51:30 +02:00
Uli Schlachter
7c174cc3b1
Replace XserverRegion with xcb_xfixes_region_t
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-10-02 19:50:27 +02:00
Yuxuan Shui
cb4bab1cf6
Print deprecation warning for removed OpenGL options
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-09-30 21:07:29 +01:00
Yuxuan Shui
03f33ed45c
Move a couple X related functions to x.c
...
Also replace remaining Pixmap with xcb_pixmap_t
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-09-30 20:57:42 +01:00
Yuxuan Shui
ddab20176b
Fix building with ENABLE_XRESCHECK=1
2018-09-30 20:43:34 +01:00
Yuxuan Shui
18022181ee
Make sure to clear the rectangles
2018-09-30 20:41:30 +01:00
Yuxuan Shui
6a41bebfa5
Just clear shadow anyways
...
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-09-30 20:12:06 +01:00