Commit Graph

2056 Commits

Author SHA1 Message Date
Yuxuan Shui
709f0168d9 ci: build on OpenBSD
Building on OpenBSD fails currently.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-10 10:22:16 +00:00
Yuxuan Shui
726b8d0e28 Merge pull request #1188 from yukiteruamano/next
Partially fix building on OpenBSD
2024-02-10 11:21:30 +01:00
Jose Maldonado aka Yukiteru
023103c620 core: use pthread_setschedparam on OpenBSD
OpenBSD don't have support for sched_getparam(), sched_setparam(), or
sched_setscheduler() functions (yet). In this case, we need use
pthead-equivalents for real-time sched for picom. Theses changes add
this support.

Authored-by: Jose Maldonado aka Yukiteru <josemald89@gmail.com>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-10 10:18:28 +00:00
Yuxuan Shui
0f22b70705 Merge pull request #1183 from yshui/gl-leak 2024-02-09 00:43:16 +01:00
Yuxuan Shui
f265e049a8 backend: gl: don't leak resources
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-07 23:42:38 +00:00
Yuxuan Shui
a39cd94e1f Merge pull request #1179 from absolutelynothelix/inherit-shader-on-decouple 2024-02-07 13:47:53 +01:00
Yuxuan Shui
7fad0d51d7 Merge pull request #1178 from absolutelynothelix/postprocess-corner-radius-rules
Fixes #1177
2024-02-07 00:00:36 +01:00
Yuxuan Shui
9204426caf backend: gl: don't use present shader for decoupling
Present shader optionally does dithering, but that's not needed for
decoupling.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-06 22:58:39 +00:00
Yuxuan Shui
0d3d18cd88 backend: gl: remove unused field from gl_win_shader_t
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-06 13:19:49 +00:00
Yuxuan Shui
c738400058 backend: clarify what clone_image does
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-02-06 12:56:55 +00:00
Maxim Solovyov
eb39426b08 backend: gl: inherit image's inner properties in the gl_image_decouple function
Image decouple should keep all the image properies from the source
image, so shader must be copied. And there are also some internal
properties what should be inherited but wasn't.

In particular this prevents images from losing their shaders when
alpha is applied.

Fixes #1174
2024-02-06 12:54:59 +00:00
Maxim Solovyov
0ed8d0cadf picom: post-process and free the corner radius rules list
to make conditions based on non-standard atoms in this list work.
2024-02-02 17:06:18 +03:00
Yuxuan Shui
bbc657e4bc Merge pull request #984 from absolutelynothelix/fix-binding-root-back-pixmap
fix binding the root background pixmap in case of depth mismatch
2024-02-02 10:44:10 +00:00
Maxim Solovyov
839a101527 Merge pull request #1176 from Reith77/next
Update README.md (Fedora Build Dependencies)
2024-02-02 10:32:56 +03:00
Reith
5c640ac452 Update README.md
Updated README.md to include xcb-util-devel package for fedora
2024-02-02 12:17:42 +05:30
Maxim Solovyov
4a79e7b777 render: fix binding the root background pixmap in case of depth mismatch
fix the same issue in the legacy backends, see the previous commit for
details. this commit also removes the x_validate_pixmap function because
it was used only in the get_root_tile function and the fix pretty much
implies and embeds it.
2024-02-02 02:04:45 +03:00
Maxim Solovyov
a655730e49 picom: fix binding the root background pixmap in case of depth mismatch
if the root background pixmap's depth doesn't match the root window's
depth, find a suitable visual for the root background pixmap's depth and
use it instead of the root window's visual
2024-02-02 02:04:35 +03:00
Maxim Solovyov
4401666cfb x: add the x_get_visual_for_depth function
it returns the first found visual for the given depth
2024-02-01 02:31:29 +03:00
Maxim Solovyov
90f5f4ca29 fix a bunch of typos in comments 2024-01-31 06:09:28 +03:00
Yuxuan Shui
c1b4ede06e Merge pull request #1172 from yshui/nvidia-suspend
workaround for a NVIDIA driver bug, fixes #1168
2024-01-30 22:44:01 +00:00
Yuxuan Shui
238c3cc833 vblank: reset SGI_video_sync scheduler if it's getting nonsense
If resetting fails, set a flag so all future schedule calls will fail.

Fixes #1168

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-30 22:41:03 +00:00
Yuxuan Shui
0638de5c56 Update CHANGELOG.md
On a second thought, the `corner-radius-rules` is a user noticeable
behavioral change, it should be more prominent.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-30 22:40:19 +00:00
Yuxuan Shui
fdbcd15975 backend: fix clang warning
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 23:57:11 +00:00
Yuxuan Shui
bacdb919c7 Update CHANGELOG.md
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 23:56:30 +00:00
Yuxuan Shui
733113c691 Merge pull request #1171 from absolutelynothelix/corner-radius-rules-only 2024-01-29 23:53:24 +00:00
Yuxuan Shui
14a345a817 vblank: make init fallible
Improve error handling in sgi_video_sync_scheduler_init a bit.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 22:11:01 +00:00
Yuxuan Shui
5fba210ad6 vblank: make schedule fallible
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 22:07:04 +00:00
Yuxuan Shui
1bfb129985 backend: don't choose SGI_video_sync vblank if opengl is not enabled
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 21:02:36 +00:00
Maxim Solovyov
8ca66f8a00 win: allow corner-radius-rules without corner-radius
check if there is an override in corner-radius-rules even when
corner-radius is 0.
2024-01-29 23:16:51 +03:00
Yuxuan Shui
f3bdd01dc8 vblank: don't use symbols from backend/gl/glx.h
sgi video sync runs in a separate thread, we don't want to have
potential races between threads.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 17:52:44 +00:00
Yuxuan Shui
71e29c4128 Add .direnv to .gitignore
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-29 17:44:18 +00:00
Yuxuan Shui
606844c4bb Update CHANGELOG.md
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-28 21:44:19 +00:00
Yuxuan Shui
702e30df4a Update nix flake
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-22 16:51:41 +00:00
Yuxuan Shui
d87dd41f4c win: make sure window's client_win can't be XCB_NONE
This is a follow up to 81d137a3cc and
bug #704. Basically a window will have a `XCB_NONE` as `client_win` if its
previous client_win detached and then the window itself is immediately
destroyed. Because the window is destroyed we couldn't call
`win_recheck_client` so its `client_win` will remain `XCB_NONE`.

However, it turns out we have a convention of setting `client_win` to
the window itself if windows that don't have a client window. So make
sure this convention is followed even for destroyed windows.

Doesn't really fix anything, just to make sure an invariant holds.

Related: #704

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-21 19:58:29 +00:00
Yuxuan Shui
ce205d1591 win: add more debug logs for window updates
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-21 19:26:20 +00:00
Yuxuan Shui
4c4df9b918 Update CHANGELOG.md
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-21 19:26:00 +00:00
Yuxuan Shui
56da153f1c Update copyright
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-21 17:35:18 +00:00
Yuxuan Shui
81d137a3cc core: fix debug window check in paint_preprocess
Fixes #704

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-21 17:27:05 +00:00
Yuxuan Shui
6e3c86226b core: improve debug log formatting around paint_preprocess
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-21 17:26:46 +00:00
Yuxuan Shui
197b4bd396 Update CHANGELOG.md for v11 release
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-20 17:12:34 +00:00
Yuxuan Shui
4c34944d76 Update CHANGELOG.md
I forgot to mention the priviledge needed for real-time scheduling.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-18 14:18:58 +00:00
Yuxuan Shui
a73ca2dc8d Merge pull request #1162 from yshui/deprecations-11 2024-01-15 13:41:30 +00:00
Yuxuan Shui
1b8d321c45 Update CHANGELOG.md
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 22:51:09 +00:00
Yuxuan Shui
30e37dbf09 Update CHANGELOG.md
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 17:10:20 +00:00
Yuxuan Shui
dc2d7b2876 options: use of respect-prop-shadow is now an error
Deprecated in v8.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 17:06:34 +00:00
Yuxuan Shui
5e119123a7 options: use of sw-opti is now an error
Deprecated in v6, we forgot to remove it.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 17:04:58 +00:00
Yuxuan Shui
6d4eaec811 options: remove -F
Deprecated in compton, in distant history.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 16:58:56 +00:00
Yuxuan Shui
eb3a58a6b0 Add a CHANGELOG.md
The intention is we update this file as PRs are merged, so the workload
when making a new release is reduced.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 16:50:47 +00:00
Yuxuan Shui
3390494bfe Bump version number
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2024-01-14 15:53:31 +00:00
Yuxuan Shui
148e61a0b2 Merge pull request #1156 from yshui/pacing-fixes 2024-01-14 15:46:24 +00:00