Commit Graph

96 Commits

Author SHA1 Message Date
Arda Atci
367643e98a Merge branch 'yshui:next' into next 2023-08-16 05:24:15 +03:00
Maxim Solovyov
d03cb4ea24 config_libconfig: address some clang-tidy issues, run clang-format 2023-07-22 02:17:13 +03:00
Arda Atci
4d624bbee5 Merge remote-tracking branch 'yshui/next' into next 2023-06-14 22:02:43 +03:00
Yuxuan Shui
6a69cdb002 options: add a no-frame-pacing option
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-06-10 14:33:57 +01:00
Arda Atci
dc9d1fe248 Merge branch 'yshui:next' into next 2023-04-01 23:12:29 +03:00
oofsauce
6d459badbc Add corner-radius-rules configuration option
This option accepts a list of patterns and overrides the corner radii of
matching windows

Authored-by: oofsauce <alanpanayotov@gmail.com>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-04-01 11:26:10 +01:00
Arda Atci
9f14c43989 Merge pull request #18 from yshui/next
merge yshui/next
2023-02-04 05:49:58 +03:00
Maxim Solovyov
986b3c1cb3 core: drop xinerama
there are two x extensions for working with monitors (especially
multiple): xinerama and randr. xinerama is old, feature-poor and in
general isn't used anymore compared to the randr: new, feature-rich and
widely-used. for some reason we were using both of them, so let's drop
xinerama to keep things simple, clean and small. and to be modern.

the drop was done in three steps:
* first step was to replace all the xinerama-based code with the
  randr-based one and to replace or remove all the xinerama mentions;
* second step was to replace the xinerama's terminology with the
  randr's one. xinerama was referring only to the word "screen", while
  randr refers to multiple words and i think the word "monitor" is the
  most suitable for us and, hopefully, clear both to a contributor and
  to an end user;
* third step was to refactor the new randr-based code if needed and to
  address related todo's (mostly about moving related functions
  elsewhere).

all the steps were done well except addressing a leftover todo about
moving the win_update_monitor function to the x.c which wasn't done.

the xinerama-shadow-crop option was renamed to crop-shadow-to-monitor,
but it's previous name is still accepted, has effect and the
deprecation message is printed to preserve backwards-compatibility.
2023-01-29 10:51:12 +03:00
Arda Atci
223533acec fixed open window type anim, closes #12 2023-01-23 02:31:51 +03:00
Arda Atci
ad8feaad12 Merge branch 'yshui:next' into next 2022-12-05 21:07:53 +03:00
Yuxuan Shui
1271839baf options: add dithered-present option
See also 0a2cd0f14e

Related: #602

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2022-11-30 05:33:21 +00:00
Arda Atci
70c729d389 picom upto date sync with yshui, full anim support 2022-10-25 01:30:50 +03:00
Stefan Radziuk
2328b97c23 Exclude transparent-clipping-excluded windows from updating the ignored region
Transparent clipping interacts poorly with programs whose transparent
interface elements must show windows below them for functionality,
for example screenshot utilities.
2022-10-23 23:28:26 +01: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