Commit Graph

1440 Commits

Author SHA1 Message Date
645f3fc5e9 Added Installation instructions in README.md
Added AUR link and manual build and installation instructions in README.md
2020-08-02 23:36:01 +02:00
67c35158bd Added PKGBUILD 2020-08-02 23:28:26 +02:00
535354d9a3 Update picom.sample.conf 2020-08-02 23:11:17 +02:00
jon
d718c94a21 updated readme, uploaded bloated GIF 2020-07-14 18:38:25 +02:00
jon
0375dad5d1 Added New Backend Dual Kawase Blur + Rounded Corners - merged with Ibhagwan 2020-07-14 18:04:45 +02:00
jon
d6bc68146b change some default params, and updated readme 2020-07-10 22:51:30 +02:00
jon
9ce9026e52 Updated Readme 2020-07-08 20:03:08 +02:00
jon
feb9e222e5 high refresh rate movement 2020-07-07 21:26:27 +02:00
jon
5d1276a58a patching in animations 2020-07-07 18:43:55 +02:00
51fdb8bcaa Implement animations
Squashed all the stuff:

init

Update README.md

options

performance

Animation no longer jumps if started in the middle of an animation

Doubled default transition length

Minor bugfix, preformance

Track x and y separately to aviod jumping in mid-animation repositioning

Added video to readme

docs

docs

fixed graphical glitch with non-transparent windows

now animates window scaling too (but only if the window grows)

added options for size transitions

and actually respect the new options..

and actually respect the new options..

added center-spawn option

added center-spawn-screen option

fixed center spawn

added no-scale-down

goofed

remember old windows

remember old windows

docs

fixed shadow

fixed shadow

fixed shadow

fixed shadow

lost no-scale-down due to revert

lost spawn-center due to revert

Fixed #2

fix missing window borders
2020-06-25 18:04:32 +02:00
fd6ff8264c Merge pull request #422 from jbeich/dragonfly
Unbreak build on DragonFly and OpenBSD
2020-06-06 15:14:14 +01:00
38b9d41f46 Merge pull request #423 from orbea/man
meson: Respect mandir.
2020-06-06 15:12:18 +01:00
00a0d27007 Merge pull request #424 from orbea/compton
meson: Allow building without compton compat.
2020-06-06 15:11:48 +01:00
c2d8072343 meson: Respect mandir. 2020-05-28 07:24:37 -07:00
b74f9d7616 meson: Allow building without compton compat. 2020-05-28 07:05:05 -07:00
78223caea3 build: make Meson treat kqueue conditional as one
src/meson.build:82:3: ERROR: Unknown statement.
2020-05-28 10:07:58 +00:00
0b377537ec backend: gl_common: no need to store maximum viewport size
Just get it from GL_MAX_VIEWPORT_DIMS

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-24 19:14:35 +01:00
77d733f521 Merge pull request #389 from tryone144/glviewport-max
gl_common: Set `glViewport()` once at startup
2020-04-24 19:09:52 +01:00
74094e3c04 gl_common: Remove superfluous calls to glViewport
Call `glViewport()` once when initializing the backend with the maximum
supported dimensions. Since all shaders are equipped with the
corresponding projection matrix, the viewport does not have to be
updated prior to each draw call.

Related: a7bd48f5ab
2020-04-24 14:40:24 +02:00
553783869a gl_common: Wrong viewport in gl_average_texture_color()
Set viewport in `gl_average_texture_color()` to global `vp_width` and
`vp_height` as the projection matrix has been initialized to these dimensions
as well.

Related: a7bd48f5ab
2020-04-24 14:40:04 +02:00
b94fe5271c Merge pull request #388 from tryone144/glviewport-max
gl_common: set `glViewport()` to maximum supported size
2020-04-23 20:31:31 +01:00
a7bd48f5ab gl_common: set glViewport() to maximum supported size
- Query maximum supported dimensions of `glViewport()` when initializing
so we don't have to worry about differently sized textures when
rendering (usually the same as the maximum supported texture size, but
dependend on the driver).
- Set projection matrix in all shaders at startup to queried viewport
dimensions. Allows using screen coordinates for all vertex positions
without having to keep track of framebuffer dimensions.
- Follow recommendations and set `glViewport()` to queried maximum dimensions
for each draw call (`glDraw*()`, `glClear()`).

Related: #349
2020-04-23 20:30:41 +01:00
da2b824aa6 backend: remove unneeded check for NVIDIA driver
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-22 20:24:15 +01:00
30dfc8e0ac driver: enable xrender-sync-fence on NVIDIA driver
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-22 20:20:22 +01:00
cbe34158f3 core: create a xsync fence always
xrender-sync-fence might be enabled after init because of driver
detection. Instead of creating it on demand, just always create it as
this is simpler.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-22 20:17:31 +01:00
adeb09b775 driver: allow apply_driver_workaround to set options
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-22 20:13:18 +01:00
0efdb6c2d9 backend: glx: tentatively enable glFinish for NVIDIA
We use the __GL_YIELD=usleep workaround when we detect the NVIDIA
driver, so we could use glFinish without the NVIDIA driver taking all
the CPU.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-22 18:05:04 +01:00
7043b2da5e meson.build: Bump version number
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-21 19:35:10 +01:00
d1f4969fc1 render: move argb_fbconfig to struct session
Because it needs to be cleared when we reset, so we don't use a freed
fbconfig across reset.

Related: #381

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-20 19:10:53 +01:00
754531ea2e opengl: clear fbcfg in free_paint_glx
So we don't reuse the old, freed fbcfg across reset.

Related: #381

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-20 19:05:58 +01:00
701eb0a2f3 opengl: release context in glx_destroy
GLX context is not destroyed immediately after calling
glXDestroyContext. It is only destroyed when it's no longer
being used. So make sure to release the context

Fixes #381

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-20 05:33:26 +01:00
17831a7be3 config: remove xrender-sync
Deprecated since v5

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:17:30 +01:00
bcb1ef1654 config: remove the --dbe command line option
Deprecated since v4

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:15:27 +01:00
9c4b8334ad config: remove the --paint-on-overlay option
Deprecated since v4

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:15:21 +01:00
6d86d50213 config: remove deprecation message for glx-use-copysubbuffermesa and glx-copy-from-front
Deprecated since v3, removed since v6

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:12:15 +01:00
9767b4da5a config: remove -S command line option
Deprecated since v5

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:04:31 +01:00
4be0d002a5 config: remove the no-name-pixmap option
Deprecated since v5

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:02:34 +01:00
7eb5c39f21 config: remove the -d command line option
Deprecated since v5

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:01:13 +01:00
6828f24454 config: remove the alpha-step option
Deprecated since v5

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:01:02 +01:00
b063e9a3be win: mark_client: print slightly more info in error logs
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:01:00 +01:00
8759fc6460 event: destroy: set pending_updates after mark window CLIENT_STALE
Fixes test failure in test issue299

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:53:37 +01:00
7e29bb85e7 Update CONTRIBUTORS
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:47:07 +01:00
4d55bc8dbe win: assert server is grabbed in win_recheck_client
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:40:50 +01:00
f8f1758137 win: demote log_error in win_clear_flags
Flags might be cleared on a destroyed window, if it's set because of an
event received before the window is destroyed.

Eventually we want to delay the handling of destroy notify as well.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:39:23 +01:00
018294a65c event: destroy: delay client recheck on destroy notify
Mark it CLIENT_STALE and clear the client instead of recheck it
immediately. It's better to recheck when we have the server grabbed.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:35:21 +01:00
e15731f6cb event: reparent: make sure windows are destroyed when they are reparented
Make sure the window struct is indeed destroyed and freed when a window
is reparented away from root. So we won't find it later and get
confused.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:23:58 +01:00
e341267e8a event: reparent: unmark client from previous frame
Don't just mark it as CLIENT_STALE. To make sure we don't later find the
old frame window as the frame of the client.

Fix assertion failure in ev_destroy_notify.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 02:16:33 +01:00
a11bc61f8d Merge pull request #377 from yshui/issue299
Fixes #299
2020-04-11 02:06:47 +01:00
3765c13baa event: reparent: mark frame CLIENT_STALE when old client detached
Related: #299

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 01:52:47 +01:00
660d16f555 win: update mode in win_on_factor_change
win_on_factor_change is called when client window changed for a frame,
in that case, the mode of the window could change.

Related: #299

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 01:52:47 +01:00