ahoyiski / firedecor Goto Github PK
View Code? Open in Web Editor NEWAn advanced window decoration plugin for the wayfire window manager.
An advanced window decoration plugin for the wayfire window manager.
Hi, I tried compiling and installing but it seems to not build. I don't know if I'm doing anything wrong so sorry if I'm missing something, lol
Here is the output when I run meson compile -C build
FAILED: src/libfiredecor.so.p/firedecor-subsurface.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-subsurface.cpp.o -MF src/libfiredecor.so.p/firedecor-subsurface.cpp.o.d -o src/libfiredecor.so.p/firedecor-subsurface.cpp.o -c ../src/firedecor-subsurface.cpp
../src/firedecor-subsurface.cpp:17:10: fatal error: cairo-simpler.hpp: No such file or directory
17 | #include "cairo-simpler.hpp"
| ^~~~~~~~~~~~~~~~~~~
compilation terminated.
[5/6] Compiling C++ object src/libfiredecor.so.p/firedecor-theme.cpp.o
In file included from ../src/firedecor-theme.cpp:13:
/usr/include/librsvg-2.0/librsvg/rsvg.h:125:66: warning: "/*" within comment [-Wcomment]
125 | * included through XML entities) if those files are in `/foo/bar/*` or in `/foo/bar/*\/.../*`.
|
/usr/include/librsvg-2.0/librsvg/rsvg.h:125:85: warning: "/*" within comment [-Wcomment]
/usr/include/librsvg-2.0/librsvg/rsvg.h:125:92: warning: "/*" within comment [-Wcomment]
ninja: build stopped: subcommand failed.```
Thanks for this great plugin.
So, following the instruction on github page; i created a folder ~/.config/firedecor/button-styles/guy. In it I placed 9 png files named:
close-hover.png
minimize-hover.png
toggle-maximize-hover.png
close.png
minimize.png
toggle-maximize.png
close-pressed.png
minimize-pressed.png
toggle-maximize-pressed.png
I replaced "simple" with "guy" in button-style within wayfire,ini. Then restarted wayfire but the windows still use the default style.
Please, is there anything am doing wrong. I installed the package from AUR using yay as helper.
Thanks
Directory already configured.
Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson setup --reconfigure"
to force Meson to regenerate.
If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /home/ssfdust/.cache/updatepkgs/wayfire-firedecor-git/src/wayfire-firedecor/build
ninja: Entering directory `/home/ssfdust/.cache/updatepkgs/wayfire-firedecor-git/src/wayfire-firedecor/build'
[1/2] Compiling C++ object src/libfiredecor.so.p/firedecor-theme.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-theme.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-theme.cpp.o -MF src/libfiredecor.so.p/firedecor-theme.cpp.o.d -o src/libfiredecor.so.p/firedecor-theme.cpp.o -c ../src/firedecor-theme.cpp
../src/firedecor-theme.cpp: In member function ‘cairo_surface_t* wf::firedecor::decoration_theme_t::form_button(wf::firedecor::button_type_t, double, bool, bool) const’:
../src/firedecor-theme.cpp:399:24: error: jump to case label
399 | case BUTTON_MINIMIZE:
| ^~~~~~~~~~~~~~~
../src/firedecor-theme.cpp:375:56: note: crosses initialization of ‘wf::pointf_t south_west_arrow_pos’
375 | wf::pointf_t north_east_arrow_pos, south_west_arrow_pos;
| ^~~~~~~~~~~~~~~~~~~~
../src/firedecor-theme.cpp:375:34: note: crosses initialization of ‘wf::pointf_t north_east_arrow_pos’
375 | wf::pointf_t north_east_arrow_pos, south_west_arrow_pos;
| ^~~~~~~~~~~~~~~~~~~~
../src/firedecor-theme.cpp:356:20: warning: enumeration value ‘BUTTON_MINIMIZE’ not handled in switch [-Wswitch]
356 | switch (button) {
| ^
ninja: build stopped: subcommand failed.
Hi again,
Sorry if I'm doing something wrong again. After the last issue I managed to get it to compile but for the past few days I haven't been able to run it. Whenever I add firedecor to the wayfire ini, I get the following error whenever I run wayfire:
what(): No such option: firedecor/ignore_views
EE 03-05-22 16:42:57.000 - [src/main.cpp:132] Fatal error: Fatal error(SIGABRT)
EE 03-05-22 16:42:57.020 - #1 wf::print_trace(bool) ??:?
EE 03-05-22 16:42:57.036 - #2 __restore_rt libc_sigaction.c:?
EE 03-05-22 16:42:57.056 - #3 __pthread_kill_implementation pthread_kill.c:?
EE 03-05-22 16:42:57.076 - #4 __GI_raise :?
EE 03-05-22 16:42:57.096 - #5 __GI_abort :?
EE 03-05-22 16:42:57.133 - #6 __gnu_cxx::__verbose_terminate_handler() /usr/src/debug/gcc/libstdc++-v3/libsupc++/vterminate.cc:75
EE 03-05-22 16:42:57.162 - #7 __cxxabiv1::__terminate(void (*)()) /usr/src/debug/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
EE 03-05-22 16:42:57.200 - #8 std::terminate() ??:?
EE 03-05-22 16:42:57.252 - #9 __cxa_throw ??:?
EE 03-05-22 16:42:57.274 - #10 ?? ??:0
EE 03-05-22 16:42:57.293 - #11 wf::view_matcher_t::view_matcher_t(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ??:?
EE 03-05-22 16:42:57.470 - #12 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const /usr/include/c++/11.2.0/bits/basic_string.h:195
EE 03-05-22 16:42:57.504 - #13 plugin_manager::reload_dynamic_plugins() ??:?
EE 03-05-22 16:42:57.533 - #14 plugin_manager::plugin_manager(wf::output_t*) ??:?
EE 03-05-22 16:42:57.558 - #15 wf::output_impl_t::start_plugins() ??:?
EE 03-05-22 16:42:57.587 - #16 wf::transfer_views(wf::output_t*, wf::output_t*) ??:?
EE 03-05-22 16:42:57.611 - #17 wf::output_layout_t::~output_layout_t() ??:?
EE 03-05-22 16:42:57.638 - #18 wf::transfer_views(wf::output_t*, wf::output_t*) ??:?
EE 03-05-22 16:42:57.665 - #19 wf::transfer_views(wf::output_t*, wf::output_t*) ??:?
EE 03-05-22 16:42:57.692 - #20 _start ??:?
EE 03-05-22 16:42:57.711 - #21 wlr_signal_emit_safe ??:?
EE 03-05-22 16:42:57.733 - #22 wlr_signal_emit_safe ??:?
EE 03-05-22 16:42:57.744 - #23 wlr_wl_output_create ??:?
EE 03-05-22 16:42:57.763 - #24 wlr_wl_output_create ??:?
EE 03-05-22 16:42:57.786 - #25 wlr_wl_output_create ??:?
EE 03-05-22 16:42:57.808 - #26 main ??:?
EE 03-05-22 16:42:57.822 - #27 __libc_start_call_main libc-start.c:?
EE 03-05-22 16:42:57.837 - #28 __libc_start_main_alias_2 :?
EE 03-05-22 16:42:57.865 - #29 _start ??:?
I don't know what I'm doing wrong but I've installed firedecor and wayfire using the aur (wayfire-firedecor-git and wayfire-git). Thanks
First of all thanks for the awesome plugin, but I'm having a very strange issue. I'm on arch linux running wayfire compiled from source on the most recent master branch, using system wlroots. Likewise with firedecor, compiled from source on the most recent master branch. The problem is that there are strange gaps in the border near the top and bottom of the window, and when I add a corner radius these gaps become bright red instead. Also, you seem to be able to see the border color behind the outlines, in the corner.
Here is an image album of the problem in question.
https://postimg.cc/gallery/TXsFQ3L
Hello, I guess there's another issue, the rounded corners are only applied to the titlebars, not on the bottom of the window. I don't know if that's the natural behaviour, but if it is, can you pleaseee include an option to enable bottom rounded corners too? Since I use server side decors instead of client side for a uniform look.
im literally running these commands via konsole on wayfire and its not finding wayfire 💀
Main binary: /usr/bin/python3
Build Options:
Python system: Linux
The Meson build system
Version: 1.2.0
Source dir: /home/lolzsicka/Firedecor
Build dir: /home/lolzsicka/Firedecor/build
Build type: native build
Project name: firedecor
Project version: 0.1
-----------
Detecting compiler via: `cc --version` -> 0
stdout:
cc (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: cc -E -dM -
-----
-----------
Detecting linker via: `cc -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 12.2.0
/usr/bin/ld -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc45vjWF.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../.. --version -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crtn.o
-----------
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/lolzsicka/Firedecor/build/meson-private/sanitycheckc.exe
C compiler for the host machine: cc (gcc 12.2.0 "cc (GCC) 12.2.0")
C linker for the host machine: cc ld.bfd 2.39
-----------
Detecting linker via: `gcc-ar --version` -> 0
stdout:
GNU ar (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
-----------
-----------
Detecting compiler via: `c++ --version` -> 0
stdout:
c++ (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: c++ -E -dM -
-----
-----------
Detecting linker via: `c++ -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 12.2.0
/usr/bin/ld -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQ11JaE.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../.. --version -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crtn.o
-----------
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ sanitycheckcpp.cc -o sanitycheckcpp.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/lolzsicka/Firedecor/build/meson-private/sanitycheckcpp.exe
C++ compiler for the host machine: c++ (gcc 12.2.0 "c++ (GCC) 12.2.0")
C++ linker for the host machine: c++ ld.bfd 2.39
-----------
Detecting compiler via: `cc --version` -> 0
stdout:
cc (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: cc -E -dM -
-----
-----------
Detecting linker via: `cc -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 12.2.0
/usr/bin/ld -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYCjFBx.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../.. --version -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crtn.o
-----------
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/lolzsicka/Firedecor/build/meson-private/sanitycheckc.exe
C compiler for the build machine: cc (gcc 12.2.0 "cc (GCC) 12.2.0")
C linker for the build machine: cc ld.bfd 2.39
-----------
Detecting linker via: `gcc-ar --version` -> 0
stdout:
GNU ar (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
-----------
-----------
Detecting compiler via: `c++ --version` -> 0
stdout:
c++ (GCC) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: c++ -E -dM -
-----
-----------
Detecting linker via: `c++ -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 12.2.0
/usr/bin/ld -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccKYYwjb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../.. --version -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/12.2.0/../../../../lib64/crtn.o
-----------
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ sanitycheckcpp.cc -o sanitycheckcpp.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: /home/lolzsicka/Firedecor/build/meson-private/sanitycheckcpp.exe
C++ compiler for the build machine: c++ (gcc 12.2.0 "c++ (GCC) 12.2.0")
C++ linker for the build machine: c++ ld.bfd 2.39
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Pkg-config binary for 1 is not cached.
Pkg-config binary missing from cross or native file, or env var undefined.
Trying a default Pkg-config fallback at pkg-config
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Determining dependency 'wayfire' with pkg-config executable '/usr/bin/pkg-config'
env[PKG_CONFIG_PATH]:
-----------
Called: `/usr/bin/pkg-config --modversion wayfire` -> 1
stderr:
Package wayfire was not found in the pkg-config search path.
Perhaps you should add the directory containing `wayfire.pc'
to the PKG_CONFIG_PATH environment variable
No package 'wayfire' found
-----------
CMake binary for 1 is not cached
CMake binary missing from cross or native file, or env var undefined.
Trying a default CMake fallback at cmake
Found CMake: /usr/bin/cmake (3.27.6)
Extracting basic cmake information
CMake Toolchain: Calling CMake once to generate the compiler state
Calling CMake (['/usr/bin/cmake']) in /home/lolzsicka/Firedecor/build/meson-private/__CMake_compiler_info__ with:
- "--trace-expand"
- "--trace-format=json-v1"
- "--no-warn-unused-cli"
- "--trace-redirect=cmake_trace.txt"
- "-G"
- "Ninja"
- "-DCMAKE_TOOLCHAIN_FILE=/home/lolzsicka/Firedecor/build/meson-private/__CMake_compiler_info__/CMakeMesonTempToolchainFile.cmake"
- "."
Try CMake generator: auto
Calling CMake (['/usr/bin/cmake']) in /home/lolzsicka/Firedecor/build/meson-private/cmake_wayfire with:
- "--trace-expand"
- "--trace-format=json-v1"
- "--no-warn-unused-cli"
- "--trace-redirect=cmake_trace.txt"
- "-DCMAKE_TOOLCHAIN_FILE=/home/lolzsicka/Firedecor/build/meson-private/cmake_wayfire/CMakeMesonToolchainFile.cmake"
- "."
-- Module search paths: ['/', '/usr', '/usr/local']
-- CMake root: /usr/share/cmake-3.27
-- CMake architectures: []
-- CMake lib search paths: ['lib', 'lib32', 'lib64', 'libx32', 'share']
Preliminary CMake check failed. Aborting.
Run-time dependency wayfire found: NO (tried pkgconfig and cmake)
meson.build:16:13: ERROR: Dependency "wayfire" not found, tried pkgconfig and cmake
Hi @AhoyISki great plugin, I have installed it but i dont see any change in the decorations
it just looks like the default window decor in wayfire ;(
Thanks for this wonderful software. I was an ardent user of sawfish window manager but switched over to wayfire since it became so buggy and troublesome. So far, everything is working fine save for some window eye candy which your plugin has addressed.
I am wondering if you have plans of adding gradient support. That would be a very nice addition in improving the appearance of wayfire windows.
#Am yet to wrap my head around the accent portion of firedecor.
When installing Firedecor using the following command on arch yay -S wayfire-firedecor-git
I get the following build errors.
The Meson build system
Version: 0.63.3
Source dir: /home/peyton/.cache/yay/wayfire-firedecor-git/src/wayfire-firedecor
Build dir: /home/peyton/.cache/yay/wayfire-firedecor-git/src/wayfire-firedecor/build
Build type: native build
Project name: firedecor
Project version: 0.1
C compiler for the host machine: cc (gcc 12.2.0 "cc (GCC) 12.2.0")
C linker for the host machine: cc ld.bfd 2.39.0
C++ compiler for the host machine: c++ (gcc 12.2.0 "c++ (GCC) 12.2.0")
C++ linker for the host machine: c++ ld.bfd 2.39.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Run-time dependency wayfire found: YES 0.8.0
Run-time dependency wf-config found: YES 0.8.0
Run-time dependency wlroots found: YES 0.15.1
Run-time dependency librsvg-2.0 found: YES 2.55.1
Run-time dependency pixman-1 found: YES 0.42.2
Run-time dependency cairo found: YES 1.17.6
Run-time dependency pango found: YES 1.50.11
Run-time dependency pangocairo found: YES 1.50.11
Run-time dependency glib-2.0 found: YES 2.74.1
Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.10
Run-time dependency Boost found: YES 1.80.0 (/usr)
Message:
----------------
firedecor 0.1
----------------
Build targets in project: 1
Found ninja-1.11.1 at /usr/bin/ninja
ninja: Entering directory `/home/peyton/.cache/yay/wayfire-firedecor-git/src/wayfire-firedecor/build'
[1/6] Compiling C++ object src/libfiredecor.so.p/firedecor-buttons.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-buttons.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-buttons.cpp.o -MF src/libfiredecor.so.p/firedecor-buttons.cpp.o.d -o src/libfiredecor.so.p/firedecor-buttons.cpp.o -c ../src/firedecor-buttons.cpp
../src/firedecor-buttons.cpp: In member function ‘void wf::firedecor::button_t::render(const wf::framebuffer_t&, wf::geometry_t, wf::geometry_t)’:
../src/firedecor-buttons.cpp:75:8: error: ‘const struct wf::framebuffer_t’ has no member named ‘logic_scissor’
75 | fb.logic_scissor(scissor);
| ^~~~~~~~~~~~~
../src/firedecor-buttons.cpp:76:48: error: invalid initialization of reference of type const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
76 | OpenGL::render_texture(button_texture.tex, fb, geometry, {1, 1, 1, 1},
| ^~
In file included from ../src/firedecor-buttons.cpp:1:
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/firedecor-buttons.cpp: In lambda function:
../src/firedecor-buttons.cpp:94:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
94 | this->idle_damage.run_once([=] () {
| ^
../src/firedecor-buttons.cpp:94:32: note: add explicit ‘this’ or ‘*this’ capture
[2/6] Compiling C++ object src/libfiredecor.so.p/firedecor-subsurface.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-subsurface.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-subsurface.cpp.o -MF src/libfiredecor.so.p/firedecor-subsurface.cpp.o.d -o src/libfiredecor.so.p/firedecor-subsurface.cpp.o -c ../src/firedecor-subsurface.cpp
../src/firedecor-subsurface.cpp:708:18: error: ‘virtual void wf::firedecor::simple_decoration_surface::simple_render(const wf::framebuffer_t&, int, int, const wf::region_t&)’ marked ‘override’, but does not override
708 | virtual void simple_render(const framebuffer_t& fb, int x, int y,
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp: In member function ‘void wf::firedecor::simple_decoration_surface::render_title(const wf::framebuffer_t&, wf::geometry_t, wf::geometry_t, wf::firedecor::edge_t, wf::geometry_t)’:
../src/firedecor-subsurface.cpp:253:29: error: ‘const struct wf::framebuffer_t’ has no member named ‘scale’
253 | update_title(fb.scale);
| ^~~~~
../src/firedecor-subsurface.cpp:268:12: error: ‘const struct wf::framebuffer_t’ has no member named ‘logic_scissor’
268 | fb.logic_scissor(scissor);
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:269:46: error: invalid initialization of reference of type ‘const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
269 | OpenGL::render_texture(texture->tex, fb, geometry, glm::vec4(1.0f), bits);
| ^~
In file included from /usr/include/wayfire/scene.hpp:3,
from /usr/include/wayfire/surface.hpp:13,
from /usr/include/wayfire/compositor-surface.hpp:4,
from ../src/firedecor-subsurface.cpp:6:
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/firedecor-subsurface.cpp:273:55: error: invalid initialization of reference of type ‘const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
273 | OpenGL::render_texture(dots_texture->tex, fb, dots_geometry,
| ^~
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/firedecor-subsurface.cpp: In member function ‘void wf::firedecor::simple_decoration_surface::render_icon(const wf::framebuffer_t&, wf::geometry_t, const wf::geometry_t&, int32_t)’:
../src/firedecor-subsurface.cpp:283:20: error: ‘const struct wf::framebuffer_t’ has no member named ‘logic_scissor’
283 | fb.logic_scissor(scissor);
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:284:58: error: invalid initialization of reference of type ‘const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
284 | OpenGL::render_texture(icon.texture.tex, fb, g, glm::vec4(1.0f), bits);
| ^~
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/firedecor-subsurface.cpp: In member function ‘void wf::firedecor::simple_decoration_surface::render_background_area(const wf::framebuffer_t&, wf::geometry_t, wf::point_t, wf::geometry_t, std::string, long unsigned int, wf::firedecor::decoration_area_type_t, wf::firedecor::matrix<int>, wf::firedecor::edge_t)’:
../src/firedecor-subsurface.cpp:588:16: error: ‘const struct wf::framebuffer_t’ has no member named ‘logic_scissor’
588 | fb.logic_scissor(scissor);
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:590:36: error: invalid initialization of reference of type ‘const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
590 | fb, a_edges[0] + o, glm::vec4(1.0));
| ^~
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/firedecor-subsurface.cpp:592:36: error: invalid initialization of reference of type ‘const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
592 | fb, a_edges[1] + o, glm::vec4(1.0));
| ^~
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
../src/firedecor-subsurface.cpp:607:41: error: ‘const struct wf::framebuffer_t’ has no member named ‘get_orthographic_projection’
607 | fb.get_orthographic_projection());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:637:16: error: ‘const struct wf::framebuffer_t’ has no member named ‘logic_scissor’
637 | fb.logic_scissor(scissor);
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:638:55: error: ‘const struct wf::framebuffer_t’ has no member named ‘get_orthographic_projection’
638 | OpenGL::render_rectangle(g + o, color, fb.get_orthographic_projection());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:639:55: error: ‘const struct wf::framebuffer_t’ has no member named ‘get_orthographic_projection’
639 | OpenGL::render_rectangle(g_o, o_color, fb.get_orthographic_projection());
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/firedecor-subsurface.cpp: In member function ‘void wf::firedecor::simple_decoration_surface::render_background(const wf::framebuffer_t&, wf::geometry_t, const wf::geometry_t&)’:
../src/firedecor-subsurface.cpp:654:56: error: ‘const struct wf::framebuffer_t’ has no member named ‘scale’
654 | int r = theme.get_corner_radius() * fb.scale;
| ^~~~~
../src/firedecor-subsurface.cpp:655:46: error: ‘const struct wf::framebuffer_t’ has no member named ‘scale’
655 | update_corners(colors, r, fb.scale);
| ^~~~~
../src/firedecor-subsurface.cpp:668:20: error: ‘const struct wf::framebuffer_t’ has no member named ‘logic_scissor’
668 | fb.logic_scissor(scissor);
| ^~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:675:55: error: invalid initialization of reference of type ‘const wf::render_target_t&’ from expression of type ‘const wf::framebuffer_t’
675 | OpenGL::render_texture(c->tex[a].tex, fb, c->g + o, glm::vec4(1.0f));
| ^~
/usr/include/wayfire/opengl.hpp:255:32: note: in passing argument 2 of ‘void OpenGL::render_texture(wf::texture_t, const wf::render_target_t&, const wf::geometry_t&, glm::vec4, uint32_t)’
255 | const wf::render_target_t& framebuffer,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/memory:76,
from /usr/include/wayfire/surface.hpp:7:
/usr/include/c++/12.2.0/bits/unique_ptr.h: In instantiation of ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = wf::firedecor::simple_decoration_surface; _Args = {nonstd::observer_ptr<wf::view_interface_t>&, wf::firedecor::theme_options&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t<wf::firedecor::simple_decoration_surface>]’:
../src/firedecor-subsurface.cpp:830:63: required from here
/usr/include/c++/12.2.0/bits/unique_ptr.h:1065:30: error: invalid new-expression of abstract class type ‘wf::firedecor::simple_decoration_surface’
1065 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/firedecor-subsurface.cpp:32:7: note: because the following virtual functions are pure within ‘wf::firedecor::simple_decoration_surface’:
32 | class simple_decoration_surface : public surface_interface_t,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/wayfire/surface.hpp:175:18: note: ‘virtual void wf::surface_interface_t::simple_render(const wf::render_target_t&, int, int, const wf::region_t&)’
175 | virtual void simple_render(const wf::render_target_t& fb, int x, int y,
| ^~~~~~~~~~~~~
[3/6] Compiling C++ object src/libfiredecor.so.p/firedecor.cpp.o
../src/firedecor.cpp: In lambda function:
../src/firedecor.cpp:35:43: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
35 | wf::signal_connection_t view_updated{ [=] (wf::signal_data_t *data) {
| ^
../src/firedecor.cpp:35:43: note: add explicit ‘this’ or ‘*this’ capture
[5/6] Compiling C++ object src/libfiredecor.so.p/firedecor-theme.cpp.o
../src/firedecor-theme.cpp: In member function ‘cairo_surface_t* wf::firedecor::decoration_theme_t::form_button(wf::firedecor::button_type_t, double, bool, bool) const’:
../src/firedecor-theme.cpp:277:12: warning: variable ‘base_qty’ set but not used [-Wunused-but-set-variable]
277 | double base_qty;
| ^~~~~~~~
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
Aborting...
-> error making: wayfire-firedecor-git
Here is the location of the installed wayfire.
/usr/lib/wayfire
/usr/include/wayfire
/usr/share/wayfire
/home/peyton/.cache/yay/wayfire
/home/peyton/.cache/yay/wayfire-git/wayfire
/home/peyton/.local/share/wayfire
I am currently using wayfire-git. A few updates ago the firedecor plugin worked fine for me. Currently i have firedecor activated in my config but no window decorations. The configuration stayed the same between the wayfire updates. Is this a general problem with newer wayfire versions? If not, which steps should i take to debug this problem?
Can't build it on a fresh garuda live-cd (no wayland-git as package)
The Meson build system
Version: 0.63.2
Source dir: /home/garuda/wayfire-firedecor-git/src/wayfire-firedecor
Build dir: /home/garuda/wayfire-firedecor-git/src/wayfire-firedecor/build
Build type: native build
Project name: firedecor
Project version: 0.1
C compiler for the host machine: cc (gcc 12.2.0 "cc (GCC) 12.2.0")
C linker for the host machine: cc ld.bfd 2.39.0
C++ compiler for the host machine: c++ (gcc 12.2.0 "c++ (GCC) 12.2.0")
C++ linker for the host machine: c++ ld.bfd 2.39.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Run-time dependency wayfire found: YES 0.7.4
Run-time dependency wf-config found: YES 0.7.1
Run-time dependency wlroots found: YES 0.15.1
Run-time dependency librsvg-2.0 found: YES 2.54.4
Run-time dependency pixman-1 found: YES 0.40.0
Run-time dependency cairo found: YES 1.17.6
Run-time dependency pango found: YES 1.50.9
Run-time dependency pangocairo found: YES 1.50.9
Run-time dependency glib-2.0 found: YES 2.72.3
Run-time dependency gdk-pixbuf-2.0 found: YES 2.42.9
Run-time dependency Boost found: YES 1.79.0 (/usr)
Message:
----------------
firedecor 0.1
----------------
Build targets in project: 1
Found ninja-1.11.1 at /usr/bin/ninja
ninja: Entering directory `/home/garuda/wayfire-firedecor-git/src/wayfire-firedecor/build'
[1/6] Compiling C++ object src/libfiredecor.so.p/firedecor-layout.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-layout.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-layout.cpp.o -MF src/libfiredecor.so.p/firedecor-layout.cpp.o.d -o src/libfiredecor.so.p/firedecor-layout.cpp.o -c ../src/firedecor-layout.cpp
In file included from ../src/firedecor-layout.cpp:6:
../src/firedecor-layout.hpp:4:10: fatal error: wayfire/region.hpp: No such file or directory
4 | #include <wayfire/region.hpp>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/6] Compiling C++ object src/libfiredecor.so.p/firedecor-subsurface.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-subsurface.cpp.o `
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-subsurface.cpp.o -MF src/libfiredecor.so.p/firedecor-subsurface.cpp.o.d -o src/libfiredecor.so.p/firedecor-subsurface.cpp.o -c ../src/firedecor-subsurface.cpp
In file included from ../src/firedecor-subsurface.cpp:14:
../src/firedecor-layout.hpp:4:10: fatal error: wayfire/region.hpp: No such file or directory
4 | #include <wayfire/region.hpp>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/6] Compiling C++ object src/libfiredecor.so.p/firedecor-buttons.cpp.o
../src/firedecor-buttons.cpp: In lambda function:
../src/firedecor-buttons.cpp:94:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
94 | this->idle_damage.run_once([=] () {
| ^
../src/firedecor-buttons.cpp:94:32: note: add explicit ‘this’ or ‘*this’ capture
[4/6] Compiling C++ object src/libfiredecor.so.p/firedecor.cpp.o
../src/firedecor.cpp: In lambda function:
../src/firedecor.cpp:35:43: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
35 | wf::signal_connection_t view_updated{ [=] (wf::signal_data_t *data) {
| ^
../src/firedecor.cpp:35:43: note: add explicit ‘this’ or ‘*this’ capture
[5/6] Compiling C++ object src/libfiredecor.so.p/firedecor-theme.cpp.o
../src/firedecor-theme.cpp: In member function ‘cairo_surface_t* wf::firedecor::decoration_theme_t::form_button(wf::firedecor::button_type_t, double, bool, bool) const’:
../src/firedecor-theme.cpp:277:12: warning: variable ‘base_qty’ set but not used [-Wunused-but-set-variable]
277 | double base_qty;
| ^~~~~~~~
ninja: build stopped: subcommand failed.
When i set accent for some window edges, close button appears alongside the accent color. Please is there anything am doing wrong?
$ meson compile -C build
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /home/green/tmp/Firedecor/build
ninja: Entering directory `/home/green/tmp/Firedecor/build'
[1/6] Compiling C++ object src/libfiredecor.so.p/firedecor.cpp.o
FAILED: src/libfiredecor.so.p/firedecor.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/elogind -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor.cpp.o -MF src/libfiredecor.so.p/firedecor.cpp.o.d -o src/libfiredecor.so.p/firedecor.cpp.o -c ../src/firedecor.cpp
../src/firedecor.cpp:1:10: fatal error: wayfire/singleton-plugin.hpp: No such file or directory
1 | #include <wayfire/singleton-plugin.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/6] Compiling C++ object src/libfiredecor.so.p/firedecor-subsurface.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-subsurface.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/elogind -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-subsurface.cpp.o -MF src/libfiredecor.so.p/firedecor-subsurface.cpp.o.d -o src/libfiredecor.so.p/firedecor-subsurface.cpp.o -c ../src/firedecor-subsurface.cpp
../src/firedecor-subsurface.cpp:6:10: fatal error: wayfire/compositor-surface.hpp: No such file or directory
6 | #include <wayfire/compositor-surface.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/6] Compiling C++ object src/libfiredecor.so.p/firedecor-theme.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-theme.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/elogind -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-theme.cpp.o -MF src/libfiredecor.so.p/firedecor-theme.cpp.o.d -o src/libfiredecor.so.p/firedecor-theme.cpp.o -c ../src/firedecor-theme.cpp
In file included from ../src/firedecor-theme.hpp:4,
from ../src/firedecor-theme.cpp:10:
../src/firedecor-buttons.hpp:6:10: fatal error: wayfire/surface.hpp: No such file or directory
6 | #include <wayfire/surface.hpp>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[4/6] Compiling C++ object src/libfiredecor.so.p/firedecor-layout.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-layout.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/elogind -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-layout.cpp.o -MF src/libfiredecor.so.p/firedecor-layout.cpp.o.d -o src/libfiredecor.so.p/firedecor-layout.cpp.o -c ../src/firedecor-layout.cpp
In file included from ../src/firedecor-layout.hpp:6,
from ../src/firedecor-layout.cpp:6:
../src/firedecor-buttons.hpp:6:10: fatal error: wayfire/surface.hpp: No such file or directory
6 | #include <wayfire/surface.hpp>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[5/6] Compiling C++ object src/libfiredecor.so.p/firedecor-buttons.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-buttons.cpp.o
ccache c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/lib64/libffi/include -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/elogind -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-buttons.cpp.o -MF src/libfiredecor.so.p/firedecor-buttons.cpp.o.d -o src/libfiredecor.so.p/firedecor-buttons.cpp.o -c ../src/firedecor-buttons.cpp
In file included from ../src/firedecor-buttons.cpp:4:
../src/firedecor-buttons.hpp:6:10: fatal error: wayfire/surface.hpp: No such file or directory
6 | #include <wayfire/surface.hpp>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
At the moment of writing the latest version in git is WayfireWM/wayfire@b8b8486
Additional Info:
surface.hpp
has gone in WayfireWM/wayfire@fe2221d
singleton-plugin.hpp
is also absent in the latest git version
Wayfire blur and alpha plugin affects the whole window. It would be nice if this feature is handled by firedecor so that only window borders are affected. Thanks
While doing meson compile -c build
it gives the following:
ninja: Entering directory `/home/syndrizzle/Downloads/Firedecor/build'
[1/3] Compiling C++ object src/lib...or.so.p/firedecor-subsurface.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-subsurface.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/valgrind -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-subsurface.cpp.o -MF src/libfiredecor.so.p/firedecor-subsurface.cpp.o.d -o src/libfiredecor.so.p/firedecor-subsurface.cpp.o -c ../src/firedecor-subsurface.cpp
In file included from ../src/firedecor-subsurface.cpp:14:
../src/firedecor-layout.hpp:4:10: fatal error: wayfire/region.hpp: No such file or directory
4 | #include <wayfire/region.hpp>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/3] Compiling C++ object src/libfiredecor.so.p/firedecor-layout.cpp.o
FAILED: src/libfiredecor.so.p/firedecor-layout.cpp.o
c++ -Isrc/libfiredecor.so.p -Isrc -I../src -I/usr/include/libevdev-1.0 -I/usr/include/libxml2 -I/usr/include/libdrm -I/usr/include/valgrind -I/usr/include/pixman-1 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++20 -O0 -g -DWLR_USE_UNSTABLE -DWAYFIRE_PLUGIN -fPIC -pthread -MD -MQ src/libfiredecor.so.p/firedecor-layout.cpp.o -MF src/libfiredecor.so.p/firedecor-layout.cpp.o.d -o src/libfiredecor.so.p/firedecor-layout.cpp.o -c ../src/firedecor-layout.cpp
In file included from ../src/firedecor-layout.cpp:6:
../src/firedecor-layout.hpp:4:10: fatal error: wayfire/region.hpp: No such file or directory
4 | #include <wayfire/region.hpp>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
I'm using a 3840x2160 display with 1.5 scaling. There are visible artifacts seen around the border radius:
It's kind of a rectangle.
From my testing, it appears they only don't appear on 1.0 scaling:
The fact that everything is a bit blurry is inherent with fractional scaling I suppose. Would it be feasible to mitigate this "rectangle" effect? I've only ever worked with cairo using the Python bindings, but from my understanding, it could be possible it is introducing its own upscaling artifacts.
If the button image is not perfectly square, the button is not rendered well. sometimes there's flipping and some times, the buttons change its dimension. Does the plugin support only square-like button images or is there something am not doing right?
I've been trying to get firedecor working on my Arch setup.
I've installed wayfire-gitAUR and wayfire-firedecor-gitAUR, but as the latter seems to be broken currently (did not actually install firedecor), I then installed firedecor manually from source, which seems to have gone as expected (/usr/lib/wayfire/libfiredecor.so
is now installed along side all of my other plugins).
I updated my config to add firedecor at the end of the plugins list. It does not include any other decoration plugins, and I added the default [firedecor]
section for good measure.
Despite all of this, when I launch wayfire, I get no errors involving firedecor and no decorations. Is there something else I've neglected to do?
EDIT: So I left firedecor enabled and after using it for a while, I finally opened an X app and realized that i'm actually getting decorations, but only on XWayland windows.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.