thrombe / hyprkool Goto Github PK
View Code? Open in Web Editor NEWHyprland plugin to replicate the feel of kde activities and desktop grid layout
License: MIT License
Hyprland plugin to replicate the feel of kde activities and desktop grid layout
License: MIT License
v0.5.2 and git fail to build with the error above.
The log is attached.
hyprkool_built_fails.log
Hey there again, hope you r doing well, I just updated to hyprland 0.40.0-1 (latest on extra), hyprkool simply stopped working, when running "hyprkool" in the terminal i get the help message, but when running hyprkool daemon -m
i get Error: No such file or directory (os error 2)
.
I updated the daemon and the plugin from hyprpm, but to no avail, and using the entore path to run the thingy has the same result, when running ~/.cargo/bin/hyprkool
i get the help message, but when running ~/.cargo/bin/hyprkool daemon - m
i get Error: No such file or directory (os error 2)
Slide animation direction seems pseudo-random, whether changing desktops or activities (it appears repeatable, but doesn't make any sense that I can figure). I would expect that it would make some topological sense, though whether it will match the widget arrangement, of course would depend on the arrangement of the widgets.
Hey again, I hope this is not a stupid one like last one, but when i set the commands to binds they simply don't work, when executing them from the terminal emulator they do, just not when they are set to key binds, here are the config:
# Workspaces & "Move to"
bind = $mainMod SHIFT, h, exec, hyprkool move-left -w -c
bind = $mainMod SHIFT, L, exec, hyprkool move-right -w -c
bind = $mainMod SHIFT, K, exec, hyprkool move-up -w -c
bind = $mainMod SHIFT, J, exec, hyprkool move-down -w -c
bind = $mainMod CTRL, H, exec, hyprkool move-left -c
bind = $mainMod CTRL, L, exec, hyprkool move-right -c
bind = $mainMod CTRL, K, exec, hyprkool move-up -c
bind = $mainMod CTRL, J, exec, hyprkool move-down -c
And after the last update I'm getting the error "[hyprkool] could not send all bytes across sockets" when executing the commands on the terminal, but again, when set to binds, they simply do nothing.
One other issue I found is that when naming the activities as numbers:
activities = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
the command hyprkool daemon -m
does not move you to a hyprkool activity
When using in a multi-monitor setup, it only plays activities and workspaces on the primary monitor; the other monitors remain static. Would it be difficult to have it include all monitors in the desktop-switching?
The following HM option
wayland.windowManager.hyprland.plugins = [
inputs.hyprkool.packages.${pkgs.system}.hyprkool-plugin
];
will generate a line like this in final hyprland.conf
plugin=/nix/store/6ym96zfmf7qy2x732qjm0cap43ns7vsc-hyprkool-0.5.0/lib/libhyprkool.so
but the path of the lib is actually /nix/store/<hash>-hyprkool-0.5.0/lib/hyprkool.so
, without the lib
prefix.
Every plugin I've seen has lib
prefix, so I guess hyprkool
should too.
Hyprkool pin: 564b7f8
Hi!
First issue?
I saw your (?) post on reddit and wanted to try hyprkool out. It looks lie something I have been looking for for a while.
Anway, tried to install it through hyprpm (it worked) but trying to run it I get
〉hyprpm list
[...]
→ Repository hyprkool:
│ Plugin hyprkool
└─ enabled: true
[22:02 ~/Downloads]
〉hyprkool toggle-overview
zsh: hyprkool: command not found...
I then tried to install it from source, it built, but then
〉./target/release/hyprkool toggle-overview
Error: No such file or directory (os error 2)
the executable is there, and I can
〉./target/release/hyprkool
A tool that helps you replicate the feel of kde activities and desktop grid layout in Hyprland
Usage: hyprkool [OPTIONS]
Commands:
daemon
daemon-quit
[...]
but trying to execute any command (daemon, toggle-overview) lead to the same
〉./hyprkool toggle-overview
Error: No such file or directory (os error 2)
any hint?
when running the command hyprpm add https://github.com/thrombe/hyprkool --verbose
I get the following output:
`➜ ~ hyprpm add https://github.com/thrombe/hyprkool --verbose
[v] version returned: Hyprland, built from branch v0.38.1-b at commit 360ede79d124ffdeebbe8401f1ac4bc0dbec2c91 (props: bump ver to 0.38.1).
Date: Sat Apr 6 14:24:13 2024
Tag: v0.38.1
flags: (if any)
[v] parsed commit 360ede79d124ffdeebbe8401f1ac4bc0dbec2c91 at branch v0.38.1-b
✔ adding a new plugin repository from https://github.com/thrombe/hyprkool
MAKE SURE that you trust the authors. DO NOT install random plugins without verifying the code and author.
Are you sure? [Y/n]
→ Cloning https://github.com/thrombe/hyprkool
✔ cloned
✔ found hyprpm manifest
✔ parsed manifest, found 1 plugins:
→ hyprkool by thrombe version
✔ Hyprland headers OK
→ Building hyprkool
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━ 3 / 5 Building plugin(s)[v] shell returned: -> cd /tmp/hyprpm/new && PKG_CONFIG_PATH="/home/Hayyan/.local/share/hyprpm/headersRoot/share/pkgconfig" make plugin
-- The CXX compiler identification is GNU 13.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /sbin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /sbin/pkg-config (found version "2.1.1")
-- Checking for modules 'hyprland;pixman-1;libdrm'
-- Found hyprland, version 0.38.1
-- Found pixman-1, version 0.43.4
-- Found libdrm, version 2.4.120
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/new/plugin/build
make[1]: Entering directory '/tmp/hyprpm/new/plugin/build'
[ 50%] Building CXX object CMakeFiles/hyprkool.dir/src/main.cpp.o
/tmp/hyprpm/new/plugin/src/main.cpp: In member function ‘void OverviewWorkspace::render(CBox, timespec*)’:
/tmp/hyprpm/new/plugin/src/main.cpp:283:27: error: ‘class CWindow’ has no member named ‘m_pWorkspace’; did you mean ‘m_iWorkspaceID’?
283 | auto& ws = w->m_pWorkspace;
| ^~~~~~~~~~~~
| m_iWorkspaceID
/tmp/hyprpm/new/plugin/src/main.cpp: In member function ‘void OverviewWorkspace::render_window(CWindow*, CBox, timespec*)’:
/tmp/hyprpm/new/plugin/src/main.cpp:304:24: error: ‘class CWindow’ has no member named ‘m_pWorkspace’; did you mean ‘m_iWorkspaceID’?
304 | auto o_ws = w->m_pWorkspace;
| ^~~~~~~~~~~~
| m_iWorkspaceID
/tmp/hyprpm/new/plugin/src/main.cpp:306:12: error: ‘class CWindow’ has no member named ‘m_pWorkspace’; did you mean ‘m_iWorkspaceID’?
306 | w->m_pWorkspace = m->activeWorkspace;
| ^~~~~~~~~~~~
| m_iWorkspaceID
/tmp/hyprpm/new/plugin/src/main.cpp:318:12: error: ‘class CWindow’ has no member named ‘m_pWorkspace’; did you mean ‘m_iWorkspaceID’?
318 | w->m_pWorkspace = o_ws;
| ^~~~~~~~~~~~
| m_iWorkspaceID
/tmp/hyprpm/new/plugin/src/main.cpp: In member function ‘void GridOverview::init()’:
/tmp/hyprpm/new/plugin/src/main.cpp:381:31: error: base operand of ‘->’ is not a pointer
381 | if (std::regex_match(w->m_szName, overview_pattern)) {
| ^~
/tmp/hyprpm/new/plugin/src/main.cpp:382:43: error: base operand of ‘->’ is not a pointer
382 | auto ss = std::istringstream(w->m_szName);
| ^~
/tmp/hyprpm/new/plugin/src/main.cpp: In member function ‘void GridOverview::render()’:
/tmp/hyprpm/new/plugin/src/main.cpp:417:64: error: ‘struct SRenderModifData’ has no member named ‘enabled’
417 | auto o_modif = g_pHyprOpenGL->m_RenderData.renderModif.enabled;
| ^~~~~~~
/tmp/hyprpm/new/plugin/src/main.cpp:421:49: error: ‘struct SRenderModifData’ has no member named ‘enabled’
421 | g_pHyprOpenGL->m_RenderData.renderModif.enabled = true;
| ^~~~~~~
/tmp/hyprpm/new/plugin/src/main.cpp:431:49: error: ‘struct SRenderModifData’ has no member named ‘enabled’
431 | g_pHyprOpenGL->m_RenderData.renderModif.enabled = o_modif;
| ^~~~~~~
/tmp/hyprpm/new/plugin/src/main.cpp: In function ‘void on_window(void*, SCallbackInfo&, std::any)’:
/tmp/hyprpm/new/plugin/src/main.cpp:498:31: error: base operand of ‘->’ is not a pointer
498 | if (std::regex_match(w->m_szName, overview_pattern)) {
| ^~
/tmp/hyprpm/new/plugin/src/main.cpp:499:43: error: base operand of ‘->’ is not a pointer
499 | auto ss = std::istringstream(w->m_szName);
| ^~
make[3]: *** [CMakeFiles/hyprkool.dir/build.make:76: CMakeFiles/hyprkool.dir/src/main.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/hyprkool.dir/all] Error 2
make[1]: *** [Makefile:91: all] Error 2
make[1]: Leaving directory '/tmp/hyprpm/new/plugin/build'
make: *** [Makefile:6: plugin] Error 2
✖ Plugin hyprkool failed to build.
✔ all plugins built
✔ installed repository
✔ you can now enable the plugin(s) with hyprpm enable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5 / 5 Done!
➜ ~ `
afaik there is no way to control which side the workspaces slide from as a hyprland plugin, so i recommend either turning off animations for workspaces or using animation styles that do not have directionality. (eg fade)
hyprwm/Hyprland#5491 says there is a way
as the title says, when run manual error " hyprkool plugin must be running for this feature to work." is returned, and while on the way, if I open overview in a different activity, and move to another activity while it is open, and close it after that, when i go back to that activity overview will still be open there
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.