hyprfocus icon indicating copy to clipboard operation
hyprfocus copied to clipboard

Nix package error;

Open c4lliope opened this issue 11 months ago • 2 comments

Hello, I'm making progress to compile this package inside hyprland as a nix flake.

A good guide has been https://github.com/hyprwm/hyprland-plugins?tab=readme-ov-file#nix - maybe that codebase can inspire some changes to this one's flake.nix.'

Here are changes I made to my NixOS flake:

diff --git a/nixos/flake.nix b/nixos/flake.nix
index 2c8f6c7..5ac8d4f 100644
--- a/nixos/flake.nix
+++ b/nixos/flake.nix
@@ -1,9 +1,18 @@
 { inputs = {
     home-manager.url = "github:nix-community/home-manager";
     nixos-hardware.url = "github:nixos/nixos-hardware";
     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
     alacritty-theme.url = "github:alexghr/alacritty-theme.nix";
+
+    hyprland.url = "github:hyprwm/Hyprland";
+    hyprland-plugins = {
+      url = "github:hyprwm/hyprland-plugins";
+      inputs.hyprland.follows = "hyprland";
+    };
+    hyprfocus = {
+      url = "github:VortexCoyote/hyprfocus";
+      inputs.hyprland.follows = "hyprland";
+    };
   };
                                                                                                                
   # hook up symlinks!
diff --git a/nixos/module/hypr.nix b/nixos/module/hypr.nix
index 535677f..47fe547 100644
--- a/nixos/module/hypr.nix
+++ b/nixos/module/hypr.nix
@@ -1,4 +1,4 @@
-{ pkgs, home-manager, ... }:
+{ pkgs, home-manager, ... } @ inputs:
 {
   programs.hyprland = { enable = true; xwayland.enable = true; };
   services.xserver = { enable = true; displayManager = {
@@ -48,6 +48,8 @@
     wayland.windowManager.hyprland = {
       enable = true;
       systemd.enable = true;
+      package = inputs.hyprland.packages.${pkgs.system}.hyprland;
+      plugins = [ inputs.hyprfocus.packages.${pkgs.system}.hyprfocus ];
                                                                                                                
       settings = {
         "$fileManager" = "thunar";
@@ -60,6 +62,7 @@
         ];
                                                                                                                
         exec-once = [
+          "hyprpm reload -n"
           "nm-applet --indicator"
           "pypr"
           "swww init"

Erasing the plugins = [ ... ]; line means I can compile properly.

Enabling the plugins line means I see:

/home/calliope/.build> sudo nixos-rebuild switch                                                                                                                                                           1 03/14/24 14:12:41 PM
warning: Git tree '/home/calliope/.build' is dirty
warning: updating lock file '/home/calliope/.build/nixos/flake.lock':
• Added input 'hyprfocus':
    'github:VortexCoyote/hyprfocus/fa6775c0481f0d3628487cc26f7c7456fa082fb7' (2024-03-14)
• Added input 'hyprfocus/hyprland':
    follows 'hyprland'
• Added input 'hyprfocus/nix-filter':
    'github:numtide/nix-filter/41fd48e00c22b4ced525af521ead8792402de0ea' (2023-09-16)
warning: Git tree '/home/calliope/.build' is dirty
building the system configuration...
warning: Git tree '/home/calliope/.build' is dirty
error: builder for '/nix/store/bhrinv55bampcm8clsglfxz59w4w9sh4-hyprfocus-0.1.drv' failed with exit code 2;
       last 10 log lines:
       > src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
       >    12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
       >       |                                                                      ^~~~~~~~~~~~
       > src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
       >    13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
       >       |     ^~~~~~~~~~~~
       > src/Shrink.hpp:10:5: error: invalid use of template-name 'CAnimatedVariable' without an argument list
       >    10 |     CAnimatedVariable m_sShrinkAnimation;
       >       |     ^~~~~~~~~~~~~~~~~
       > make: *** [Makefile:4: all] Error 1
       For full logs, run 'nix log /nix/store/bhrinv55bampcm8clsglfxz59w4w9sh4-hyprfocus-0.1.drv'.
error: 1 dependencies of derivation '/nix/store/7r59wcwyxvchcdwviswmhyk90gk14x62-hm_hyprhyprland.conf.drv' failed to build
error: 1 dependencies of derivation '/nix/store/m9i9n1a88sair5ipgpmdhi8b16sjk9ll-activation-script.drv' failed to build
error: 1 dependencies of derivation '/nix/store/2zz36c7nd3afibv0wpl1hsc2i0rcdbya-home-manager-generation.drv' failed to build
error: 1 dependencies of derivation '/nix/store/fgd7gpv5b2dm3fl0hig5bz65snc2g08p-unit-home-manager-calliope.service.drv' failed to build
error: 1 dependencies of derivation '/nix/store/wpiynpmg0hyibsqkaiy6sc49sspg701p-system-units.drv' failed to build
error: 1 dependencies of derivation '/nix/store/0rq7ad8r8bn82yj35055jw0qxwld6v1b-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ag5vvlmvj96lc1jlw7mmgksngcgb43iv-nixos-system-chesapeake-24.05.20240115.c3e128f.drv' failed to build
Full error log
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/nl7x5d1idwlrlhbwhbigrdvvyc0rpnni-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
build flags: SHELL=/nix/store/4vzal97iq3dmrgycj8r0gflrh51p8w1s-bash-5.2p26/bin/bash
g++ -shared -fPIC --no-gnu-unique src/Flash.cpp src/IFocusAnimation.cpp src/Shrink.cpp src/main.cpp src/Flash.hpp src/IFocusAnimation.hpp src/Shrink.hpp  -o hyprfocus.so -g `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b
In file included from src/Flash.hpp:3,
                 from src/Flash.cpp:1:
src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                                                                      ^~~~~~~~~~~~
src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
   13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
      |     ^~~~~~~~~~~~
src/Flash.cpp: In member function 'virtual void CFlash::init(void*, std::string)':
src/Flash.cpp:10:77: error: C99 designator 'floatValue' outside aggregate initializer
   10 |     addConfigValue(pHandle, "flash_opacity", SConfigValue{.floatValue = 0.5f});
      |                                                                             ^
src/Flash.cpp:10:77: error: invalid use of incomplete type 'struct SConfigValue'
In file included from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/managers/HookSystemManager.hpp:12,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/protocols/Screencopy.hpp:8,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/protocols/ToplevelExport.hpp:6,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/managers/ProtocolManager.hpp:4,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/Compositor.hpp:18,
                 from src/Flash.cpp:3:
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/Flash.cpp: In member function 'virtual void CFlash::onWindowFocus(CWindow*, void*)':
src/Flash.cpp:16:25: error: 'getConfigValue' was not declared in this scope; did you mean 'HyprlandAPI::getConfigValue'?
   16 |     pWindow->m_fAlpha = getConfigValue(pHandle, "flash_opacity")->floatValue;
      |                         ^~~~~~~~~~~~~~
      |                         HyprlandAPI::getConfigValue
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:133:37: note: 'HyprlandAPI::getConfigValue' declared here
  133 |     APICALL Hyprlang::CConfigValue* getConfigValue(HANDLE handle, const std::string& name);
      |                                     ^~~~~~~~~~~~~~
src/Flash.cpp: In lambda function:
src/Flash.cpp:20:100: error: 'class Hyprlang::CConfigValue' has no member named 'floatValue'; did you mean 'getValue'?
   20 |             pWindow->m_fAlpha = HyprlandAPI::getConfigValue(pHandle, "decoration:active_opacity")->floatValue;
      |                                                                                                    ^~~~~~~~~~
      |                                                                                                    getValue
In file included from src/IFocusAnimation.cpp:1:
src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                                                                      ^~~~~~~~~~~~
src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
   13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
      |     ^~~~~~~~~~~~
src/IFocusAnimation.cpp: In member function 'virtual void IFocusAnimation::init(void*, std::string)':
src/IFocusAnimation.cpp:8:107: error: C99 designator 'strValue' outside aggregate initializer
    8 |     HyprlandAPI::addConfigValue(pHandle, configPrefix() + "in_bezier",  SConfigValue{.strValue = "default"});
      |                                                                                                           ^
src/IFocusAnimation.cpp:8:107: error: invalid use of incomplete type 'struct SConfigValue'
In file included from src/IFocusAnimation.cpp:3:
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/IFocusAnimation.cpp:9:107: error: C99 designator 'strValue' outside aggregate initializer
    9 |     HyprlandAPI::addConfigValue(pHandle, configPrefix() + "out_bezier", SConfigValue{.strValue = "default"});
      |                                                                                                           ^
src/IFocusAnimation.cpp:9:107: error: invalid use of incomplete type 'struct SConfigValue'
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/IFocusAnimation.cpp:11:102: error: C99 designator 'floatValue' outside aggregate initializer
   11 |     HyprlandAPI::addConfigValue(pHandle, configPrefix() + "in_speed",  SConfigValue{.floatValue = 1.f});
      |                                                                                                      ^
src/IFocusAnimation.cpp:11:102: error: invalid use of incomplete type 'struct SConfigValue'
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/IFocusAnimation.cpp:12:102: error: C99 designator 'floatValue' outside aggregate initializer
   12 |     HyprlandAPI::addConfigValue(pHandle, configPrefix() + "out_speed", SConfigValue{.floatValue = 5.f});
      |                                                                                                      ^
src/IFocusAnimation.cpp:12:102: error: invalid use of incomplete type 'struct SConfigValue'
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/IFocusAnimation.cpp: In member function 'virtual void IFocusAnimation::onWindowFocus(CWindow*, void*)':
src/IFocusAnimation.cpp:26:117: error: 'class Hyprlang::CConfigValue' has no member named 'strValue'
   26 |     m_sFocusInAnimConfig.internalBezier       = HyprlandAPI::getConfigValue(pHandle, configPrefix() + "in_bezier")->strValue;
      |                                                                                                                     ^~~~~~~~
src/IFocusAnimation.cpp:27:116: error: 'class Hyprlang::CConfigValue' has no member named 'floatValue'; did you mean 'getValue'?
   27 |     m_sFocusInAnimConfig.internalSpeed        = HyprlandAPI::getConfigValue(pHandle, configPrefix() + "in_speed")->floatValue;
      |                                                                                                                    ^~~~~~~~~~
      |                                                                                                                    getValue
src/IFocusAnimation.cpp:29:118: error: 'class Hyprlang::CConfigValue' has no member named 'strValue'
   29 |     m_sFocusOutAnimConfig.internalBezier      = HyprlandAPI::getConfigValue(pHandle, configPrefix() + "out_bezier")->strValue;
      |                                                                                                                      ^~~~~~~~
src/IFocusAnimation.cpp:30:117: error: 'class Hyprlang::CConfigValue' has no member named 'floatValue'; did you mean 'getValue'?
   30 |     m_sFocusOutAnimConfig.internalSpeed       = HyprlandAPI::getConfigValue(pHandle, configPrefix() + "out_speed")->floatValue;
      |                                                                                                                     ^~~~~~~~~~
      |                                                                                                                     getValue
src/IFocusAnimation.cpp: At global scope:
src/IFocusAnimation.cpp:33:6: error: no declaration matches 'void IFocusAnimation::addConfigValue(void*, std::string, SConfigValue)'
   33 | void IFocusAnimation::addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue) {
      |      ^~~~~~~~~~~~~~~
src/IFocusAnimation.hpp:12:21: note: candidate is: 'void IFocusAnimation::addConfigValue(void*, std::string, int)'
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                     ^~~~~~~~~~~~~~
src/IFocusAnimation.hpp:7:7: note: 'class IFocusAnimation' defined here
    7 | class IFocusAnimation {
      |       ^~~~~~~~~~~~~~~
src/IFocusAnimation.cpp:37:15: error: no declaration matches 'SConfigValue* IFocusAnimation::getConfigValue(void*, std::string)'
   37 | SConfigValue* IFocusAnimation::getConfigValue(HANDLE pHandle, std::string name) {
      |               ^~~~~~~~~~~~~~~
src/IFocusAnimation.cpp:37:15: note: no functions named 'SConfigValue* IFocusAnimation::getConfigValue(void*, std::string)'
src/IFocusAnimation.hpp:7:7: note: 'class IFocusAnimation' defined here
    7 | class IFocusAnimation {
      |       ^~~~~~~~~~~~~~~
In file included from src/Shrink.hpp:3,
                 from src/Shrink.cpp:1:
src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                                                                      ^~~~~~~~~~~~
src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
   13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
      |     ^~~~~~~~~~~~
src/Shrink.hpp:10:5: error: invalid use of template-name 'CAnimatedVariable' without an argument list
   10 |     CAnimatedVariable m_sShrinkAnimation;
      |     ^~~~~~~~~~~~~~~~~
src/Shrink.cpp: In member function 'virtual void CShrink::init(void*, std::string)':
src/Shrink.cpp:10:81: error: C99 designator 'floatValue' outside aggregate initializer
   10 |     addConfigValue(pHandle, "shrink_percentage", SConfigValue{.floatValue = 0.5f});
      |                                                                                 ^
src/Shrink.cpp:10:81: error: invalid use of incomplete type 'struct SConfigValue'
In file included from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/managers/HookSystemManager.hpp:12,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/protocols/Screencopy.hpp:8,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/protocols/ToplevelExport.hpp:6,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/managers/ProtocolManager.hpp:4,
                 from /nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/Compositor.hpp:18,
                 from src/Shrink.cpp:3:
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/Shrink.cpp: In member function 'virtual void CShrink::onWindowFocus(CWindow*, void*)':
src/Shrink.cpp:20:35: error: 'getConfigValue' was not declared in this scope; did you mean 'HyprlandAPI::getConfigValue'?
   20 |     const auto SHRINKPERCENTAGE = getConfigValue(pHandle, "shrink_percentage")->floatValue;
      |                                   ^~~~~~~~~~~~~~
      |                                   HyprlandAPI::getConfigValue
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:133:37: note: 'HyprlandAPI::getConfigValue' declared here
  133 |     APICALL Hyprlang::CConfigValue* getConfigValue(HANDLE handle, const std::string& name);
      |                                     ^~~~~~~~~~~~~~
src/Shrink.cpp: In lambda function:
src/Shrink.cpp:30:68: error: 'class CAnimatedVariable<Vector2D>' has no member named 'goalv'; did you mean 'goal'?
   30 |                 const auto GOALPOS      = pWindow->m_vRealPosition.goalv();
      |                                                                    ^~~~~
      |                                                                    goal
src/Shrink.cpp:31:64: error: 'class CAnimatedVariable<Vector2D>' has no member named 'goalv'; did you mean 'goal'?
   31 |                 const auto GOALSIZE     = pWindow->m_vRealSize.goalv();
      |                                                                ^~~~~
      |                                                                goal
src/Shrink.cpp:33:61: error: missing template arguments before '*' token
   33 |                 const auto* PANIMATION  = (CAnimatedVariable*)pShrinkAnimation;
      |                                                             ^
src/Shrink.cpp:33:62: error: expected primary-expression before ')' token
   33 |                 const auto* PANIMATION  = (CAnimatedVariable*)pShrinkAnimation;
      |                                                              ^
src/Shrink.cpp:36:99: error: 'class CAnimatedVariable<Vector2D>' has no member named 'vec'
   36 |                 pWindow->m_vRealPosition.setValue(GOALPOS + GOALSIZE / 2.f - pWindow->m_vRealSize.vec() / 2.f);
      |                                                                                                   ^~~
src/Shrink.cpp: In lambda function:
src/Shrink.cpp:40:36: error: missing template arguments before '*' token
   40 |                 ((CAnimatedVariable*)pShrinkAnimation)->resetAllCallbacks();
      |                                    ^
src/Shrink.cpp:40:37: error: expected primary-expression before ')' token
   40 |                 ((CAnimatedVariable*)pShrinkAnimation)->resetAllCallbacks();
      |                                     ^
src/Shrink.cpp:40:38: error: expected ')' before 'pShrinkAnimation'
   40 |                 ((CAnimatedVariable*)pShrinkAnimation)->resetAllCallbacks();
      |                 ~                    ^~~~~~~~~~~~~~~~
      |                                      )
In file included from src/main.cpp:12:
src/Shrink.hpp:10:5: error: invalid use of template-name 'CAnimatedVariable' without an argument list
   10 |     CAnimatedVariable m_sShrinkAnimation;
      |     ^~~~~~~~~~~~~~~~~
src/main.cpp: In function 'void flashWindow(CWindow*)':
src/main.cpp:22:128: error: 'class Hyprlang::CConfigValue' has no member named 'strValue'
   22 |     auto* const PTYPE = g_bMouseWasPressed  ? &HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprfocus:mouse_focus_animation")->strValue
      |                                                                                                                                ^~~~~~~~
src/main.cpp:23:131: error: 'class Hyprlang::CConfigValue' has no member named 'strValue'
   23 |                                             : &HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprfocus:keyboard_focus_animation")->strValue;
      |                                                                                                                                   ^~~~~~~~
src/main.cpp: In function 'void flashCurrentWindow(std::string)':
src/main.cpp:29:111: error: 'class Hyprlang::CConfigValue' has no member named 'intValue'; did you mean 'getValue'?
   29 |     static auto* const PHYPRFOCUSENABLED = &HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprfocus:enabled")->intValue;
      |                                                                                                               ^~~~~~~~
      |                                                                                                               getValue
src/main.cpp: In function 'void onActiveWindowChange(void*, std::any)':
src/main.cpp:43:115: error: 'class Hyprlang::CConfigValue' has no member named 'intValue'; did you mean 'getValue'?
   43 |         static auto* const PHYPRFOCUSENABLED = &HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprfocus:enabled")->intValue;
      |                                                                                                                   ^~~~~~~~
      |                                                                                                                   getValue
src/main.cpp: In function 'void onMouseButton(void*, std::any)':
src/main.cpp:63:58: warning: comparison between 'enum wl_pointer_button_state' and 'enum wlr_button_state' [-Wenum-compare]
   63 |         g_bMouseWasPressed = PWLRMOUSEBUTTONEVENT->state == WLR_BUTTON_PRESSED;
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/main.cpp: In function 'PLUGIN_DESCRIPTION_INFO pluginInit(void*)':
src/main.cpp:76:121: error: C99 designator 'intValue' outside aggregate initializer
   76 |     HyprlandAPI::addConfigValue(PHANDLE, "plugin:hyprfocus:enabled",                    SConfigValue{.intValue = 0      });
      |                                                                                                                         ^
src/main.cpp:76:121: error: invalid use of incomplete type 'struct SConfigValue'
In file included from src/main.cpp:3:
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/main.cpp:77:121: error: C99 designator 'strValue' outside aggregate initializer
   77 |     HyprlandAPI::addConfigValue(PHANDLE, "plugin:hyprfocus:keyboard_focus_animation",   SConfigValue{.strValue = "flash"});
      |                                                                                                                         ^
src/main.cpp:77:121: error: invalid use of incomplete type 'struct SConfigValue'
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/main.cpp:78:121: error: C99 designator 'strValue' outside aggregate initializer
   78 |     HyprlandAPI::addConfigValue(PHANDLE, "plugin:hyprfocus:mouse_focus_animation",      SConfigValue{.strValue = "flash"});
      |                                                                                                                         ^
src/main.cpp:78:121: error: invalid use of incomplete type 'struct SConfigValue'
/nix/store/42y0560kgag83dlkj3g1nb4iakkpkljd-hyprland-0.36.0+date=2024-03-13_3e67ee0-dev/include/hyprland/src/plugins/PluginAPI.hpp:63:8: note: forward declaration of 'struct SConfigValue'
   63 | struct SConfigValue;
      |        ^~~~~~~~~~~~
src/Flash.hpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
In file included from src/Flash.hpp:3:
src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                                                                      ^~~~~~~~~~~~
src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
   13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
      |     ^~~~~~~~~~~~
src/IFocusAnimation.hpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                                                                      ^~~~~~~~~~~~
src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
   13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
      |     ^~~~~~~~~~~~
src/Shrink.hpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
In file included from src/Shrink.hpp:3:
src/IFocusAnimation.hpp:12:70: error: 'SConfigValue' has not been declared
   12 |     void            addConfigValue(HANDLE pHandle, std::string name, SConfigValue sValue);
      |                                                                      ^~~~~~~~~~~~
src/IFocusAnimation.hpp:13:5: error: 'SConfigValue' does not name a type
   13 |     SConfigValue*   getConfigValue(HANDLE pHandle, std::string name);
      |     ^~~~~~~~~~~~
src/Shrink.hpp:10:5: error: invalid use of template-name 'CAnimatedVariable' without an argument list
   10 |     CAnimatedVariable m_sShrinkAnimation;
      |     ^~~~~~~~~~~~~~~~~
make: *** [Makefile:4: all] Error 1

c4lliope avatar Mar 14 '24 18:03 c4lliope

see https://github.com/pyt0xic/hyprfocus and https://github.com/VortexCoyote/hyprfocus/issues/18

vale981 avatar Mar 14 '24 22:03 vale981

I am not very familiar with Nix, so if there is anything I need to update in my fork, let me know and I'll see what I can do.

pyt0xic avatar Mar 24 '24 05:03 pyt0xic