outfoxxed / hy3

Hyprland plugin for an i3 / sway like manual tiling layout
GNU General Public License v3.0
459 stars 41 forks source link

Hyprland v0.39.0 update #101

Closed tuxx closed 5 months ago

gouvinb commented 5 months ago

My hy3 installation via hyprpm for Hyprland 0.39.1 (fe7b748eb668136dd0558b7c8279bfcd7ab4d759) is broken. As a result, I'm using this PR as a replacement for the moment. Thanks @tuxx!

outfoxxed commented 5 months ago

Is this still an issue with 0.39.1 being in the manifest?

gouvinb commented 5 months ago

Currently, with the latest version of Hyprland provided by the Archlinux repositories, I get an error when compiling the plugin. But with this PR, I don't have that problem.

$ hyprctl version                               
Hyprland, built from branch  at commit fe7b748eb668136dd0558b7c8279bfcd7ab4d759  (props: bump version to 0.39.1).
Date: Tue Apr 16 16:01:03 2024
Tag: v0.39.1, commits: 4460

flags: (if any)

$ hyprpm add -v https://github.com/outfoxxed/hy3                                         
[v] version returned: Hyprland, built from branch  at commit fe7b748eb668136dd0558b7c8279bfcd7ab4d759  (props: bump version to 0.39.1).
Date: Tue Apr 16 16:01:03 2024
Tag: v0.39.1, commits: 4460

flags: (if any)

[v] parsed commit fe7b748eb668136dd0558b7c8279bfcd7ab4d759 at branch  on Tue Apr 16 16:01:03 2024, commits 4460
✔ adding a new plugin repository from https://github.com/outfoxxed/hy3
  MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
  Are you sure? [Y/n] Y

 → Cloning https://github.com/outfoxxed/hy3                                                                                                                 
✔ cloned                                                                                                                                                    
✔ found hyprpm manifest                                                                                                                                     
✔ parsed manifest, found 1 plugins:                                                                                                                         
 → hy3 by outfoxxed version                                                                                                                                 
 → Manifest has 7 pins, checking                                                                                                                            
✔ commit pin 6f9719291386d5e3baad211420d60e54e9967ee6 matched hl, resetting                                                                                 
✔ Hyprland headers OK                                                                                                                                       
 → Building hy3                                                                                                                                             
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━  3 / 5  Building plugin(s)[v] shell returned:  -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/gouvinb/.local/share/hyprpm/headersRoot/share/pkgconfig" cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -B build
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Checking for modules 'hyprland;pixman-1;libdrm;pango;pangocairo'
--   Found hyprland, version 0.39.1
--   Found pixman-1, version 0.43.4
--   Found libdrm, version 2.4.120
--   Found pango, version 1.52.2
--   Found pangocairo, version 1.52.2
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/new/build

 -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/gouvinb/.local/share/hyprpm/headersRoot/share/pkgconfig" cmake --build build
[ 14%] Building CXX object CMakeFiles/hy3.dir/src/main.cpp.o
[ 28%] Building CXX object CMakeFiles/hy3.dir/src/dispatchers.cpp.o
/tmp/hyprpm/new/src/dispatchers.cpp: Dans la fonction « int workspace_for_action(bool) »:
/tmp/hyprpm/new/src/dispatchers.cpp:12:59: erreur: ne peut convertir « PHLWORKSPACE » {aka « std::shared_ptr<CWorkspace> »} en « int » dans l'initialisation
   12 |         int workspace_id = g_pCompositor->m_pLastMonitor->activeWorkspace;
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
      |                                                           |
      |                                                           PHLWORKSPACE {aka std::shared_ptr<CWorkspace>}
/tmp/hyprpm/new/src/dispatchers.cpp:15:58: erreur: impossible de déduire « auto* » à partir de « CCompositor::getWorkspaceByID(const int&)(workspace_id) »
   15 |         auto* workspace = g_pCompositor->getWorkspaceByID(workspace_id);
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/tmp/hyprpm/new/src/dispatchers.cpp:15:71: note:   types « auto* » et « std::shared_ptr<CWorkspace> » non concordants
   15 |         auto* workspace = g_pCompositor->getWorkspaceByID(workspace_id);
      |                                                                       ^
make[2]: *** [CMakeFiles/hy3.dir/build.make:90: CMakeFiles/hy3.dir/src/dispatchers.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/hy3.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

✖ Plugin hy3 failed to build.                                                                                                                               
  This likely means that the plugin is either outdated, not yet available for your version, or broken.
  If you are on -git, update first.
  Try re-running with -v to see more verbose output.

✔ all plugins built                                                                                                                                         
✔ installed repository                                                                                                                                      
✔ you can now enable the plugin(s) with hyprpm enable                                                                                                       
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!