Commit 179f4816 authored by Jeremy's avatar Jeremy Committed by Anderson Torres
Browse files

waybar: add hyprlandSupport feature flag

parent 684f53f7
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
, libxkbcommon
, cavaSupport     ? true,  alsa-lib, fftw, iniparser, ncurses, pipewire, portaudio, SDL2
, evdevSupport    ? true,  libevdev
, hyprlandSupport ? false, hyprland
, inputSupport    ? true,  libinput
, jackSupport     ? true,  libjack2
, mpdSupport      ? true,  libmpdclient
@@ -65,6 +66,10 @@ stdenv.mkDerivation rec {
    )
  '';

  # Patch for workspaces support in wlr/workspaces
  # See https://wiki.hyprland.org/Useful-Utilities/Status-Bars/#waybar
  patches = lib.optional hyprlandSupport [ ./hyprland.diff ];

  nativeBuildInputs = [
    meson ninja pkg-config scdoc wrapGAppsHook
  ] ++ lib.optional withMediaPlayer gobject-introspection;
@@ -88,6 +93,7 @@ stdenv.mkDerivation rec {
    ++ optional  cavaSupport   portaudio
    ++ optional  cavaSupport   SDL2
    ++ optional  evdevSupport  libevdev
    ++ optional  hyprlandSupport hyprland
    ++ optional  inputSupport  libinput
    ++ optional  jackSupport   libjack2
    ++ optional  mpdSupport    libmpdclient
@@ -126,7 +132,7 @@ stdenv.mkDerivation rec {
    "-Dsystemd=disabled"
    "-Dgtk-layer-shell=enabled"
    "-Dman-pages=enabled"
  ];
  ] ++ lib.optional hyprlandSupport "-Dexperimental=true";

  preFixup = lib.optionalString withMediaPlayer ''
      cp $src/resources/custom_modules/mediaplayer.py $out/bin/waybar-mediaplayer.py
@@ -139,7 +145,7 @@ stdenv.mkDerivation rec {
    changelog = "https://github.com/alexays/waybar/releases/tag/${version}";
    description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
    license = licenses.mit;
    maintainers = with maintainers; [ FlorianFranzen minijackson synthetica lovesegfault rodrgz ];
    maintainers = with maintainers; [ FlorianFranzen minijackson synthetica lovesegfault rodrgz jtbx ];
    platforms = platforms.unix;
    homepage = "https://github.com/alexays/waybar";
    mainProgram = "waybar";
+12 −0
Original line number Diff line number Diff line
--- a/src/modules/wlr/workspace_manager.cpp
+++ b/src/modules/wlr/workspace_manager.cpp
@@ -523,7 +523,8 @@
   if (action.empty())
     return true;
   else if (action == "activate") {
-    zext_workspace_handle_v1_activate(workspace_handle_);
+    const std::string command = "hyprctl dispatch workspace " + name_;
+    system(command.c_str());
   } else if (action == "close") {
     zext_workspace_handle_v1_remove(workspace_handle_);
   } else {
+4 −0
Original line number Diff line number Diff line
@@ -32354,6 +32354,10 @@ with pkgs;
  waybar = callPackage ../applications/misc/waybar { };
  waybar-hyprland = callPackage ../applications/misc/waybar {
    hyprlandSupport = true;
  };
  waycorner = callPackage ../applications/misc/waycorner { };
  waylock = callPackage ../applications/misc/waylock {