* global shortcuts: fix crash by ignoring duplicate shortcuts
hyprland_global_shortcuts_manager_v1_register_shortcut will cause an
error if the (app_id, shortcut_id) combination has already been
registered. Ignore shortcuts that have already been registered.
When a shortcut is registered again it should also overwrite the
session for the keybind to make the shortcut work after restarting
an application, otherwise the key can't be used again.
* Show warning if the shortcut has already been registered
* Remove {} around short ifs
src/portals/Screencopy.cpp:956:9: error: use of undeclared identifier 'close'
close(PBUFFER->fd[plane]);
^
src/portals/Screencopy.cpp:1293:21: error: use of undeclared identifier 'close'
close(pBuffer->fd[plane_tmp]);
^
src/portals/Screencopy.cpp:1308:17: error: use of undeclared identifier 'close'
close(pBuffer->fd[plane]);
^
* Add -Wno-address-of-temporary to allow taking an address of temporary like -fpermissive does for gcc
* Make some implicit casts explicit
* Implement the wl_array_for_each macro inline as clang does not like to handle it's implicit typecast
* Removed unecessary include that was automatically added by the ide
* Replaced reinterpret_cast's with c-style casts
* helpers: add missing header after 9dfb9e125b
src/helpers/MiscFunctions.cpp: In function 'void addHyprlandNotification(const std::string&, float, const std::string&, const std::string&)':
src/helpers/MiscFunctions.cpp:24:9: error: 'fork' was not declared in this scope
24 | if (fork() == 0)
| ^~~~
src/helpers/MiscFunctions.cpp:25:9: error: 'execl' was not declared in this scope
25 | execl("/bin/sh", "/bin/sh", "-c", CMD.c_str(), nullptr);
| ^~~~~
* build: add missing dependency for libc++ after 2f48e65503
ld.lld: error: undefined symbol: pthread_create
>>> referenced by PortalManager.cpp
>>> src/xdg-desktop-portal-hyprland.p/core_PortalManager.cpp.o:(CPortalManager::startEventLoop())
>>> referenced by PortalManager.cpp
>>> src/xdg-desktop-portal-hyprland.p/core_PortalManager.cpp.o:(CPortalManager::startEventLoop())