* make: unhardcode pixman-1 and libdrm include cflags
On BSDs /usr/include only contains headers from base system.
$ pkg-config --cflags pixman-1
-I/usr/local/include/pixman-1
$ pkg-config --cflags libdrm
-I/usr/local/include -I/usr/local/include/libdrm
* make: drop GCC dependencies
/bin/sh: g++: not found
c++: error: unsupported option '--no-gnu-unique'
error: invalid value 'c++23' in '-std=c++23'
* make: drop GNU make extensions
Makefile is evaluated by both GNU make and BSD make but their
extensions are not compatible. Instead of renaming Makefile
to GNUmakefile support both.
- GNU $(shell ...) is BSD ${:!...!} or POSIX sh `...` or $$(...)
- GNU $^ is BSD $> for target rule prerequisites
* hyprbars: silence Clang -Wc++11-narrowing like Hyprland
barDeco.cpp:73:47: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:73:47: note: insert an explicit cast to silence this issue
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<double>( )
barDeco.cpp:73:92: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT};
^~~~~~~~
barDeco.cpp:73:92: note: insert an explicit cast to silence this issue
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT};
^~~~~~~~
static_cast<double>( )
barDeco.cpp:249:24: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
m_seExtents = {{0, *PHEIGHT + 1}, {}};
^~~~~~~~~~~~
barDeco.cpp:249:24: note: insert an explicit cast to silence this issue
m_seExtents = {{0, *PHEIGHT + 1}, {}};
^~~~~~~~~~~~
static_cast<double>( )
barDeco.cpp:251:34: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:251:34: note: insert an explicit cast to silence this issue
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<double>( )
barDeco.cpp:251:79: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale;
^~~~~~~~
barDeco.cpp:251:79: note: insert an explicit cast to silence this issue
const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale;
^~~~~~~~
static_cast<double>( )
barDeco.cpp:253:31: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing]
wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:253:31: note: insert an explicit cast to silence this issue
wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
barDeco.cpp:253:97: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing]
wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:253:97: note: insert an explicit cast to silence this issue
wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
barDeco.cpp:254:31: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing]
(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:254:31: note: insert an explicit cast to silence this issue
(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
barDeco.cpp:254:76: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing]
(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */};
^~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:254:76: note: insert an explicit cast to silence this issue
(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */};
^~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
barDeco.cpp:273:30: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing]
wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:273:30: note: insert an explicit cast to silence this issue
wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
barDeco.cpp:273:92: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing]
wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
barDeco.cpp:273:92: note: insert an explicit cast to silence this issue
wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static_cast<int>( )
barDeco.cpp:338:41: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-
Wc++11-narrowing]
return SWindowDecorationExtents{{0, *PHEIGHT}, {}};
^~~~~~~~
barDeco.cpp:338:41: note: insert an explicit cast to silence this issue
return SWindowDecorationExtents{{0, *PHEIGHT}, {}};
^~~~~~~~
static_cast<double>( )
barDeco.cpp:344:100: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER};
^~~~~~~~
barDeco.cpp:344:100: note: insert an explicit cast to silence this issue
return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER};
^~~~~~~~
static_cast<double>( )
barDeco.cpp:344:110: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing]
return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER};
^~~~~~~~~~~~~~~~~~~
barDeco.cpp:344:110: note: insert an explicit cast to silence this issue
return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER};
^~~~~~~~~~~~~~~~~~~
static_cast<double>( )
Based on https://github.com/hyprwm/Hyprland/commit/9ee14eb4452e
* use pangocairo to draw title
* add padding and ellipsis
* add max and close colors to config
* remove snake case, better config variable names
* add pangocairo as a dependency to meson build
* add `buttons:button_size`, adjust for bordersize
* add button_size doc
---------
Co-authored-by: nehrbash <stephen.nehrbass@infinitetactics.com>