Commit Graph

64 Commits

Author SHA1 Message Date
Vaxry
88b63a00b6
renderer: Tearing implementation (#3441) 2023-09-28 21:48:33 +01:00
memchr
8e9f010ee0
build: use PCH to reduce compile time (#3095) 2023-09-04 19:56:02 +02:00
vaxerski
b48f810a12 meson/cmake: remove refs to ext-workspace-unstable-v1 2023-09-01 17:14:56 +02:00
vaxerski
f5913135c6 input: add support for cursor-shape-v1 2023-07-24 18:50:17 +02:00
vaxerski
7940f779e9 cmakelists: move tracy to debug section 2023-07-20 18:29:37 +02:00
vaxerski
e5dd133808 cmake: fix compile 2023-07-20 17:57:02 +02:00
vaxerski
a921c5b89e Debug: add tracy 2023-07-20 17:47:49 +02:00
vaxerski
b156a9654f build: add asan enable status flag 2023-07-16 17:06:05 +02:00
vaxerski
01f85a09a9 xwayland: send zero scaling to xwayland if enabled 2023-06-23 21:42:44 +02:00
vaxerski
9cf72a30fc debug: add WITH_ASAN flag in cmake 2023-06-01 17:08:11 +02:00
Jan Beich
609c7ab6b5
Unbreak CMake build on FreeBSD (#2209)
* cmake: unbreak on non-GNU after 474ada9267

CMake Error at CMakeLists.txt:121 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "Hyprland".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:107 (target_link_libraries)

Fixes https://github.com/hyprwm/Hyprland/issues/1780

* cmake: always link with dependencies via imported targets

On BSD systems base compiler by default only looks for headers and
libraries from base system. For dependencies from packages extra flags
are necessary.

ld: error: unable to find library -lxcb
ld: error: unable to find library -lpixman-1
ld: error: unable to find library -lOpenGL
ld: error: unable to find library -lGLESv2

* make: use same make in recursive calls

On BSDs `make` is BSD make while `gmake` is GNU make

* make: work around GNU vs. BSD sed -i incompatibility

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254091

* make: replace GNU make extension with POSIX sh

`$(shell ...)` in GNU make is similar to `${:!..!}` in BSD make

* make: fall back when nproc isn't available

Only FreeBSD added nproc for compatibility with Linux.

* make: unbreak hyprctl on Clang-based systems

/bin/sh: g++: not found
error: invalid value 'c++23' in '-std=c++23'

* make: create lib/ before copying libwlroots.so there

$ make install PREFIX=/tmp/test
[...]
cp: directory /tmp/test/lib does not exist

* make: pass cp(1) flags before arguments

cp: -f is not a directory

* make: replace install -Dt with mkdir

install: illegal option -- t

* make: replace cp --parents with cpio -dump

cp: illegal option -- -

* make: limit pkg-config workaround to Linux when run as root

/usr/share/pkgconfig doesn't exist on BSDs or may not be writable.
2023-05-02 14:38:36 +01:00
vaxerski
5ce76cd0b0 internal: add tag to version, send hash in release ci 2023-04-27 14:28:40 +01:00
Ching Pei Yang
38bdbdb0f5
Plugin header overhaul (#2087)
* meson: install headers

* Meson/CMake: add pkg-config file for headers

* makefile: install headers and pkgconfig

* CMake: move protocols to cmake

Co-authored-by: Ching Pei Yang <badnam3o.0@gmail.com>

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-04-27 00:59:16 +03:00
vaxerski
77223e1cad deps: update wlroots 2023-04-26 17:23:50 +01:00
vaxerski
99079f7094 cmake: ignore format-truncation 2023-04-22 12:38:04 +01:00
Vaxry
046ad79d11
GlobalShortcuts protocol impl (#1886)
Implements the `hyprland-global-shortcuts-v1` protocol

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
Vaxry
0a099ca2ab
Hyprland Screencopy impl (#1800)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-03 17:01:05 +01:00
vaxerski
71a95a581f feat: add pretty notifications 2023-03-20 15:03:09 +00:00
vaxerski
e8adae65fe debug: unbreak debug builds 2023-03-16 15:40:50 +00:00
stephan-cr
e4b6af41e5
Refactor CMake and Make file (#1766)
* Refactor CMake and Make file

- modernize CMake a bit
- "unscreamify" CMake commands
- replace undocumented CMake option -H by -S in Makefile
- remove unnecessary "cd" in Makefile

* Fix include path to wlroots generated header files
2023-03-14 21:50:30 +00:00
Vaxry
5dc1a5fec6
input: text-input-v1 support (#1778)
support zwp_text_input_v1

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-03-14 12:57:50 +00:00
Vaxry
8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
vaxerski
431c74f111 remove -g from release compiles 2023-02-20 23:17:31 +00:00
Jan Beich
474ada9267
Unbreak CrashReporter on FreeBSD (#1589) 2023-02-20 14:15:15 +00:00
vaxerski
be8cf8ea1e Generate symbol info in release for crash reports 2023-02-20 10:57:10 +00:00
vaxerski
38c25bb50d Added a crash reporter 2023-02-19 13:45:56 +00:00
Frank Tao
48c86ad863
Update CMakeLists.txt (#1514) 2023-02-09 08:57:26 +00:00
Vaxry
60b880d931
wp-fractional-scaling-v1 impl (#1373)
* Initial fractional scaling impl

* apply UV after geom calcs

* fix scaling -> scale

* meson: add fractional scale proto

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-01-20 19:44:30 +01:00
vaxerski
8ba4f34a7c fix cmake systemd header detection 2023-01-11 17:41:03 +01:00
Mihai Fufezan
a54247125f
Build: use props file for versioning 2023-01-06 16:22:00 +02:00
jrun
0d14fd9136
add systemd support (#1253)
* add systemd support
motivation for this is is proper ordering of related/bound/required
services to Hyprland (e.g. swaybg) that would need to have a compositor
ready.

this could possibly be a build-time option of course.

see also:
example/ files for example of services

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>

* nix: add withSystemd flag

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
Co-authored-by: Vaxerski <vaxry@vaxry.net>
2023-01-05 20:17:55 +01:00
Jan Beich
2f6b37e103
Drop Pango (unused) (#1251)
* Drop unused Pango dependency

* nix: explicitly depend on cairo (previously pulled via pango)

src/meson.build:4:0: ERROR: Dependency "cairo" not found, tried pkgconfig
2022-12-19 12:13:07 +00:00
Vaxry
111d209bff
Added toplevel handle sharing Rev2 (#1203)
* Added toplevel handle sharing

* nix: fix build

* update hyprland-protocols

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-12 14:56:42 +00:00
vaxerski
b45a213413 always build with ASan in debug 2022-12-12 14:38:50 +00:00
vaxerski
0c1bec023f unset cursor image on end drag if it gets destroyed 2022-12-12 14:32:23 +00:00
vaxerski
629cca4816 fix string escaping in CMakeLists.txt 2022-12-09 13:57:39 +00:00
Vaxry
66fb083003
Implement window sharing with the hl toplevel export proto (#1179)
* implement window sharing

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2022-12-05 17:05:15 +00:00
Maks
88874fcfe2
Fix cmake error when using clang (#1009) 2022-11-21 21:20:51 +00:00
vaxerski
0634abf168 remove quotes from commit messages in build 2022-11-13 20:01:30 +00:00
vaxerski
23cd1b8c66 update wlroots dep 2022-11-13 11:04:28 +00:00
vaxerski
be6f5ce831 fix commit message parsing in cmake 2022-11-13 10:58:46 +00:00
Vaxry
d5a0610ea2
No xwayland overhaul (#920) 2022-10-27 11:26:35 +01:00
wael
6d273c8e44
CMakeLists.txt: use sh instead of bash 2022-10-22 09:23:52 +03:00
vaxerski
1599dc47d1 set proper C++23 std to meson as well 2022-07-06 16:55:49 +02:00
vaxerski
f9756d10d4 changed C++ std to C++23, use std::string::contains 2022-07-06 16:50:11 +02:00
vaxerski
55aeb91e6a use provided wlroots, don't find system 2022-07-05 19:36:28 +02:00
vaxerski
29ca7f9018 bring back O3 2022-07-01 10:37:07 +02:00
vaxerski
208864cba9 include build/include in CMakeLists 2022-06-29 13:49:53 +02:00
vaxerski
a2fa1bc80d fix CMake debug mode 2022-06-21 22:09:46 +02:00
Florian "sp1rit"​
fd0112425f
Added meson buildfiles
this makes for a far better experience in combination with wlroots,
since that whole makefile mess is not required.
Additionaly, handling of wayland protocol sources is also slightly
better, but could be improved with mesons inbuilt wayland module.

To build Hyprland using meson:
    meson _build -Ddefault_library=static
    ninja -C _build
    ninja -C _build install
2022-06-16 23:30:28 +02:00