76010d97fe69498557ac6426a7ec6b989ac14343
- Author
- outfoxxed <outfoxxed@outfoxxed.me>
- Committer
- outfoxxed <outfoxxed@outfoxxed.me>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/flake.lock b/flake.lock
2index 51f7d10b927bb0cb1f6b63de995bff0aaa21c89a..09a4f55cfc35abe0dc596b28ea9e2a4ba17d2da2 100644
3--- a/flake.lock
4+++ b/flake.lock
5@@ -20,11 +20,11 @@
6 ]
7 },
8 "locked": {
9- "lastModified": 1772460678,
10- "narHash": "sha256-NYaWs8fYJ38IgFld0hGSdT2LEVhrgO8SiRReBjIH7YY=",
11+ "lastModified": 1774211390,
12+ "narHash": "sha256-sTtAgCCaX8VNNZlQFACd3i1IQ+DB0Wf3COgiFS152ds=",
13 "owner": "hyprwm",
14 "repo": "aquamarine",
15- "rev": "5d2cb726b16ee349df443f84b64cff53221b6983",
16+ "rev": "f62a4dbfa4e5584f14ad4c62afedf6e4b433cf70",
17 "type": "github"
18 },
19 "original": {
20@@ -146,17 +146,17 @@
21 "xdph": "xdph"
22 },
23 "locked": {
24- "lastModified": 1773149218,
25- "narHash": "sha256-m5Ewi+rgn18qPP54Um4O2zwZ02oiomlZssHvXYEUv3U=",
26+ "lastModified": 1775343634,
27+ "narHash": "sha256-y5X04LWh/RDH7FE3y1xEDD+RP8mkfGGiXXZ9u0hky2g=",
28 "owner": "hyprwm",
29 "repo": "hyprland",
30- "rev": "59f9f2688ac508a0584d1462151195a6c4992f99",
31+ "rev": "3a7bd8fea2ca9711da5523dc185c05ea30ec0f35",
32 "type": "github"
33 },
34 "original": {
35 "owner": "hyprwm",
36 "repo": "hyprland",
37- "rev": "59f9f2688ac508a0584d1462151195a6c4992f99",
38+ "rev": "3a7bd8fea2ca9711da5523dc185c05ea30ec0f35",
39 "type": "github"
40 }
41 },
42@@ -324,11 +324,11 @@
43 ]
44 },
45 "locked": {
46- "lastModified": 1772459870,
47- "narHash": "sha256-xxkK2Cvqxpf/4UGcJ/TyCwrvmiNWsKsJfFzHMp2bxis=",
48+ "lastModified": 1774211405,
49+ "narHash": "sha256-6KNwP4ojUzv3YBlZU5BqCpTrWHcix1Jo01BISsTT0xk=",
50 "owner": "hyprwm",
51 "repo": "hyprutils",
52- "rev": "e63f3a79334dec49f8eb1691f66f18115df04085",
53+ "rev": "cb4e152dc72095a2af422956c6b689590572231a",
54 "type": "github"
55 },
56 "original": {
57@@ -378,11 +378,11 @@
58 ]
59 },
60 "locked": {
61- "lastModified": 1772463520,
62- "narHash": "sha256-GIjASzYnV4fK19HnyJKmHyqyxHxIpjusK9foEA4Yo+4=",
63+ "lastModified": 1773074819,
64+ "narHash": "sha256-qRqYnXiKoJLRTcfaRukn7EifmST2IVBUMZOeZMAc5UA=",
65 "owner": "hyprwm",
66 "repo": "hyprwire",
67- "rev": "4e1933ae5602b350c5b6633f5c932549c9b8aca2",
68+ "rev": "f68afd0e73687598cc2774804fedad76693046f0",
69 "type": "github"
70 },
71 "original": {
72@@ -393,11 +393,11 @@
73 },
74 "nixpkgs": {
75 "locked": {
76- "lastModified": 1772542754,
77- "narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
78+ "lastModified": 1774106199,
79+ "narHash": "sha256-US5Tda2sKmjrg2lNHQL3jRQ6p96cgfWh3J1QBliQ8Ws=",
80 "owner": "NixOS",
81 "repo": "nixpkgs",
82- "rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4",
83+ "rev": "6c9a78c09ff4d6c21d0319114873508a6ec01655",
84 "type": "github"
85 },
86 "original": {
87@@ -417,11 +417,11 @@
88 ]
89 },
90 "locked": {
91- "lastModified": 1772024342,
92- "narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
93+ "lastModified": 1774104215,
94+ "narHash": "sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8=",
95 "owner": "cachix",
96 "repo": "git-hooks.nix",
97- "rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
98+ "rev": "f799ae951fde0627157f40aec28dec27b22076d0",
99 "type": "github"
100 },
101 "original": {
102@@ -478,11 +478,11 @@
103 ]
104 },
105diff --git a/flake.nix b/flake.nix
106index e0b434451283036c4513e4f603588cbdc08246a3..d1c3e3ff3b3949188438a79c2f8309db4ec74295 100644
107--- a/flake.nix
108+++ b/flake.nix
109@@ -1,6 +1,6 @@
110 {
111 inputs = {
112- hyprland.url = "github:hyprwm/hyprland/59f9f2688ac508a0584d1462151195a6c4992f99";
113+ hyprland.url = "github:hyprwm/hyprland/3a7bd8fea2ca9711da5523dc185c05ea30ec0f35";
114 };
115
116 outputs = {
117diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
118index be43a3e027602880985af7519d55c205ea053f92..6532640a7aad50c35730fac917f5893e9340713b 100644
119--- a/src/Hy3Layout.cpp
120+++ b/src/Hy3Layout.cpp
121@@ -1,5 +1,6 @@
122 #include <cstdint>
123 #include <regex>
124+#include <optional>
125 #include <set>
126
127 #include <dlfcn.h>
128@@ -15,9 +16,11 @@
129 #include <hyprland/src/plugins/PluginAPI.hpp>
130 #include <hyprland/src/plugins/PluginSystem.hpp>
131 #include <hyprland/src/xwayland/XWayland.hpp>
132+#include <hyprland/src/config/shared/workspace/WorkspaceRuleManager.hpp>
133 #include <hyprutils/math/Vector2D.hpp>
134 #include <ranges>
135
136+#include "config/shared/complex/ComplexDataTypes.hpp"
137 #include "log.hpp"
138 #include "Hy3Layout.hpp"
139 #include "Hy3Node.hpp"
140@@ -399,12 +402,11 @@ void Hy3Layout::onWindowFocusChange(PHLWINDOW window) {
141
142 void Hy3Layout::updateGroupBorderColors() {
143 if (!this->root) return;
144- static auto active_color = CConfigValue<Hyprlang::CUSTOMTYPE>("general:col.active_border");
145+ static auto active_color = ConfigValue<Hyprlang::CUSTOMTYPE, Config::CGradientValueData>("general:col.active_border");
146
147 for (auto& w: this->root->windows()) {
148 if (this->shouldRenderSelected(&w)) {
149- auto* gradient = static_cast<CGradientValueData*>((active_color.ptr())->getData());
150- w.m_ruleApplicator->inactiveBorderColor().set(*gradient, Desktop::Types::PRIORITY_LAYOUT);
151+ w.m_ruleApplicator->inactiveBorderColor().set(*active_color, Desktop::Types::PRIORITY_LAYOUT);
152 } else {
153 w.m_ruleApplicator->inactiveBorderColor().unset(Desktop::Types::PRIORITY_LAYOUT);
154 }
155@@ -1055,13 +1057,13 @@ bottom:
156
157 Hy3Node* findTabBarAt(Hy3Node& node, Vector2D pos, Hy3Node** focused_node) {
158 // clang-format off
159- static const auto p_gaps_in = ConfigValue<Hyprlang::CUSTOMTYPE, CCssGapData>("general:gaps_in");
160+ static const auto p_gaps_in = ConfigValue<Hyprlang::CUSTOMTYPE, Config::CCssGapData>("general:gaps_in");
161 static const auto tab_bar_height = ConfigValue<Hyprlang::INT>("plugin:hy3:tabs:height");
162 static const auto tab_bar_padding = ConfigValue<Hyprlang::INT>("plugin:hy3:tabs:padding");
163 // clang-format on
164
165- auto workspace_rule = g_pConfigManager->getWorkspaceRuleFor(node.layout()->workspace());
166- auto gaps_in = workspace_rule.gapsIn.value_or(*p_gaps_in);
167+ auto workspace_rule = Config::workspaceRuleMgr()->getWorkspaceRuleFor(node.layout()->workspace());
168+ auto gaps_in = workspace_rule.and_then([](auto r) { return r.m_gapsIn; }).value_or(*p_gaps_in);
169
170 auto inset = *tab_bar_height + *tab_bar_padding + gaps_in.m_top;
171
172diff --git a/src/Hy3Node.cpp b/src/Hy3Node.cpp
173index 389289b032d3f98b17a22a286b70fc33b25aec42..260ee45ab5e3af022a720644d56553b402514e0b 100644
174--- a/src/Hy3Node.cpp
175+++ b/src/Hy3Node.cpp
176@@ -8,8 +8,10 @@
177 #include <hyprland/src/config/ConfigManager.hpp>
178 #include <hyprland/src/defines.hpp>
179 #include <hyprland/src/plugins/PluginAPI.hpp>
180+#include <hyprland/src/config/shared/workspace/WorkspaceRuleManager.hpp>
181 #include <hyprutils/math/Box.hpp>
182
183+#include "config/shared/complex/ComplexDataTypes.hpp"
184 #include "log.hpp"
185 #include "Hy3Layout.hpp"
186 #include "Hy3Node.hpp"
187@@ -324,7 +326,7 @@ Hy3Node& Hy3Node::getPlacementActor() {
188
189 void Hy3Node::recalcSizePosRecursive(CBox offsets, bool no_animation) {
190 // clang-format off
191- static const auto p_gaps_in = ConfigValue<Hyprlang::CUSTOMTYPE, CCssGapData>("general:gaps_in");
192+ static const auto p_gaps_in = ConfigValue<Hyprlang::CUSTOMTYPE, Config::CCssGapData>("general:gaps_in");
193 static const auto tab_bar_height = ConfigValue<Hyprlang::INT>("plugin:hy3:tabs:height");
194 static const auto tab_bar_padding = ConfigValue<Hyprlang::INT>("plugin:hy3:tabs:padding");
195 static const auto group_inset = ConfigValue<Hyprlang::INT>("plugin:hy3:group_inset");
196@@ -348,8 +350,8 @@ void Hy3Node::recalcSizePosRecursive(CBox offsets, bool no_animation) {
197 auto tsize = this->visualBox.size();
198
199 auto& group = this->as_group();
200- auto workspace_rule = g_pConfigManager->getWorkspaceRuleFor(this->layout()->workspace());
201- auto gaps_in = workspace_rule.gapsIn.value_or(*p_gaps_in);
202+ auto workspace_rule = Config::workspaceRuleMgr()->getWorkspaceRuleFor(this->layout()->workspace());
203+ auto gaps_in = workspace_rule.and_then([](auto r) { return r.m_gapsIn; }).value_or(*p_gaps_in);
204
205 auto expand_focused = group.expand_focused != ExpandFocusType::NotExpanded;
206 bool directly_contains_expanded =
207diff --git a/src/TabGroup.cpp b/src/TabGroup.cpp
208index e135c0f3c3d50a35f20734c940ecd20b9175d07e..8ba3bb8f195b932e0b197e4c971ca983da02e4c0 100644
209--- a/src/TabGroup.cpp
210+++ b/src/TabGroup.cpp
211@@ -1,6 +1,7 @@
212 #include "TabGroup.hpp"
213 #include <optional>
214 #include <utility>
215+#include <vector>
216
217 #include <GLES2/gl2.h>
218 #include <cairo/cairo.h>
219@@ -15,6 +16,7 @@
220 #include <hyprland/src/managers/input/InputManager.hpp>
221 #include <hyprland/src/render/OpenGL.hpp>
222 #include <hyprland/src/render/Texture.hpp>
223+#include <hyprland/src/config/shared/animation/AnimationTree.hpp>
224 #include <hyprutils/math/Box.hpp>
225 #include <hyprutils/math/Region.hpp>
226 #include <hyprutils/memory/SharedPtr.hpp>
227@@ -24,6 +26,8 @@
228 #include "log.hpp"
229 #include "globals.hpp"
230 #include "render.hpp"
231+#include "render/Renderer.hpp"
232+#include "render/pass/PassElement.hpp"
233
234 using Hyprgraphics::CColor;
235
236@@ -50,56 +54,56 @@ Hy3TabBarEntry::Hy3TabBarEntry(Hy3TabBar& tab_bar, Hy3Node& node): tab_bar(tab_b
237 g_pAnimationManager->createAnimation(
238 0.0F,
239 this->active,
240- g_pConfigManager->getAnimationPropertyConfig("fadeSwitch"),
241+ Config::animationTree()->getAnimationPropertyConfig("fadeSwitch"),
242 AVARDAMAGE_NONE
243 );
244
245 g_pAnimationManager->createAnimation(
246 0.0F,
247 this->focused,
248- g_pConfigManager->getAnimationPropertyConfig("fadeSwitch"),
249+ Config::animationTree()->getAnimationPropertyConfig("fadeSwitch"),
250 AVARDAMAGE_NONE
251 );
252
253 g_pAnimationManager->createAnimation(
254 0.0F,
255 this->urgent,
256- g_pConfigManager->getAnimationPropertyConfig("fadeSwitch"),
257+ Config::animationTree()->getAnimationPropertyConfig("fadeSwitch"),
258 AVARDAMAGE_NONE
259 );
260
261 g_pAnimationManager->createAnimation(
262 0.0F,
263 this->active_monitor,
264- g_pConfigManager->getAnimationPropertyConfig("fadeSwitch"),
265+ Config::animationTree()->getAnimationPropertyConfig("fadeSwitch"),
266 AVARDAMAGE_NONE
267 );
268
269 g_pAnimationManager->createAnimation(
270 -1.0F,
271 this->offset,
272- g_pConfigManager->getAnimationPropertyConfig("windowsMove"),
273+ Config::animationTree()->getAnimationPropertyConfig("windowsMove"),
274 AVARDAMAGE_NONE
275 );
276
277 g_pAnimationManager->createAnimation(
278 -1.0F,
279 this->width,
280- g_pConfigManager->getAnimationPropertyConfig("windowsMove"),
281+ Config::animationTree()->getAnimationPropertyConfig("windowsMove"),
282 AVARDAMAGE_NONE
283 );
284
285 g_pAnimationManager->createAnimation(
286 1.0F,
287 this->vertical_pos,
288- g_pConfigManager->getAnimationPropertyConfig("windowsMove"),
289+ Config::animationTree()->getAnimationPropertyConfig("windowsMove"),
290 AVARDAMAGE_NONE
291 );
292
293 g_pAnimationManager->createAnimation(
294 0.0F,
295 this->fade_opacity,
296- g_pConfigManager->getAnimationPropertyConfig("windowsMove"),
297+ Config::animationTree()->getAnimationPropertyConfig("windowsMove"),
298 AVARDAMAGE_NONE
299 );
300
301@@ -215,7 +219,7 @@ void Hy3TabBarEntry::render(float scale, CBox& box, float opacity_mul) {
302 box.round();
303
304 // sometimes enabled before our renderer is called
305- g_pHyprOpenGL->scissor(nullptr);
306+ Render::GL::g_pHyprOpenGL->scissor(nullptr);
307
308 Hy3Render::renderTab(
309 box,
310@@ -325,31 +329,7 @@ void Hy3TabBarEntry::renderText(float scale, CBox& box, float opacity) {
311diff --git a/src/TabGroup.hpp b/src/TabGroup.hpp
312index dfddfc1cc18cbf59b96e5fa1f73f22e47fdf8953..be3d794f6e459ae73c6d18dabcaa69c01aefb84b 100644
313--- a/src/TabGroup.hpp
314+++ b/src/TabGroup.hpp
315@@ -2,6 +2,7 @@
316
317 #include <optional>
318 #include <utility>
319+#include "render/pass/PassElement.hpp"
320 class Hy3TabGroup;
321 class Hy3TabBar;
322
323@@ -34,7 +35,7 @@ struct Hy3TabGroupWrapper {
324 struct Hy3TabBarEntry {
325 std::string window_title;
326 bool destroying = false;
327- SP<CTexture> texture;
328+ SP<Render::ITexture> texture;
329 PHLANIMVAR<float> active;
330 PHLANIMVAR<float> focused;
331 PHLANIMVAR<float> urgent;
332@@ -125,8 +126,9 @@ public:
333 Hy3TabPassElement(Hy3TabGroup* group): group(group) {}
334
335 const char* passName() override { return "Hy3TabPassElement"; }
336- void draw(const CRegion& damage) override;
337+ std::vector<UP<IPassElement>> draw() override;
338 bool needsLiveBlur() override { return false; }
339+ ePassElementType type() override { return EK_CUSTOM; }
340 bool needsPrecomputeBlur() override;
341 std::optional<CBox> boundingBox() override;
342
343diff --git a/src/dispatchers.cpp b/src/dispatchers.cpp
344index 43d694a6f18910095136fe81223cff3aafdbc0e6..7c1f2137590ea9df17635bb0b7982e6edf50f882 100644
345--- a/src/dispatchers.cpp
346+++ b/src/dispatchers.cpp
347@@ -4,11 +4,15 @@
348 #include <hyprland/src/desktop/DesktopTypes.hpp>
349 #include <hyprland/src/plugins/PluginAPI.hpp>
350 #include <hyprutils/string/String.hpp>
351+#include <hyprutils/string/VarList.hpp>
352
353 #include "dispatchers.hpp"
354+#include "log.hpp"
355 #include "globals.hpp"
356 #include "src/SharedDefs.hpp"
357
358+using Hyprutils::String::CVarList;
359+
360 static Hy3Layout* hy3InstanceForAction(bool allow_fullscreen = false) {
361 auto workspace = workspace_for_action(allow_fullscreen);
362 if (!valid(workspace)) return nullptr;
363@@ -210,7 +214,7 @@ static SDispatchResult dispatch_focustab(std::string value) {
364 else if (args[i] == "index") {
365 i++;
366 focus = TabFocus::Index;
367- if (!isNumber(args[i])) return SDispatchResult {};
368+ if (!Hyprutils::String::isNumber(args[i])) return SDispatchResult {};
369 index = std::stoi(args[i]);
370 hy3_log(LOG, "Focus index '%s' -> %d, errno: %d", args[i].c_str(), index, errno);
371 } else return SDispatchResult {};
372diff --git a/src/globals.hpp b/src/globals.hpp
373index 54062a0d38fc3d2113e27fc19d72982d28955383..eb69328d94e6bb9326f6ca60cd74afa37e65a1cb 100644
374--- a/src/globals.hpp
375+++ b/src/globals.hpp
376@@ -1,7 +1,6 @@
377 #pragma once
378
379 #include <set>
380-#include <type_traits>
381 #include <vector>
382
383 #include <hyprland/src/desktop/Workspace.hpp>
384@@ -10,7 +9,6 @@
385
386 #include "Hy3Layout.hpp"
387 #include "TabGroup.hpp"
388-#include "log.hpp"
389
390 inline HANDLE PHANDLE = nullptr;
391
392diff --git a/src/main.cpp b/src/main.cpp
393index 50829b3408152724ee250d06a98f17f690a3dba5..fa89ef2597df84064e4f38bf250acef8e2f36d3b 100644
394--- a/src/main.cpp
395+++ b/src/main.cpp
396@@ -1,5 +1,4 @@
397 #include <hyprland/src/Compositor.hpp>
398-#include <hyprland/src/config/ConfigDataValues.hpp>
399 #include <hyprland/src/plugins/PluginAPI.hpp>
400 #include <hyprland/src/render/Renderer.hpp>
401 #include <hyprland/src/render/OpenGL.hpp>
402@@ -105,7 +104,7 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
403 auto* entry = wp.get();
404 if (!entry) continue;
405 if (!entry->hidden
406- && entry->target_window == g_pHyprOpenGL->m_renderData.currentWindow.lock()
407+ && entry->target_window == g_pHyprRenderer->m_renderData.currentWindow.lock()
408 && std::find(rendered_groups.begin(), rendered_groups.end(), entry)
409 == rendered_groups.end())
410 {
411diff --git a/src/render.cpp b/src/render.cpp
412index 18710356d5523a6bdc2a80ca023f45a0186c9cf9..167decf92ce055da9e4cca451bf48318223e69ad 100644
413--- a/src/render.cpp
414+++ b/src/render.cpp
415@@ -3,15 +3,18 @@
416 #include <GLES2/gl2.h>
417 #include <hyprland/src/helpers/math/Math.hpp>
418 #include <hyprland/src/render/OpenGL.hpp>
419+#include <hyprland/src/render/gl/GLTexture.hpp>
420 #include <hyprland/src/render/Shader.hpp>
421 #include <hyprutils/math/Box.hpp>
422 #include <hyprutils/math/Misc.hpp>
423 #include <hyprutils/math/Vector2D.hpp>
424
425+#include "render/Renderer.hpp"
426+#include "render/Texture.hpp"
427 #include "shaders.hpp"
428
429+using Render::GL::g_pHyprOpenGL;
430 using Hyprutils::Math::CBox;
431-using Hyprutils::Math::HYPRUTILS_TRANSFORM_NORMAL;
432
433 void Hy3Render::renderTab(
434 const CBox& box,
435@@ -23,7 +26,7 @@ void Hy3Render::renderTab(
436 int radius
437 ) {
438 static auto& shader = Hy3Shaders::instance()->tab;
439- auto& rdata = g_pHyprOpenGL->m_renderData;
440+ auto& rdata = g_pHyprRenderer->m_renderData;
441
442 auto rbox = box;
443 rdata.renderModif.applyToBox(rbox);
444@@ -31,10 +34,13 @@ void Hy3Render::renderTab(
445 const auto& monitorSize = rdata.pMonitor->m_transformedSize;
446 auto monitorBox = CBox {Vector2D(), monitorSize};
447
448- auto matrix =
449- rdata.monitorProjection.projectBox(monitorBox, HYPRUTILS_TRANSFORM_NORMAL, monitorBox.rot);
450+ const auto monitor_inverted = Math::wlTransformToHyprutils(
451+ Math::invertTransform(g_pHyprRenderer->m_renderData.pMonitor->m_transform)
452+ );
453+
454+ Hyprutils::Math::eTransform transform = monitor_inverted;
455
456- auto glMatrix = rdata.projection.copy().multiply(matrix);
457+ auto glMatrix = g_pHyprRenderer->projectBoxToTarget(monitorBox, transform);
458
459 g_pHyprOpenGL->useShader(shader.program);
460
461@@ -45,52 +51,54 @@ void Hy3Render::renderTab(
462 glUniformMatrix3fv(shader.proj, 1, GL_FALSE, glMatrix.getMatrix().data());
463 #endif
464
465- WP<CTexture> blurTex;
466+ WP<Render::ITexture> blurTex;
467
468 if (blur) {
469- blurTex = rdata.pCurrentMonData->blurFB.getTexture();
470+ blurTex = rdata.pMonitor->resources()->m_blurFB->getTexture();
471 if (!blurTex) blur = false;
472 }
473
474 if (blur) {
475- glActiveTexture(GL_TEXTURE0);
476- glBindTexture(blurTex->m_target, blurTex->m_texID);
477- glUniform1i(shader.blurTex, 0);
478+ GLCALL(glActiveTexture(GL_TEXTURE0));
479+ //GLCALL(glBindTexture(blurTex->m_target, blurTex->m_texID));
480+ GLCALL(glBindTexture(GL_TEXTURE_2D, blurTex->m_texID));
481+ GLCALL(glUniform1i(shader.blurTex, 0));
482 }
483
484- glUniform1i(shader.applyBlur, blur);
485+ GLCALL(glUniform1i(shader.applyBlur, blur));
486
487 // premultiplied
488- glUniform4f(
489+ GLCALL(glUniform4f(
490 shader.fillColor,
491 fillColor.r * fillColor.a,
492 fillColor.g * fillColor.a,
493 fillColor.b * fillColor.a,
494 fillColor.a
495- );
496+ ));
497
498 if (borderWidth != 0) {
499- glUniform4f(
500+ GLCALL(glUniform4f(
501 shader.borderColor,
502 borderColor.r * borderColor.a,
503 borderColor.g * borderColor.a,
504 borderColor.b * borderColor.a,
505 borderColor.a
506- );
507+ ));
508 }
509
510- glUniform2f(shader.monitorSize, monitorSize.x, monitorSize.y);
511- glUniform2f(shader.pixelOffset, rbox.x, rbox.y);
512- glUniform2f(shader.pixelSize, rbox.w, rbox.h);
513- glUniform1f(shader.opacity, opacity);
514- glUniform1f(shader.outerRadius, radius);
515diff --git a/src/shaders.cpp b/src/shaders.cpp
516index c5694521dc7a787be6ca666ca2e4c42190b50d37..f120cb579760a272785fdb6eca462fcb7a7bc81c 100644
517--- a/src/shaders.cpp
518+++ b/src/shaders.cpp
519@@ -1,6 +1,4 @@
520 #include "shaders.hpp"
521-#include <csignal>
522-#include <exception>
523 #include <string>
524 #include <stdexcept>
525