Compare commits

..

No commits in common. "factory" and "factory" have entirely different histories.

7 changed files with 66 additions and 826 deletions

View File

@ -1,28 +0,0 @@
From 4fcb3f028a8ca15a553faba77f262a3cb75d4a71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= <sp1ritCS@protonmail.com>
Date: Mon, 27 Jan 2025 18:41:45 +0100
Subject: [PATCH] disable donation nag popup
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Florian "sp1rit" <sp1ritCS@protonmail.com>
---
src/managers/DonationNagManager.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/managers/DonationNagManager.cpp b/src/managers/DonationNagManager.cpp
index d7eab9a..4fc8dc9 100644
--- a/src/managers/DonationNagManager.cpp
+++ b/src/managers/DonationNagManager.cpp
@@ -34,6 +34,7 @@ const std::vector<SNagDatePoint> NAG_DATE_POINTS = {
// clang-format on
CDonationNagManager::CDonationNagManager() {
+ return;
static auto PNONAG = CConfigValue<Hyprlang::INT>("ecosystem:no_donation_nag");
if (g_pVersionKeeperMgr->fired() || *PNONAG)
--
2.48.1

3
hyprland-0.43.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fa2166f6e8d42f12674eec4698649113294ea3da41d2d9ddebf8a31adc833049
size 51317448

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f5927f06faba5fcc5ae719a24efa15f363e53be07ef869804b617bab943cdf5b
size 51370696

View File

@ -1,698 +1,3 @@
-------------------------------------------------------------------
Sun Feb 2 17:44:00 UTC 2025 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.47.2:
+ A minor update on top of 0.47.1 with some additional fixes and
patches.
+ Fixes backported
- xwayland: handle window coords correctly (#9238)
- monitor: preferred mode now tries first 3 modes if it fails
before erroring (#9246)
- xwayland: prevent invalid window configurations for X11 apps
(#9253)
- desktop: fix segfault when destroying a partially created ls
(#9247)
- configWatcher: watch both symlinks and canonical paths (#9219)
- xwayland: correct pointer coordinate mismatch in X11 windows
(#9259)
- animation: don't immediately disconnect active vars during tick
(#9272)
- desktop: move popup and subsurface ctors to factories
- popup: take xdg geometry into account in input calcs
- desktop: move popups to UPs and fix missing subsurface resource
-------------------------------------------------------------------
Thu Jan 30 09:08:11 UTC 2025 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.47.1:
+ 0.47.1 comes with, as usual, a few fixes backported from main.
Some crashes, odd behavior, flickers, etc.
+ Fixes backported:
* xwayland: send synthetic configure events (#9193)
* deps: add libinotify-kqueue on BSDs (#9197)
* xwayland: respect window size set by configure requests (#9190)
* ikeyboard: free xkbSymState in clearManuallyAllocd
* configmgr: properly free glob memory
* presentation: log a fixme when there is a feedback leak
* renderer: calculate UV using both pixel and monitor dimensions
* pass/rect: fix bounding / opaque regions
* config/hyprctl: fix keyword not updating autoreload
* monitor: round refresh rates in sorting modes
* popup: stop refocusing at unmap
* subsurface: fix invalid parent typo
-------------------------------------------------------------------
Mon Jan 27 17:15:02 UTC 2025 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.47.0:
+ New year, new Hyprland release brought to you by Yours Truly.
This update is quite large, so you might want to read these patch
notes.
There have been quite a bunch of internal rewrites, mostly around
memory safety, the renderer, and animation system. Although
performance shouldn't change much, it should improve stability in
edge cases. Please do report any regressions you might find, if
they aren't reported already.
+ Breaking changes:
- master:always_center_master has been replaced with a more
flexible master:slave_count_for_center_master
+ New features:
- config: add exec(-onec) with rules and execr(-once) (#8953)
- core/renderer: Add GPU hotplug support (#8980)
- core: Add render:allow_early_buffer_release to make buffer
release configurable (#9019)
- core: Add support for HDR and color management protocols
(#8715)
- core: add --verify-config to verify the config with Hyprland
- ctm: add an internal fade animation to ctm transitions
- debug: add debug:pass for debugging the render pass
- hyprpm: add an option to force reload all plugins (#8883)
- hyprpm: add glaze dependency FetchContent fallback (#8899)
- keybinds: add new window destruction dispatchers (#8962)
- keybinds: add visible arg for cyclenext (#9045)
- master: add option to show slaves on left in center orientation
(#8940)
- pluginAPI: add register dispatcher v2
- protocols: add hyprland_lock_notify_v1 implementation (#9092)
- protocols: add hyprland_surface_v1 implementation (#8877)
- protocols: add hyprland_surface_v1.set_visible_region
implementation (#9120)
- renderer: Add supercircular window corners (#8943)
- selectors: add a tag: to for matching window tag(s) by regex
(#8985)
- socket2: add focusedmonv2 event (#8921)
- windowrules: add negative: prefix for negating a regex
+ Fixes:
- animation: fixup adding animvars during ::tick (#9030)
- animations: fix XWayland cursor glitch and refactor skill
issues (#9033)
- animations: fix borderangle once (#9149)
- compositor: fix incorrect cast, use lambda capture instead
(#9161)
- config: fix animations requiring all args
- config: fix float animation speeds < 0 (#9123)
- config/ConfigWatcher.cpp: add missing include needed for clang
(#9166)
- configmgr: fix crash on very early plugin loads
- core/compositor: fix too early buffer release (#8966)
- core: fix custom resolutions (#8897)
- core: fix possible crash on null active workspace
- data-device: fix edge case crash on null xwm
- debug: fix ISDEBUG checking (#8823)
- debug: fix overlay not rendering
- desktop/DesktopTypes.hpp: fix include (#9104)
- dwindle: fix possible crash on null ws
- functionHooks: wait for hyprland pages before returning addr
for trampo
- helpers/Monitor.cpp: fix include path (#9039)
- hyprctl: Fix hyprctl batch JSON command (#8749)
- hyprctl: fix hyprctl --batch not working with exec rules
(#8952)
- hyprpm: fix hyrpm sometimes returning 0 despite errors occurring
(#8761)
- keybinds: fix movefocus fallback for special workspaces (#9040)
- keybinds: fix nullptr deref in forcekillactive (#9021)
- keybinds: fix previous_per_monitor logic (#9010)
- logging: fix Gpu info (#8764)
- pass: fixup debug mode rendering of input boxes
- protocols: fix alpha-modifier noncompliance (#8929)
- protocols: fix compilation error (#8988)
- renderer: fix CRendererHintsPassElement reset duplication issue
(#8928)
- renderer: fix fullscreen hdr check (#9076)
- renderer: fix oversized blur precalcs not blurring at all
- renderer: fix rare case when a tiled window would be rendered
over fs
- shaders: fix blank windows when using corner rounding (#8969)
(#8971)
- window: fixup fade out animation on silent moves
- xwayland: fix clipboard mime name and atom mismatch (#9137)
- xwayland: fix compile with no xwayland
- xwayland: fix crash when trying to initialize without Xwayland
installed (#9077)
- xwayland: fix dnd including xwayland
- xwayland: fix pointer mismatches with multiple monitors (#9179)
- xwayland: fix sending large clipboard data (#9134)
- xwayland: various window handling fixes
- xwm: fixup targets in selection requests
+ Other:
- properly install 'hyprland' symlink (#9091)
- Renderer: rewrite render scheduling (#8683)
- animation: avoid crashes in ::tick() on mutations
- animationmgr: don't warp based on POINTY value (#9000)
- binds: cycle within group on single monitor if no window found
in the argument direction. (#8714)
- config: avoid querying the fs every tick
- config: disable borderangle by default (#9165)
- config: update animation even if disabled
- config/ConfigManager.cpp: add instruction to edit config
(#9130)
- core: add LIKELY and UNLIKELY macros
- core: always use goal size to send to clients
- core: avoid activating toplevel-less surfaces
- core: cleanup header includes (#9088)
- core: fade in windows when they are brought from invisible
workspaces
- core: guard workspace and monitor in moveWorkspaceToMonitor
- core: make persistent workspaces always follow the config
- core: move all shared_ptrs from the STL to hyprutils (#9143)
- core: move parts of the animation system to hyprutils (#8868)
- core: move sendWindowSize off of xwaylandmgr
- core: move to inotify for monitoring the config files
- core: refactor/improve monitor mode selection (#8804)
- core: reserve vector sizes as much as we can (#9118)
- core: update groups on movewindow (#9183)
- core: use cpu-buffer hw cursors on nvidia by default
- core: use readFileAsString instead of cat for os-release
- ctm: disable fade animation by default on nvidia
- datadevice: do the unfocus surface stuff before dndActive is
true (#9157)
- datadevice: guard XWayland server against crashes
- desktop: move desktop types to memory-safe pointers
- dnd/seat: avoid sending button events during a dnd op
- foreign-toplevel: update active on null window focus (#8860)
- fractional-scale: avoid redundant and duplicate scale events
- groupbar: unify title rendering
- groups: honor group lock window rule (#8782)
- hooksystem: avoid huge include for HANDLE
- hyprpm: use glaze to parse hyprctl plugin list (#8812)
- input: abord dnd op on escape pressed
- input: pass touch events to lock screens (#9129)
- internal: Make static analysis more happy (#8767)
- internal: added reference to CTimer class in KeybindManager
(#8836)
- internal: few small monitor improvements (#8890)
- internal: update window position/size after changing
fullscreenstate (#8865)
- keybinds: attempt to wrap around if fallback is allowed in
movefocus
- layershell: check if layer is valid (#9156)
- layershell: return focus to a valid ls on close if possible
- layout: apply group rules after window creation (#8779)
- layout: damage window properly on float mode changes
- layout: force full damage on toggling floating mode
- layout: set window size after toggling floating
- logging: get broader GPUINFO (#8753)
- master: make loop around optional when cycling (#8926)
- master: replace always_center_master with
slave_count_for_center_master (#8871)
- monitor: avoid crashes on no good modes
- monitor: bring back old description behavior
- opengl: only allocate offMainFB on demand
- opengl: use uv to avoid rendering the entire blurbox
- pass: allow removing all pass elements of a given type
- pass: ignore empty rectangles queued
- pass: improve blur region detection
- pass: improve pass debug mode
- pass: improve pass debugging
- pass: mark crucial elements as undiscardable
- pass: scale blur region in ::render
- pass: scale blur regions properly
- pointer: always scale the cpu cursor to the right size
- protocols: allow hyprland-toplevel-export to capture hidden
windows (#9041)
- protocols: do not capture cursor in toplevel without pointer
focus (#9042)
- protocols: do not destroy screencopy resources before client
request (#9048)
- protocols: immediately copy toplevel content when ignoreDamage
set (#9049)
- regex: log an error if regex parsing fails
- renderer/internal: stop using box pointers
- renderer: Auto enable wide color gamut in HDR mode (#9090)
- renderer: Do not set hdr metadata unless needed (#9014)
- renderer: allow plugins to know what window was rendered in
post
- renderer: don't access hdrMetadata optional if it has no value
(#8987)
- renderer: unload background texture if it's disabled
- renderer: use a render pass for render modif in client render
- renderer: use cairo for cpu buffer rendering (#9071)
- shadow: avoid drawing empty shadows
- snap: don't snap to any windows if workspace has a fullscreen
window (#8870)
- snap: give edge snapping precedence over corner snapping
(#8873)
- snap: revert #8659, use bounds checking instead of bit mask
(#8872)
- subsurface: damage the entire parent on size change
- tablet: send motions on tip events (#9132)
- window: only set m_iMonitorMovedFrom, when moving to a
different monitor (#9160)
- windowrules: precompute regexes for window/layer rules
- windows: honor xdg_toplevel_set_fullscreen output hint (#8965)
- windows: minor initial workspace improvements
- xwayland: avoid sending value of real size to xwayland
- xwayland: don't create an abstract unix domain socket on linux
(#8874)
- xwayland: don't define atoms on no_xwayland builds
- xwayland: support sending clipboard change notification on
focus (#9111)
- Added "disable-donation-nag-popup.patch" to prevent the donation
nag popup from spawning.
-------------------------------------------------------------------
Fri Dec 20 07:58:25 UTC 2024 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.46.2:
+ Fixes backported:
- windowrules: fixup duplicate rule enum tags
- hyprctl: fix hyprctl batch json command (#8749)
- core: avoid activating toplevel-less surfaces
- xwayland: fixes to no_xwayland builds
- xwm: fixup targets in selection requests
- core: unbreak build on FreeBSD (#8762)
- hyprpm: fix hyprpm sometimes returning 0 despite errors
occurring (#8761)
- core: fix possible crash on null workspace
- layout: apply groups after window creation (#8779)
-------------------------------------------------------------------
Tue Dec 17 19:35:11 UTC 2024 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.46.1:
+ A minor release with a patch backported from main.
+ Fixes backported:
- windowrules: fixup duplicate rule enum tags
-------------------------------------------------------------------
Tue Dec 17 11:20:07 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
- Update to version 0.46.0:
+ The Hyprland overlord (also known as Santa in December) is
proudly bringing you 0.46.0.
Merry Hypr Christmas!
+ Breaking changes
- window/layer rule regexes now require a full match (not any
match) to trigger.
- cursor:dumb_copy is gone in favor of cursor:use_cpu_buffer.
This should allow no-downsides Nvidia hardware cursors. Please
note it's experimental.
+ New features:
- binds: add option to allow fullscreening a pinned window
(#8526)
- config: add 'force' option for
'cursor:warp_on_change_workspace' (#8681)
- core: Add support for hyprqtutils' update screen (#8651)
- core: add a few festive splashes
- core: move colorspace handling to oklab (#8635)
- dispatchers: Add an option to prioritize focus change within
groups with movefocus (#8601)
- hooks: add pre connected/disconnected monitor events (#8503)
- hyprctl: add an inhibitingIdle field to windows
- hyprctl: add directScanout to hyprctl monitors
- hyprctl: add json output on hyprctl -j plugins list (#8480)
- input: add warp_back_after_non_mouse_input
- logging: Add some context to config error logs (#8326)
- pointer: add drm dumb buffers for cursors (#8399)
- renderer: add lockdead_screen_delay (#8467)
- renderer: add option to blur IME popups (#8521)
- version: add link versions for other utils (#8619)
- windowrules: add rules for mouse and touchpad scroll factors
(#8655)
- xwayland: Support cross DnD from Wayland (#8708)
+ Fixes:
- animationmgr: fixup stack-use-after-return
- compositor: fix monitor arrangement with mixed auto directions
- core/data-device: expand damage region to fix minor px errors
- core: Fix workspace selector parsing (#8687)
- data-device: fixup wrong box expansion
- defaultConfig: fixup smart gaps rules
- hyprpm: fix incomplete unmet dependencies message
- internal: fix changeWindowZOrder reordering incorrectly (#8494)
- internal: fix some misused configStringToInt conversions
- internal: fixup some missed updateColorsOk() calls
- layerrules: fix ignorezero not working
- monitor: fix default focus when switching to a fs workspace
- opengl: fixup invalid ogl uniform reads
- opengl: fixup missed /4 in oklab parsing
- renderer: fix incorrect early return (#8590)
- renderer: fixup blur optimization considitons
- seat: fix double scrolling in some applications (#8583)
- shm: fix shm fd size check before creating or resizing shm_pool
(#8572)
- windowrules: fix prop rules with boolean values
- workspace: fix missing name via focusworkspaceoncurrentmonitor
(#8484)
+ Other:
- bezier: optimize setup of bezier curves (#8528)
- bind: new long press option (#8302)
- cleanup: remove leftover var in ThreadManager.cpp (#8611)
- config: Changed the default value of
decoration:blur:ignore_opacity to true (#8418)
- config: don't overwrite errors in gradients
- config: throw an error explicitly when parsing colors in
gradients
- config: update the configStringToInt implementation (#8476)
- constraints: don't warp pointer position on release (#8491)
- core/data: Use pointer focus for DnD operations (#8707)
- core/output: don't send enter too aggresively
- core: Move regex from stdlib to re2 (#8736)
- core: Optimize window/layer rule application and scanning
(#8735)
- core: drop using deques in favor of vectors
- core: feeling a bit quirky today.
- core: guard pmonitor in focuswindow
- core: move to os/Process from hyprutils
- core: move version include to hyprctl
- core: removed Herobrine
- core: workspace-related function cleanup / refactor
- crashreporter: avoid clang warning
- debug: clean up fetching of the contents of /proc/device-tree
(#8413)
- debug: clean up opening of files in HyprCtl (#8401)
- descriptions: change allow_pin_fullscreen value to false
(#8592)
- drm: enable explit out fence in AQ (#8431)
- hyprctl: avoid crash on null pwuid
- hyprctl: verify runtime dir exists in instances()
- hyprland-uwsm.desktop: Just reference plain entry (#8553)
- hyprpm: move temp files to XDG_RUNTIME_DIR
- hyprpm: target installed instead of running version (#8634)
- internal: minor cleanups for color results
- keybinds: actually suppress internal keybinds instead of
passing them along (#8538)
- keybinds: allow repeating multiple binds (#8290)
- keybinds: don't animate fullscreen size/pos changes coming in
- keybinds: move to managed pointers
- layersurface: use lastMonitor and not monitor from cursor for
new ls
- master: make center ignore reserved areas (#8625)
- meson: autodetect systemd
- miscfunctions: move configStringToInt to std::expected
- pointer: map devices across all outputs by default (#8352)
- protocols: mark primarySelection as not privileged
- rename hyprland-systemd.desktop and remove
hyprland-session.service
- renderer: don't render unmapped popups
- renderer: drop requesting OUT_FENCE_PTR
- renderer: restore discard mode after IME render pass
- renderer: scaled surfaces could have zero area (#8423)
- renderer: simplify blur enabling logic
- shell: don't use fgrep, prefer grep -F
- shell: propagate new machanism from hyprctl to miscfunctions
- snap: account for position of multiple monitors (#8543)
- snap: bias reserved area when its size is greater than zero
(#8694)
- snap: check which corner is being grabbed for monitor snapping
(#8637)
- snap: use the bit mask to check if snapping occurred (#8659)
- systemd: hyprland-systemd.desktop -> hyprland-uwsm.desktop
- versionkeeper: init version to 0.0.0 if no file is present
- windows/xdg: minor cleanup of min/max size calculations
- windows: allow replacing existing fullscreen (#8566)
- workspace: update hasFullscreenWindow in updateWindows
- workspacerules: Do not check 'on-created-empty' if using a
workspace windowrule (#8486)
- xcursors: store themes in a std:set to order it (#8474)
- xdg-shell: don't report invalid min/max sizes on unset
- xdg-shell: even more robust layout min/max size
-------------------------------------------------------------------
Wed Nov 20 13:55:57 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
- Update to version 0.45.2:
+ Another minor release with 2 patches backported on top of 0.45.1.
+ Fixes backported
- internal: fix changeWindowZOrder reordering incorrectly (#8494)
- xdg-shell: don't report invalid min/max sizes on unset
-------------------------------------------------------------------
Mon Nov 18 21:31:16 UTC 2024 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.45.1:
+ A minor update with a few fixes backported from main.
+ Fixes:
- defaultConfig: fixup smart gaps rules
- hyprpm: fix format crash
- workspace: fix missing name via focusworkspaceoncurrentmonitor
(#8484)
- constraints: don't warp pointer position on release (#8491)
- core: guard pmonitor in focuswindow
- protocols: mark primarySelection as not privileged
- renderer: don't render unmapped popups
- renderer: scaled surfaces could have zero area (#8423)
- shell: don't use fgrep, prefer grep -F
- windows/xdg: minor cleanup of min/max size calculations
- workspacerules: Do not check 'on-created-empty' if using a
workspace windowrule (#8486)
- xcursors: store themes in a std:set to order it (#8474)
-------------------------------------------------------------------
Sat Nov 9 16:26:26 UTC 2024 - Florian "spirit" <sp1rit@disroot.org>
- Update to version 0.45.0:
+ A big update, with tons of fixes, improvements and new stuff!
+ Breaking changes
- no_gaps_when_only has been removed. See the wiki for equivalent
workspace rules.
- decoration:shadow_ variables have moved. See the wiki for the
new names.
+ New features:
- feat: add a custom made treewide formatter (#7992)
- groups: add group_on_movetoworkspace (#8159)
- groups: add merge_groups_on_groupbar (#8362)
- hyprctl: add caps/num lock state for keyboards (#8145)
- hyprctl: add mirrorOf to hyprctl monitors
- hyprpm: Add option to notify on fail and keep original notify
(#8167)
- input: add snapping to floating windows (#8088)
- layout: add drag_into_group to control merging dragging windows
(#8004)
- layout: add merge_floated_into_tiled_on_groupbar (#8042)
- pointer: add default auto for no_hw_cursors
- protocols: Add support for hyprland-ctm-control-v1 (#8023)
- renderer: Add a missing texture asset and a user check
- renderer: add expand_undersized_textures
- shadow: add sharp and refactor options
- snap: add option border_overlap and other improvements (#8289)
+ Fixes:
- IME: Fixup IME popup candidate windows position when scale is
not 1.0 (#8117)
- Makefile: fix legacyrendererdebug typo (#8214)
- Systemd fixes
- config: fix generateConfig loop (#8164)
- core: fix group members disappearing when you move the group to
another monitor (#8237)
- drm-lease: fix crashes and implementation (#8116)
- drm-syncobj: fix crash on missing timelines
- drm-timeline: Add check for conflicting acquire and release
points (#8083)
- group: fix moveWindowIntoGroup (#8297)
- groups: fix swallowing (#8223)
- hyprerror: fix height calc with bottom bar (#8043)
- hyprpm: Fix crashes due to misplaced fmt argument(s) (#8140)
- input: Fix VRR for constrained cursors (#6877)
- internal: cleanup CMonitor usage and fix a few ref hogs
- keybinds: fixup xkb_states for resolve_by_sym
- layersurface: fixup brace style
- layout: fix auto group when opening a new window in a
non-focused workspace using window rules (#8006)
- layout: window snapping cleanup + fixes
- misc: Fix bad links to wiki (#8240)
- monitors: fix vrr breaking monitor disconnect (#8314)
- notif-overlay: add a bit of padding for icons
- renderer: fix floating window damage (#8182)
- renderer: minor fixup to window rendering logic (#8359)
- screencopy: fix build with legacyrenderer
- screencopy: fix screencopy frames not being cleaned up (#8017)
- shaders: fixup jagged edges in texture rounded corners
- shadow: fix double premultiplication
- xwayland: minor cleanups and fixes (#8076)
- xwayland: minor fixups for stability (#8323)
+ Other:
- Build with hyprland-session.service (#8251)
- config/example: add optional smart gaps to the default config
- defaultConfig: add a nofocus rule for weird X windows
- Improve hyprland-session.service (#8225)
- compositor: make sure we don't ret early on no surface
- config/layout: nuke no_gaps_when_only (#8072)
- config: give simple help for super+q not working
- core: move internal structures to monitor pointers (#8266)
- default/config: improve default animations
- defaultConfig: improve smart gaps
- defaultConfig: update default config values for shadows (#8360)
- dispatchers: allow leading whitespace in window parameter
(#8016)
- example: update desktop file to include DesktopNames
- example/hyprland-session.service: add support for xdg autostart
(#8230)
- foreign-toplevel-wlr: don't send updates to X11 OR windows
- foreign-toplevel: don't send updates to X11 OR windows
- gammactrl: guard pMonitor in setGamma
- groupbar: set locked color when groups are globally locked
(#8257)
- hyprctl: convert std::cout and std::cerr to std::println()
- hyprctl: move setprop into dispatchers (#8275)
- hyprctl: reload windowrules on reloadAll
- hyprerror: make hyprerror reserve space (#8040)
- hyprland-systemd.desktop improvements (#8318)
- hyprland-systemd.desktop: change name back to Hyprland (#8351)
- hyprland: convert std::cout and std::cerr to std::println()
- hyprpm: convert std::cout and std::cerr to std::println()
- hyprpm: disallow shallow on unknown branch
- input: Refocus window on scrolling if follows mouse (#8361)
- input: cleanup device naming logic
- input: ignore non-kb ls-es in refocusLastWindow
- internal: Move CMonitor to SP (#8178)
- internal: Remove some unused lambda captures (#8218)
- internal: check size limit in layouts (#8298)
- internal: few more marginal optimisations from profiling
(#8271)
- internal: improve version query and define HYPRLAND_VERSION
(#8034)
- internal: more profiling less calls and local copies (#8300)
- internal: optimize cursor move a bit (#8264)
- internal: use clampWindowSize to unify min/maxsize handling
(#8014)
- keyboard: update group state on change for the sym resolve
state
- layershell: check if workspace is valid in onMap
- layershell: minor cleanups and improvements to focus
- layersurface: round geom in arrangeLayerArray
- layout: deny auto-grouping a new floating window into a tiled
group (#8108)
- layout: don't snap to self and allow same-pid snaps
- layout: enable group rules for new floating windows (#8122)
- layout: move applyGroupRules() to onWindowCreated() (#8139)
- layout: remove unnecessary check after 45e8219 (#8037)
- layout: simplify the conditions to autogroup (#8120)
- layout: slight adjustments to snapping logic (#8273)
- misc: refactor version command (#8027)
- monitor: avoid crash on released buffer in surf
- monitor: modernize/refactor last legacy-handled events
- output/xdg-output: avoid sending events to released globals
- output: send enter events on late wl_output binds
- output: update state even if no owner exists (#8044)
- pointer: expand sw cursor damage box
- renderer: don't rely on datarootdir for local share
- renderer: improve api around new framebuffer changes
- renderer: reserve space for error at the bottom if that's set
- renderer: safeguard against non-sampleable currentFB in
blurMainFb
- seat: avoid sending pointless 'keymap' and 'repeat_info' events
(#8276)
- security-context: avoid UB in C macro (#8229)
- security-context: close client fds after disconnect
- security-context: implement protocol
- session-lock: reset seat grab on a new session lock (#8147)
- shaders: improve corner AA in borders shader
- swallow: check if swallow_regex doesn't exist (#8265)
- tablet: use inputMgr unified naming scheme
- window: properly break cycles in X11TransientFor
- windowrules: allow specifying max size in size window rule
(#8021)
- xcursor: don't crash on broken permissions in X themes
- xwm: avoid infinite parent lookup loop in lookupParentExists
-------------------------------------------------------------------
Wed Oct 9 15:11:23 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
- Update to version 0.44.1:
+ A minor patch release with a few patches backported from main to
0.44.0.
+ Fixes backported
- output/xdg-output: avoid sending events to released globals
- keyboard: update group state on change for the sym resolve
state
- defaultConfig: add a nofocus rule for weird X windows
- pointer: expand sw cursor damage box
- keybinds: fixup xkb_states for resolve_by_sym
- config: give simple help for super+q not working
- screencopy: fix screencopy frames not being cleaned up
- layout: fix auto group when opening a new window in a
non-focused workspace
-------------------------------------------------------------------
Sun Oct 6 11:41:04 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
- Update to version 0.44.0:
+ An update full of bugfixes and new niceties has landed upon us :)
+ New features:
- args: add --version to binary args
- config: add descriptions for dwindle and master layout options
(#7933)
- config: add order rule for layers (#7697)
- core: add HYPRLAND_CONFIG environment variable (#7851)
- core: add a --systeminfo parameter to gather systeminfo without
running
- dwindle: add config option split_bias (#7920)
- dwindle: add movetoroot method to layout messages (#7903)
- hyprctl: add defaultName to workspacerules
- hyprctl: add solitary field to hyprctl monitors
- hyprctl: add submap request
- layout: add auto_group to control default grouping (#7883)
- userchecks: add an xdg_current_desktop check
+ Fixes:
- Meson: fix protocols, clean up
- Meson: add tracy dependency
- byteoperations: add missing header
- core: Fix Musl builds (#7934)
- dispatchers: fixup dpms toggle (#7875)
- gammactrl: fix potential crash on monitor removed (#7828)
- internal: Fix change group current fullscreen state query
(#7802)
- internal: fix initial cursor warping (#7793)
- internal: fix missing include directive (#7984)
- layout: fix dragging a window into a group (#7976)
- man: Fixed the man page to show the new information (#7713)
- protocol: fix missing include
- renderer: Fix resize artifacts (stretching, bumps) (#7499)
- renderer: fix uvBR calculation (#7975)
- textinput: fix tiv3 leave (#7761)
- tiv1: fix deleting first character (#7716)
+ Other:
- Internal: move to Mat3x3 from hyprutils (#7902)
- Meson: pass AQUAMARINE_VERSION argument
- Meson: try to find udis86 through pkgconfig, fallback to
subproject
- assets: Remove execute permission from lockdead.png (#7715)
- build: Set cmake_minimum_required to version 3.30 (#7709)
- compositor/wayland: up the max buffer size to avoid disconnects
when app hangs
- compositor: update all xdg outputs on arrange
- config: Limit max volume to 100%
- config: include XF86Audio* key bindings to default cfg (#7695)
- data-device: conform to reported source actions
- data-device: don't send default action of move
- data-device: send clock time in motion events
- dispatchers: allow moveintogroup when floating (#7818)
- dmabuffer: attempt importing failed dmabufs as implicit
- eventloop: dispatch pending in session on start
- github: encourage usage of --systeminfo if Hyprland won't
launch
- hyprctl: allow parsing empty value
- hyprctl: use the getMonitorData helper everywhere
- input: move dmps activation to input listeners (#7721)
- internal: removed Herobrine
- internal: Delay monitor events/hooks (#7797)
- internal: move to hyprutils' scopeguard
- internal: nuke wlsignal and related
- monitor: arrange monitors on connect and disconnect
- monitor: cleanup and modernize scheduleDone
- monitor: use a scope guard for disconnect events
- opengl: use GL_CLAMP_TO_EDGE instead of GL_CLAMP
- pointermgr: Hide hardware cursor on leave (#7806)
- pointermgr: avoid derefing null outputs
- pointermgr: avoid hogging CMonitor refs
- protocolmgr: don't expose the fallback output
- shm: send a static list of shm formats
- single-pixel-buffer: new protocol impl
- single-pixel: set buffer size to 1,1
- textinput: don't reset if ti isn't enabled (#7798)
- textinput: handle IME resetting (#7731)
- version: log build aquamarine version
- wayland/output: send geometry in updateState
- wlr-output-configuration: Improve output configuration (#7571)
- wlr-output-management: accept 0 refresh rates
- xdg-output: minor cleanups
- xwayland: Some readability improvements (#7807)
- xwayland: remove extra x11 deactivation (#7755)
- xwayland: use proper path for the XWayland sockets (#7852)
- xwm: Minor cleanup, add wrappers for basic types (#7856)
- Added "meson-missing-wayland-include.patch" required to build
hyprland. See message body of the patch for more details.
-------------------------------------------------------------------
Sun Sep 8 23:12:21 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
@ -1808,6 +1113,7 @@ Sat Mar 16 19:50:56 UTC 2024 - Florian "sp1rit" <sp1rit@disroot.org>
- socket2: Add 5 IPC event with support for workspace ID (#5022)
- subsurface/popup: expand on map/unmap to add buffering
+ Fixes:
- CrashReporter: Fix compilation with musl libc (#4805)
- animations: fix m_Goal not being set after #4911 (#4992)
- configmgr: fix compile on 32-bit archs
- core: add additional headers for Popup.cpp and

View File

@ -1,7 +1,7 @@
#
# spec file for package hyprland
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2022-24 Florian "sp1rit" <packaging@sp1rit.anonaddy.me>
#
# All modifications and additions to the file contributed by third parties
@ -22,33 +22,29 @@
%define shortname hypr
Name: hyprland
Version: 0.47.2
Version: 0.43.0
Release: 0
Summary: Dynamic tiling Wayland compositor
License: BSD-3-Clause
URL: https://hyprland.org/
Source0: %{name}-%{version}.tar.xz
Source99: %{name}.rpmlintrc
Patch1: meson-missing-wayland-include.patch
Patch2: disable-donation-nag-popup.patch
Patch100: opensuse-hyprpm-use-hyprland-devel-subpkg.patch
BuildRequires: cmake
BuildRequires: gcc-c++ >= 14
BuildRequires: git
BuildRequires: glaze-devel
BuildRequires: glslang-devel
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(aquamarine) >= 0.7.0
BuildRequires: pkgconfig(aquamarine)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gbm) >= 17.1.0
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(hyprcursor) >= 0.1.9
BuildRequires: pkgconfig(hyprgraphics) >= 0.1.1
BuildRequires: pkgconfig(hyprlang) >= 0.3.2
BuildRequires: pkgconfig(hyprutils) >= 0.3.1
BuildRequires: pkgconfig(hyprutils) >= 0.2.1
BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.8
BuildRequires: pkgconfig(libdrm) >= 2.4.118
BuildRequires: pkgconfig(libinput) >= 1.14.0
@ -56,8 +52,6 @@ BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(pixman-1) >= 0.42.0
BuildRequires: pkgconfig(re2)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(tomlplusplus)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(vulkan) >= 1.2.182
@ -165,7 +159,6 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp
%build
%meson \
-Duwsm=disabled \
-Dwlroots-hyprland:xcb-errors=%{?with_xcb_errors:enabled}%{!?with_xcb_errors:disabled}
%meson_build
@ -176,7 +169,6 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp
%license LICENSE
%doc README.md
%{_bindir}/Hyprland
%{_bindir}/hyprland
%{_bindir}/hyprctl
%{_bindir}/hyprpm
%dir %{_datadir}/%{shortname}

View File

@ -1,36 +0,0 @@
From d037427e96b75d66d73fac73eda659b6fcaf33c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= <sp1rit@disroot.org>
Date: Sun, 6 Oct 2024 14:46:19 +0200
Subject: [PATCH] protocols/meson: fix missing wayland header
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Compilation of wlr-foreign-toplevel-management-unstable-v1.cpp fails due
to its header including <wayland-server.h>. This change adds the
required dependency to the static library.
Signed-off-by: Florian "sp1rit" <sp1rit@disroot.org>
---
protocols/meson.build | 2 ++
1 file changed, 2 insertions(+)
diff --git a/protocols/meson.build b/protocols/meson.build
index 6990b5a..d28aefd 100644
--- a/protocols/meson.build
+++ b/protocols/meson.build
@@ -92,9 +92,11 @@ wayland_protocol = custom_target(
command: [hyprwayland_scanner, '--wayland-enums', '@INPUT@', '@OUTDIR@'],
)
+wayland_server_dep = dependency('wayland-server', version: '>=1.20.0')
lib_server_protos = static_library(
'server_protos',
wl_protocols + wayland_protocol,
+ dependencies: wayland_server_dep.partial_dependency(compile_args: true),
)
server_protos = declare_dependency(
--
2.46.0

View File

@ -1,4 +1,4 @@
From 1046bd52a4725819fd0ab00391b29adeb0d1eeef Mon Sep 17 00:00:00 2001
From c34dc954cc6388e9bc9ea608152ae4fc3f201bb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20sp1rit=E2=80=8B?= <sp1rit@disroot.org>
Date: Fri, 14 Jun 2024 23:43:46 +0200
Subject: [PATCH] openSUSE: Use hyprland-devel instead of downloading from
@ -17,23 +17,27 @@ It also adds a new check to ensure that the subpackage is instealled.
Signed-off-by: Florian "sp1rit" <sp1rit@disroot.org>
---
hyprpm/src/core/DataState.cpp | 2 +-
hyprpm/src/core/PluginManager.cpp | 138 ++++--------------------------
2 files changed, 20 insertions(+), 120 deletions(-)
hyprpm/src/core/PluginManager.cpp | 140 +++++-------------------------
2 files changed, 21 insertions(+), 121 deletions(-)
diff --git a/hyprpm/src/core/DataState.cpp b/hyprpm/src/core/DataState.cpp
index fb8679d..a1c7026 100644
index 61ad336..99dbadd 100644
--- a/hyprpm/src/core/DataState.cpp
+++ b/hyprpm/src/core/DataState.cpp
@@ -22,3 +22,3 @@ std::string DataState::getHeadersPath() {
@@ -21,7 +21,7 @@ std::string DataState::getDataStatePath() {
}
std::string DataState::getHeadersPath() {
- return getDataStatePath() / "headersRoot";
- return getDataStatePath() + "/headersRoot";
+ return "REPLACE_ME_WITH_PREFIX/";
}
void DataState::ensureStateStoreExists() {
diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp
index 48b108c..b0f590b 100644
index 6988547..036c705 100644
--- a/hyprpm/src/core/PluginManager.cpp
+++ b/hyprpm/src/core/PluginManager.cpp
@@ -15,6 +15,7 @@
@@ -14,6 +14,7 @@
#include <sys/types.h>
#include <sys/stat.h>
@ -41,25 +45,26 @@ index 48b108c..b0f590b 100644
#include <pwd.h>
#include <unistd.h>
@@ -435,141 +436,27 @@ bool CPluginManager::updateHeaders(bool force) {
const auto HLVER = getHyprlandVersion(false);
@@ -406,134 +407,20 @@ bool CPluginManager::updateHeaders(bool force) {
const auto HLVER = getHyprlandVersion();
if (!hasDeps()) {
- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio, pkg-config"));
+ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio, pkg-config"));
- std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio\n";
+ std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio\n";
return false;
}
- if (!std::filesystem::exists(getTempRoot())) {
- std::filesystem::create_directory(getTempRoot());
- std::filesystem::permissions(getTempRoot(), std::filesystem::perms::owner_all, std::filesystem::perm_options::replace);
-
- if (!std::filesystem::exists("/tmp/hyprpm")) {
- std::filesystem::create_directory("/tmp/hyprpm");
- std::filesystem::permissions("/tmp/hyprpm", std::filesystem::perms::all, std::filesystem::perm_options::replace);
- }
-
- if (!force && headersValid() == HEADERS_OK) {
- std::println("\n{}", successString("Headers up to date."));
- std::cout << "\n" << std::string{Colors::GREEN} + "✔" + Colors::RESET + " Headers up to date.\n";
- return true;
- }
-
+
CProgressBar progress;
- progress.m_iMaxSteps = 5;
+ progress.m_iMaxSteps = 1;
@ -68,76 +73,77 @@ index 48b108c..b0f590b 100644
- progress.print();
-
- const std::string USERNAME = getpwuid(getuid())->pw_name;
- const auto WORKINGDIR = getTempRoot() + "hyprland-" + USERNAME;
- const auto WORKINGDIR = "/tmp/hyprpm/hyprland-" + USERNAME;
-
- if (!createSafeDirectory(WORKINGDIR)) {
- std::println("\n{}", failureString("Could not prepare working dir for hl"));
- std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not prepare working dir for hl\n";
- return false;
- }
-
- progress.printMessageAbove(statusString("!", Colors::YELLOW, "Cloning https://github.com/hyprwm/Hyprland, this might take a moment."));
- progress.printMessageAbove(std::string{Colors::YELLOW} + "!" + Colors::RESET + " Cloning https://github.com/hyprwm/hyprland, this might take a moment.");
-
- const bool bShallow = (HLVER.branch == "main") && !m_bNoShallow;
- const bool bShallow = (HLVER.branch == "main" || HLVER.branch == "") && !m_bNoShallow;
-
- // let us give a bit of leg-room for shallowing
- // due to timezones, etc.
- const std::string SHALLOW_DATE = trim(HLVER.date).empty() ? "" : execAndGet("LC_TIME=\"en_US.UTF-8\" date --date='" + HLVER.date + " - 1 weeks' '+%a %b %d %H:%M:%S %Y'");
- const std::string SHALLOW_DATE =
- trim(HLVER.date).empty() ? "" : execAndGet("LC_TIME=\"en_US.UTF-8\" date --date='" + HLVER.date + " - 1 weeks' '+\%a \%b \%d \%H:\%M:\%S \%Y'");
-
- if (m_bVerbose && bShallow)
- progress.printMessageAbove(verboseString("will shallow since: {}", SHALLOW_DATE));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "will shallow since: " + SHALLOW_DATE);
-
- std::string ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-{}{}", getTempRoot(), USERNAME,
- (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : "")));
- std::string ret =
- execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/hyprland hyprland-" + USERNAME + (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : ""));
-
- if (!std::filesystem::exists(WORKINGDIR)) {
- progress.printMessageAbove(failureString("Clone failed. Retrying without shallow."));
- ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/hyprland hyprland-{}", getTempRoot(), USERNAME));
- progress.printMessageAbove(std::string{Colors::RED} + "✖" + Colors::RESET + " Clone failed. Retrying without shallow.");
- ret = execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/hyprland hyprland-" + USERNAME);
- }
-
- if (!std::filesystem::exists(WORKINGDIR + "/.git")) {
- std::println(stderr, "\n{}", failureString("Could not clone the Hyprland repository. shell returned:\n{}", ret));
- std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not clone the hyprland repository. shell returned:\n" << ret << "\n";
- return false;
- }
-
- progress.printMessageAbove(successString("Hyprland cloned"));
- progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " cloned");
- progress.m_iSteps = 2;
- progress.m_szCurrentMessage = "Checking out sources";
- progress.print();
-
- if (m_bVerbose)
- progress.printMessageAbove(verboseString("will run: cd {} && git checkout {} 2>&1", WORKINGDIR, HLVER.hash));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "will run: " + "cd " + WORKINGDIR + " && git checkout " + HLVER.hash + " 2>&1");
-
- ret = execAndGet("cd " + WORKINGDIR + " && git checkout " + HLVER.hash + " 2>&1");
-
- if (ret.contains("fatal: unable to read tree")) {
- std::println(stderr, "\n{}",
- failureString("Could not checkout the running Hyprland commit. If you are on -git, try updating.\n"
- "You can also try re-running hyprpm update with --no-shallow."));
- std::cerr << "\n"
- << Colors::RED << "✖" << Colors::RESET
- << " Could not checkout the running Hyprland commit. If you are on -git, try updating.\nYou can also try re-running hyprpm update with --no-shallow.\n";
- return false;
- }
-
- if (m_bVerbose)
- progress.printMessageAbove(verboseString("git returned (co): {}", ret));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "git returned (co): " + ret);
-
- ret = execAndGet("cd " + WORKINGDIR + " ; git rm subprojects/tracy ; git submodule update --init 2>&1 ; git reset --hard --recurse-submodules " + HLVER.hash);
-
- if (m_bVerbose)
- progress.printMessageAbove(verboseString("git returned (rs): {}", ret));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "git returned (rs): " + ret);
-
- progress.printMessageAbove(successString("checked out to running ver"));
- progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " checked out to running ver");
- progress.m_iSteps = 3;
- progress.m_szCurrentMessage = "Building Hyprland";
- progress.print();
-
- progress.printMessageAbove(statusString("!", Colors::YELLOW, "configuring Hyprland"));
- progress.printMessageAbove(std::string{Colors::YELLOW} + "!" + Colors::RESET + " configuring Hyprland");
-
- if (m_bVerbose)
- progress.printMessageAbove(verboseString("setting PREFIX for cmake to {}", DataState::getHeadersPath()));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "setting PREFIX for cmake to " + DataState::getHeadersPath());
-
- ret = execAndGet(std::format("cd {} && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:STRING=\"{}\" -S . -B ./build -G Ninja", WORKINGDIR,
- DataState::getHeadersPath()));
- if (m_bVerbose)
- progress.printMessageAbove(verboseString("cmake returned: {}", ret));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "cmake returned: " + ret);
-
- if (ret.contains("CMake Error at")) {
- // missing deps, let the user know.
@ -146,49 +152,49 @@ index 48b108c..b0f590b 100644
- missing = missing.substr(0, missing.find("-- Configuring incomplete"));
- missing = missing.substr(0, missing.find_last_of('\n'));
-
- std::println(stderr, "\n{}",
- failureString("Could not configure the hyprland source, cmake complained:\n{}\n\n"
- "This likely means that you are missing the above dependencies or they are out of date.",
- missing));
- std::cerr << "\n"
- << Colors::RED << "✖" << Colors::RESET << " Could not configure the hyprland source, cmake complained:\n"
- << missing << "\n\nThis likely means that you are missing the above dependencies or they are out of date.\n";
- return false;
- }
-
- progress.printMessageAbove(successString("configured Hyprland"));
- progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " configured Hyprland");
- progress.m_iSteps = 4;
- progress.m_szCurrentMessage = "Installing sources";
+ progress.m_szCurrentMessage = "Checking headers";
progress.print();
- const std::string& cmd =
- std::string cmd =
- std::format("sed -i -e \"s#PREFIX = /usr/local#PREFIX = {}#\" {}/Makefile && cd {} && make installheaders", DataState::getHeadersPath(), WORKINGDIR, WORKINGDIR);
- if (m_bVerbose)
- progress.printMessageAbove(verboseString("installation will run: {}", cmd));
- progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "installation will run: " + cmd);
-
- ret = execAndGet(cmd);
-
- if (m_bVerbose)
- std::println("{}", verboseString("installer returned: {}", ret));
- std::cout << Colors::BLUE << "[v] " << Colors::RESET << "installer returned: " << ret << "\n";
-
- // remove build files
- std::filesystem::remove_all(WORKINGDIR);
-
auto HEADERSVALID = headersValid();
if (HEADERSVALID == HEADERS_OK) {
progress.printMessageAbove(successString("installed headers"));
progress.printMessageAbove(std::string{Colors::GREEN} + "✔" + Colors::RESET + " installed headers");
- progress.m_iSteps = 5;
+ progress.m_iSteps = 1;
progress.m_szCurrentMessage = "Done!";
progress.print();
std::print("\n");
@@ -541,7 +428,7 @@ bool CPluginManager::updateHeaders(bool force) {
} else {
progress.printMessageAbove(failureString("failed to install headers with error code {} ({})", (int)HEADERSVALID, headerErrorShort(HEADERSVALID)));
progress.printMessageAbove(std::string{Colors::RED} + "✖" + Colors::RESET + " failed to install headers with error code " + std::to_string((int)HEADERSVALID) + " (" +
headerErrorShort(HEADERSVALID) + ")");
- progress.m_iSteps = 5;
+ progress.m_iSteps = 1;
progress.m_szCurrentMessage = "Failed";
progress.print();
@@ -945,6 +832,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) {
@@ -904,6 +791,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) {
}
bool CPluginManager::hasDeps() {
@ -209,5 +215,5 @@ index 48b108c..b0f590b 100644
for (auto const& d : deps) {
if (!execAndGet("command -v " + d).contains("/"))
--
2.47.0
2.45.2