The changes for the GTK 4 theme seem to be backwards compatible, and
small enough to not require version specific theming (at least at
4.6). Based on comments from developers, this shouldn't change in the
future either. Drop the versioning support, and only ship single
theme, to simplify both maintenance and building.
This is not necessary in Arc, since the trough doesn't have a border.
This also fixes a Gtk-WARNING due to the progress elements reporting
negative min width/height.
Using 'to-pixdata' in gresources has been deprecated since gdk-pixbuf
version 2.32 [1]. Using it also requires having 'gdk-pixbuf-pixdata'
command available on the build environment, which may be part of
various different packages split from gdk-pixbuf depending on
distribution, and is therefore difficult dependency to document.
[1] https://developer-old.gnome.org/gio/unstable/GResource.html
Since the stylesheet targets were not stored in an array, only the
main variant stylesheet target was a dependency for the theme
gresource. This could result the build to fail, if the dark
stylesheet was not generated in time.
Fixes: https://github.com/jnsh/arc-theme/issues/170
The filesystem Meson module, that is used since [1], has only been
available starting from meson version 0.53.0. That should be recent
enough for most notable LTS distributions as well.
[1] 3421f0ec49
Cinnamon doesn't really have a non-transparent variant, since large
part of the UI elements are drawn using SVG assets, and therefore
the transparency can't be easily switched off. Always enable
transparency for the generated CSS as well. This was accidentally
changed in commit a7f60904f8.
Mainly to prepare for having prerendered assets in future release
tarballs, it is necessary and cleaner to have the asset files in
a subdir. This also tidies up the main gtk4 meson.build file
slightly.
Mainly to prepare for having prerendered assets in future release
tarballs, it is much cleaner to have the asset files in a subdir.
This also tidies up the main gtk3 meson.build file slightly.
Assets are not specific to certain variant, but can be used with any
variant, so it makes more sense to have them separate from the
variant-specific gtkrc files.
To keep support for meson <0.55.0. This causes some configure output
spam, and therefore should be reverted whenever the target
meson_version gets bumped.
Fixes: https://github.com/jnsh/arc-theme/issues/166
Python's shutil.copyfile fails with FileExistsError when copying
symbolic links, if the link already exists in the destination
directory. Work around this by removing the old symlink first in
such situations.
In some situations Meson's own file installation capabilities aren't
sufficient, e.g. when generated file must be renamed during install.
Previously those cases were handled by invoking 'sh' to execute the
'install' program.
The problem was that different operating systems may have different
'install' program, that handles command line options differently
from GNU install (e.g. https://github.com/jnsh/arc-theme/issues/112).
Additionally, invoking 'sh' for every single file resulted in flood
of "Program sh found" messages in 'meson setup' output.
Install files with the added custom python script from now on, to
circumvent these issues.
These shouldn't be useful for up-to-date distributions (some LTS
distributions still have 3.22, but they also ship with meson version
too old for building the theme). In case it was necessary, the 3.24
theme should also work without major issues with 3.22 and 3.20.
Fixes the top border color for 1px border style decorations.
The remaining *_edge pieces shouldn't be necessary either, since
they should get covered by the overlay piece. However, the latter
apparently isn't always drawn in correct size, leaving right and
bottom borders hidden.
This reverts commit b2d9fb8864.
The change didn't take into consideration the possibility of someone
installing darker variant without dark variant, or lighter variant
without light variant. In those cases there would be no matching
xfwm4 themes available for those variants after installation.
Another option would installing lighter/darker variants only if the
light/dark variants aren't beign installed, but just revert this for
now instead of overcomplicating things for small space saving.
Every other Arc decorations have square bottom corners, so adopt
the same design for xfwm4. This looks more consistent with GTK
client side decorations, now used in many Xfce desktop applications.
The resize area for windows in xfwm4 only consists of the actual,
border area, and not any area outside the decorations like with many
other window managers [1]. Due to this, thin decoration borders
cause windows resizing to be difficult.
Increase border width on Arc decorations from 2px to 4px, which
should considerably improve the situation, while still keeping
the borders thin enough to fit the Arc design.
This also fixes the appearance of the outer border of dark window
decorations, where the titlebar has 1px dark border, when it is 2px
wide around rest of the window.
[1] https://gitlab.xfce.org/xfce/xfwm4/-/issues/176
Fixes: https://github.com/jnsh/arc-theme/issues/63