Commit Graph

84 Commits

Author SHA1 Message Date
Arda Atci
f6b0b04f5b picom upto date sync with yshui, full anim support 2022-10-04 00:24:05 +03:00
Yuxuan Shui
654772b8cf config: add options window-shader-fg and window-shader-fg-rules
Used for setting custom window shaders and rules for choosing custom
window shaders.

Added a "c2_userdata_free" parameter to c2_list_free, so allocated userdata
stored in nodes can be freed.

Signed-off-by: Bernd Busse <bernd@busse-net.de>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-08-11 04:28:48 +01:00
Yuxuan Shui
a8b15f3a1b config_libconfig: resolve symlinks when setting include dir
If the config file is loaded from a symlink'd locaiton, it could be
confusing that include dir is set based on the location of the symlink
instead of the real file.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-07-14 18:30:03 +01: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
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
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
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
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
Bernd Busse
4b5cc050d5 Add clip-shadow-above configuration and wintype option
Added the new `clip-shadow-above` configuration and wintype option.
These allow the user to select windows to clip from the shadow region of
other windows, i.e. don't paint shadows on top of them.

This should provide a more useful and userfriendly alternative to the
deprecated `shadow-exclude-reg` option — especially for docks and bars.
2021-07-14 14:43:28 +02:00
Yuxuan Shui
e1bed6a84b config_libconfig: drop unnecessary warning
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-12-03 06:09:02 +00:00
Yuxuan Shui
69d4199daa Add rounded-corners-exclude configuration option
Allows the user to selectively disable rounded corners.

Authored-by: Samuel Hand <samuel.d.hand@gmail.com>
2020-11-30 00:35:40 +00:00
Samuel Hand
e20b187912 options: add corner-radius
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-11-30 00:31:52 +00:00
Yuxuan Shui
685e5a9aac config_libconfig: allow overrides if supported
Related: #530

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-10-29 09:38:05 +00:00
Bernd Busse
fb3760bbe3 config: add wintypes option blur-background 2020-10-01 23:28:05 +02:00
jialeens
7d7eef7ff4 Accept write-pid-path option from the config file
Signed-off-by: jialeens <jialeadmin@163.com>
2020-09-16 12:14:46 +01:00
Yuxuan Shui
283504d527 Remove no-dock-shadow and no-dnd-shadow
Deprecated since v4

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-08-31 18:32:14 +01:00
Bernd Busse
33c5a5a36b Add support for new blur method dual_kawase [WIP]
**Work-in-Progress**

Add `dual_kawase` to configuration and argument parsing. Allow `kawase`
for backward compatibility. Add `--blur-strength` parameter for
blur-method `dual_kawase`.

Update documentation to reflect the new blur-method and parameters.
2020-08-31 14:06:17 +02:00
Yuxuan Shui
2b677c8fc4 options: support shadow-color as a commandline option
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-08-18 02:39:43 +01:00
Yuxuan Shui
3ae21aa9a3 config: rename shadow-hex to shadow-color
It's not directly clear from the name "shadow-hex" that it's related to
color.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-08-18 02:28:01 +01:00
adelin-b
a4a7b25436 config: add shadow-hex option
This allows the user to specify the shadow color via a single option,
instead of specifying red, green and blue separately.
2020-08-18 02:18:13 +01:00
Yuxuan Shui
17831a7be3 config: remove xrender-sync
Deprecated since v5

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-11 16:17:30 +01:00
Yuxuan Shui
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
Yuxuan Shui
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
Yuxuan Shui
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
Yuxuan Shui
969cbeaf17 config_libconfig: add force-win-blend option
It use to be a command line only option.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-04-05 02:32:54 +01:00
Yuxuan Shui
7817f52cb1 Rename wintype "notify" to "notification"
"notify" is the only wintype that has a name inconsistent with its Xorg
name. So fix that.

Compatibility code is added as well, so the old "notify" wintype name
still works.

Fixes #323

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-03-07 12:15:14 +00:00
Yuxuan Shui
7eb9ee70a1 config_libconfig: fix freeing of invalid pointer
xdgh in xdg_config_home is not always allocated. This commit makes sure
it's always a valid pointer to free by strdup it.

With helps from @dtzWill

Fixes #326
Closes #327

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-03-06 05:45:20 +00:00
Yuxuan Shui
2f0b7cd992 config_libconfig: rename xdg* functions
To fit our naming convention.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-03-01 13:48:04 +00:00
Yuxuan Shui
7161296872 config_libconfig: add unit tests for xdgConfigDirectories
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-03-01 13:46:06 +00:00
Yuxuan Shui
529edce2b9 config_libconfig: eliminate relative paths from XDG_CONFIG_DIRS
According to the XDG Base Directory Specification, relative paths in
XDG_CONFIG_DIRS are invalid, so eliminate them if found.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-03-01 13:35:50 +00:00
Yuxuan Shui
6b9eddae49 config_libconfig: fix xdgConfigDirectories
Fixed 2 problems:

1. Made sure the returned list is NULL terminated.
2. Allocate the duplicated string and the return list together, so the
   duplicated string will be freed as we free the list. Fixed a memory
   leak.

Fixes #324

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2020-03-01 13:15:36 +00:00
Dylan Araps
20226f4574 picom: Drop libxdg-basedir 2020-02-25 18:18:19 +02:00
Bernd Busse
df1a852442 Add support for documented --blur-* options
Handle parsing of `--blur-method`, `--blur-size` and `--blur-deviation`
in config file and as command line options as documented in the manpage.
2020-01-17 16:25:02 +01:00
Yuxuan Shui
6a3d1354be backend: allow transparent windows to clip other windows
Transparent windows usually blends on top of other windows, this commit
adds an option to make transparent windows clip other windows like
non-transparent windows do.

Closes #265

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-11-30 21:29:07 +00:00
Rytis Karpuska
ec76c5f286 parameterize max brightness limit 2019-11-09 17:56:38 +02:00
Yuxuan Shui
ed0e686f37 rename: update config file paths
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-10-23 20:24:25 +01:00
Tasos Sahanidis
93642e537f Add --no-ewmh-fullscreen
This arg reverts to the old behaviour of checking for fullscreen
windows.
2019-07-19 14:13:41 +03:00
Yuxuan Shui
fa8faaf91d Remember the number of blur kernels
Don't count the number of blur kernels everytime.

Fixes #188

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-06-07 22:21:06 +01:00
Yuxuan Shui
abb089e605 Lift the MAX_BLUR_PASS limit
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-06-07 07:04:50 +01:00
Yuxuan Shui
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
Yuxuan Shui
0037b7e5fb Eliminate implicit conversions
Use explicit conversions everywhere. Adding bounds check assertions when
necessary.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-05-21 20:15:25 +01:00
Yuxuan Shui
dd240d0576 Deprecate --glx-swap-method
Setting glx-swap-method to value other than "undefined" and "buffer-age"
could potentially cause rendering problems. So remove them, the meaning
of the remaining options can be more precisely captured by "use-damage",
so create a new option under that name.

--glx-swap-method is deprecated in favor of the new option --use-damage.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-03-12 00:35:47 +00:00
Yuxuan Shui
17d1281594 Remove options deprecated in v3
Specifically, use --glx-copy-from-front and --glx-use-copysubbuffermesa
are now hard errors.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-03-11 23:56:58 +00:00
Yuxuan Shui
cebe1b18d6 vsync: choose vsync method automatically
Choose the best vsync method for the user, instead of asking them to
frustratingly try every one of the options to see what works.

With this commit, the `vsync` option will take only a boolean value.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2019-03-10 15:00:56 +00:00