Commit Graph

1178 Commits

Author SHA1 Message Date
Yuxuan Shui
f8914dda23 backend: gl: apply postprocessing to border_color
Previously postprocessing is omitted when estimating the color of the
border (e.g. dimming, opacity, inversion, etc.), causing the border to
be drawn with the wrong color.

Related: #770

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-13 13:54:25 +00:00
Yuxuan Shui
e63ec3fd16 backend: gl: fix corner being drawn with wrong color
The outer pixels of the corner are drawn with antialiasing, but it color
used for antialiasing is wrong. The estimated border color is used when
there is actually no border.

Related: #770

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-13 13:49:45 +00:00
Yuxuan Shui
ea2ba58efd backend: gl: don't fill window with big border_width
If a window's border_width is bigger than its corner_radius, the inner
radius of the border become less than 0, causing the entire window to be
filled.

Fixes #778

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-10 07:47:48 +00:00
Yuxuan Shui
01649b68b9 backend: don't trust device_status after a reset
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-08 10:31:41 +00:00
Yuxuan Shui
e17eaefb89 backend: handle device reset
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-08 10:31:41 +00:00
Yuxuan Shui
a383dc1cdd backend: add new optional API: device_status
This is meant to be used to detect GPU resets.

Implemented in the glx backend using the GL_ARB_robustness extension.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-08 10:31:41 +00:00
Yuxuan Shui
4c5d6a19cd dbus: add signal named according to dbus naming conventions
Some code generators don't work well with signal names not in
UpperCamelCase. (e.g. https://dbus.pages.freedesktop.org/zbus)

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:02:08 +00:00
Yuxuan Shui
95dcc02d9c dbus: add Type property to window objects
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:02:06 +00:00
Yuxuan Shui
de434f7b1f config_libconfig: add dbus option
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:02:03 +00:00
Yuxuan Shui
cb6ea3f567 dbus: follow dbus naming conventions
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:00:37 +00:00
Yuxuan Shui
0f3926b912 dbus: add mappepd property to windows
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:00:36 +00:00
Yuxuan Shui
3bebcca7b4 dbus: add name property to windows
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:00:34 +00:00
Yuxuan Shui
dfc10da57a dbus: add some properties to window objects
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:00:33 +00:00
Yuxuan Shui
764990ade4 dbus: expose windows as dbus objects
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-02-04 16:00:29 +00:00
yshui
0ad6685614 Merge pull request #768 from yshui/deprecation-chore 2022-01-27 10:42:25 +00:00
Yuxuan Shui
f4c4bdb33d dbus: properly handle object path
Previously we reply to requests sent to _any_ object path, even though
we only declare /com/github/chjj/compton. This commit makes sure we only
reply to request sent to the right path.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-27 02:28:37 +00:00
Yuxuan Shui
b4e0e6128c dbus: fix win_get with "id"
The target name got changed to "base.id" by accident.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-27 01:19:31 +00:00
Yuxuan Shui
c3fb9ef017 core: don't crash when binding root pixmap failed
Fixes #767

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-25 00:15:15 +00:00
Yuxuan Shui
b65c8c775f Report error for setting vsync to non-boolean values
This is deprecated since v5, but we forgot to change this to error in
v8.

Doing it now.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:49:18 +00:00
Yuxuan Shui
73f66c7d5d Formally deprecate --menu-opacity
It was deprecated in v4, but warning message wasn't printed for
specifying it on the command line.

Properly deprecate it now.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:44:31 +00:00
Yuxuan Shui
4fbaaca0d6 Remove error message for no-dock-shadow and no-dnd-shadow
Deprecated since v4.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:40:39 +00:00
Yuxuan Shui
4532187c34 config_libconfig: reuse the deprecation message
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:38:32 +00:00
Yuxuan Shui
bcbc410c92 Deprecate the refresh-rate options
It's meaningless without the sw-opti option, which has been deprecated
since v6.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:35:45 +00:00
Yuxuan Shui
183e83cf11 Remove error message for --xrender-sync
Deprecated in v5.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:25:22 +00:00
Yuxuan Shui
c75c55d379 Remove error message for --no-name-pixmap
Deprecated since v5.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:23:47 +00:00
Yuxuan Shui
74ab086c70 Remove error message for -d and -S
Deprecated since v5.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:22:53 +00:00
Yuxuan Shui
d17c915acd Remove error message for --alpha-step
Deprecated since v5.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:20:42 +00:00
Yuxuan Shui
03dc98d47d Remove error messages for --dbe and --paint-on-overlay
Deprecated since v4.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:19:15 +00:00
Yuxuan Shui
f8424646a5 Remove the glx-swap-method option
Deprecated since v6.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:16:15 +00:00
Yuxuan Shui
1e757dcfad Remove the vsync-aggressive flag
Deprecated since v6.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:16:13 +00:00
Yuxuan Shui
e0642763b6 Remove the glx-use-gpushader4 options
Deprecated since v6.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:16:10 +00:00
Yuxuan Shui
51da5d3ad4 Formally deprecated the sw-opti option
It was deprecated in v6, but wasn't formally deprecated back then (e.g.
no warnings were printed for it). So formally deprecate it here.

This also left the refresh-rate option unused, so that will be
deprecated too.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 18:15:06 +00:00
Yuxuan Shui
e50be3173f backend: remove the read_pixel interface.
Sample the border color in the shader instead.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 17:34:38 +00:00
Yuxuan Shui
ef73668eb9 backend: gl: fix read_pixel
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 17:34:37 +00:00
Yuxuan Shui
4aac801a12 backend: gl: draw border for rounded windows
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 17:34:36 +00:00
Yuxuan Shui
b6c14989e1 backend: gl: trivial refactoring
* unifm -> uniform
* add macro for storing uniform locations

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 17:34:34 +00:00
Yuxuan Shui
b7df820ff2 backend: add new property: BORDER_WIDTH
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 17:34:33 +00:00
Yuxuan Shui
ffe1b79881 backend: add new property: BORDER_COLOR
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-01-24 17:34:29 +00:00
Bert Gijsbers
494cb4b85d Fix all misspellings of _NET_WM_WINDOW_OPACITY. 2022-01-12 22:59:31 +01:00
ktprograms
4dfb979c52 Fix segfaults on 32bit arch with --log-level=debug
There were a few improper uses of %ld for 64 bit numbers, as well as
some other 32 bit related warnings that I've fixed.

Signed-off-by: ktprograms <ktprograms@gmail.com>
2021-11-25 10:52:31 +00:00
Yuxuan Shui
1c7a4ff5a3 backend: xrender: fix clone_image
We were using default_clone_image, but:

1) it's copying the wrong type, xrender_image has an extra member.
2) it doesn't clone the rounded corner cache properly, that has to be
   separately reference counted.

Reported-in: #728
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-11-20 01:27:24 +00:00
yshui
6555703b03 Merge pull request #716 from yshui/new-backend-rounded-corner-1
New backend rounded corner, part 1
2021-11-08 12:14:56 +00:00
Yuxuan Shui
8eb5bb08f8 backend: explicitly initialize corner_radius
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-11-08 00:23:45 +00:00
Yuxuan Shui
ffb8bc5b29 backend: xrender: fix accidentally deleted refcount decrement
Thanks, @tryone144

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-11-08 00:23:36 +00:00
Tuomas Kinnunen
6bf0478d29 allow dots (.) in condition targets 2021-10-31 23:23:13 +00:00
Rafael Kitover
062f50af39 Fix lack of timespec_get() on Android.
Some versions of the Android libc do not have timespec_get(), use
clock_gettime() instead on Android.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2021-10-29 18:42:22 +00:00
Yuxuan Shui
1dea294051 backend: xrender: cache rounded rectangle mask
xcb_render_triangle is slow because (at least for Glamor) it's
rasterizing the triangles on CPU.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-10-25 13:48:45 +01:00
Yuxuan Shui
76db8cca06 backend: xrender: handle corner radius
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-10-25 13:46:45 +01:00
Yuxuan Shui
d397b307dd backend: set corner radius property
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-10-23 12:53:17 +01:00
Yuxuan Shui
6d72bf2974 options: don't disable rounded corner for new backends
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-10-23 12:53:12 +01:00