AhoyISki / Firedecor

An advanced window decoration plugin for the wayfire window manager.
71 stars 7 forks source link

Unable to run on wayfire 0.8.0 #5

Closed junapoe closed 2 years ago

junapoe commented 2 years ago

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

AhoyISki commented 2 years ago

Can you tell me the output of cat /usr/share/metadata/wayfire/firedecor.xml? Or wherever you can find the firedecor.xml file in your system? There seems to be a missing option in it for some reason, even though the file in the repository has this option included.

junapoe commented 2 years ago

Sure, this is /usr/local/share/wayfire/metadata/firedecor.xml


<wayfire>
    <plugin name="firedecor">
        <_short>Firedecor</_short>
        <_long>Alternative decoration for wayfire windows.</_long>
        <category>Effects</category>
        <!-- Font -->
        <option name="font" type="string">
            <_short>Font</_short>
            <_long>Sets the font to use for the title bars.</_long>
            <default>sans-serif</default>
        </option>
        <option name="font_size" type="int">
            <_short>Font size</_short>
            <_long>Sets the font size to use for the title bars.</_long>
            <default>21</default>
        </option>
        <option name="active_title" type="color">
            <_short>Title color when window is active</_short>
            <_long>Sets the title color when the window is active.</_long>
            <default>#ffffffff</default>
        </option>
        <option name="inactive_title" type="color">
            <_short>Title color when window is inactive</_short>
            <_long>Sets the title color when the window is inactive.</_long>
            <default>#ffffffff</default>
        </option>
        <option name="max_title_size" type="int">
            <_short>Maximum title size</_short>
            <_long>Sets the maximum title size, in pixels.</_long>
            <default>750</default>
        </option>
        <!-- Border -->
        <option name="border_size" type="string">
            <_short>Border size</_short>
            <_long>Sets the border size in pixels.</_long>
            <default>30 10</default>
        </option>
        <option name="active_border" type="color">
            <_short>Color when window is active</_short>
            <_long>Sets the color when the window is active.</_long>
            <default>#222222aa</default>
        </option>
        <option name="inactive_border" type="color">
            <_short>Color when window is inactive</_short>
            <_long>Sets the color when the window is inactive.</_long>
            <default>#333333dd</default>
        </option>
        <option name="corner_radius" type="int">
            <_short>Radius of rounded corners</_short>
            <_long>Sets the radius of the decoration corners.</_long>
            <default>0</default>
        </option>
        <!-- Outline -->
        <option name="outline_size" type="int">
            <_short>Outline size</_short>
            <_long>Sets the outline size in pixels.</_long>
            <default>0</default>
        </option>
        <option name="active_outline" type="color">
            <_short>Color when window is active</_short>
            <_long>Sets the outline color when the window is active.</_long>
            <default>#000000ff</default>
        </option>
        <option name="inactive_outline" type="color">
            <_short>Outline color when window is inactive</_short>
            <_long>Sets the outline color when the window is inactive.</_long>
            <default>#000000ff</default>
        </option>
        <!-- Buttons -->
        <option name="button_size" type="int">
            <_short>Button size to be used</_short>
            <_long>Sets the size to be used for the buttons.</_long>
            <default>20</default>
        </option>
        <option name="inactive_buttons" type="bool">
            <_short>Button style to be used</_short>
            <_long>Sets the style to be used for the buttons.</_long>
            <default>false</default>
        </option>
        <option name="button_style" type="string">
            <_short>Button style to be used</_short>
            <_long>Sets the style to be used for the buttons.</_long>
            <default>wayfire</default>
        </option>
        <!-- Icon -->
        <option name="icon_size" type="int">
            <_short>Icon size to be used</_short>
            <_long>Sets the size to be used for the icons.</_long>
            <default>20</default>
        </option>
        <option name="icon_theme" type="string">
            <_short>Icon theme to be used</_short>
            <_long>Sets the theme to be used for the icons.</_long>
            <default>hicolor</default>
        </option>
        <!-- Accents -->
        <option name="active_accent" type="color">
            <_short>Color when window is active</_short>
            <_long>Sets the outline color when the window is active.</_long>
            <default>#ffffffff</default>
        </option>
        <option name="inactive_accent" type="color">
            <_short>Outline color when window is inactive</_short>
            <_long>Sets the outline color when the window is inactive.</_long>
            <default>#ffffffff</default>
        </option>
        <!-- Layout -->
        <option name="layout" type="string">
            <_short>The layout to be used for decoration placement</_short>
            <_long>Sets the order and positioning of title, icon and buttons</_long>
            <default>P5 title | | minimize p maximize p close P5 -</default>
        </option>
        <option name="padding_size" type="int">
            <_short>The size for the universal padding symbol "p"</_short>
            <_long>Sets the size for padding, which can then be placed in any part of the layut with "p"</_long>
            <default>2</default>
        </option>
        <!-- Other -->
        <option name="ignore_views" type="string">
            <_short>Decoration disabled for specified window types</_short>
            <_long>Disables window decoration for windows matching the specified criteria.</_long>
            <default>none</default>
        </option>
        <option name="debug_mode" type="bool">
            <_short>Show titles as app_ids instead</_short>
            <_long>Show the app_id of applications, instead of title, for icon referencing</_long>
            <default>false</default>
        </option>
        <option name="round_on" type="string">
            <_short>Radius of rounded corners</_short>
            <_long>Sets the radius of the decoration corners.</_long>
            <default>all</default>
        </option>
        <option name="extra_themes" type="string">
            <_short>List of extra themes</_short>
            <_long>List of extra themes to be used.</_long>
            <default></default>
        </option>
    </plugin>
</wayfire>```
AhoyISki commented 2 years ago

Is there a /usr/share/wayfire/metadata/firedecor.xml in your system? If there is, can you cat it here?

junapoe commented 2 years ago

There doesn't seem to be one: cat: /usr/share/wayfire/metadata/firedecor.xml: No such file or directory

AhoyISki commented 2 years ago

Just asking, but have you looked for the file from the root directory with something like fzf? If so, and you haven't found it, then place ignore_views = none in the firedecor session of the config, because I have no idea why this is happening, but this should fix it.

AhoyISki commented 2 years ago

Let me know if that solves the issue

junapoe commented 2 years ago

I used find / -name '*firedecor.xml*' to try to find it and that's the only file I got, so I dunno honestly lol I put ignore_views = none under the [firedecor] section, and now I'm getting another error:

false
terminate called after throwing an instance of 'std::runtime_error'
  what():  No such option: firedecor/extra_themes
EE 03-05-22 23:05:37.302 - [src/main.cpp:132] Fatal error: Fatal error(SIGABRT)
EE 03-05-22 23:05:37.329 - #1  wf::print_trace(bool) ??:?
EE 03-05-22 23:05:37.349 - #2  __restore_rt libc_sigaction.c:?
EE 03-05-22 23:05:37.376 - #3  __pthread_kill_implementation pthread_kill.c:?
EE 03-05-22 23:05:37.397 - #4  __GI_raise :?
EE 03-05-22 23:05:37.417 - #5  __GI_abort :?
EE 03-05-22 23:05:37.438 - #6  __gnu_cxx::__verbose_terminate_handler() /usr/src/debug/gcc/libstdc++-v3/libsupc++/vterminate.cc:75
EE 03-05-22 23:05:37.460 - #7  __cxxabiv1::__terminate(void (*)()) /usr/src/debug/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
EE 03-05-22 23:05:37.494 - #8  std::terminate() ??:?
EE 03-05-22 23:05:37.527 - #9  __cxa_throw ??:?
EE 03-05-22 23:05:37.687 - #10 wf::base_option_wrapper_t<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::load_option(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/wayfire/config/option-wrapper.hpp:89
EE 03-05-22 23:05:37.852 - #11 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 23:05:37.881 - #12 plugin_manager::reload_dynamic_plugins() ??:?
EE 03-05-22 23:05:37.907 - #13 plugin_manager::plugin_manager(wf::output_t*) ??:?
EE 03-05-22 23:05:37.932 - #14 wf::output_impl_t::start_plugins() ??:?
EE 03-05-22 23:05:37.957 - #15 wf::transfer_views(wf::output_t*, wf::output_t*) ??:?
EE 03-05-22 23:05:37.986 - #16 wf::output_layout_t::~output_layout_t() ??:?
EE 03-05-22 23:05:38.006 - #17 wf::transfer_views(wf::output_t*, wf::output_t*) ??:?
EE 03-05-22 23:05:38.034 - #18 wf::transfer_views(wf::output_t*, wf::output_t*) ??:?
EE 03-05-22 23:05:38.063 - #19 _start ??:?
EE 03-05-22 23:05:38.075 - #20 wlr_signal_emit_safe ??:?
EE 03-05-22 23:05:38.102 - #21 wlr_signal_emit_safe ??:?
EE 03-05-22 23:05:38.125 - #22 wlr_wl_output_create ??:?
EE 03-05-22 23:05:38.148 - #23 wlr_wl_output_create ??:?
EE 03-05-22 23:05:38.176 - #24 wlr_wl_output_create ??:?
EE 03-05-22 23:05:38.204 - #25 main ??:?
EE 03-05-22 23:05:38.237 - #26 __libc_start_call_main libc-start.c:?
EE 03-05-22 23:05:38.258 - #27 __libc_start_main_alias_2 :?
EE 03-05-22 23:05:38.282 - #28 _start ??:?
AhoyISki commented 2 years ago

Ok, I think I know what's wrong, do a find / -name '*decoration.xml*', and place the firedecor.xml you have in the directory that shows up.

junapoe commented 2 years ago

It works! Lol. What was the issue then?

AhoyISki commented 2 years ago

There seems to be a problem at the moment with where wayfire and firedecor end up installing. For example, right now, I uninstalled wayfire-git, re-installed it, and I couldn't run it because libwlroots.so.11 was installed in the wrong place. I already had to move firedecor's dependencies in the past to correct this issue, maybe I need to do it again

AhoyISki commented 2 years ago

By the way, can you tell me the directory where you found decoration.xml? For actual research purposes

junapoe commented 2 years ago

Ya for sure: /usr/share/wayfire/metadata/decoration.xml