diff --git a/QtFrontend.cc b/QtFrontend.cc index b2ea9a0..1963060 100644 --- a/QtFrontend.cc +++ b/QtFrontend.cc @@ -142,9 +142,11 @@ protected: p.save(); p.setClipRect(viewport); - // Iterate visible lines - for (std::size_t i = rowoffs, vis_idx = 0; i < last_row; ++i, ++vis_idx) { - const auto &line = static_cast(lines[i]); + // Iterate visible lines + for (std::size_t i = rowoffs, vis_idx = 0; i < last_row; ++i, ++vis_idx) { + // Materialize the Buffer::Line into a std::string for + // regex/iterator usage and general string ops. + const std::string line = static_cast(lines[i]); const int y = viewport.y() + static_cast(vis_idx) * line_h; const int baseline = y + fm.ascent(); diff --git a/default.nix b/default.nix index b726470..8f6b1c6 100644 --- a/default.nix +++ b/default.nix @@ -6,8 +6,9 @@ SDL2, libGL, xorg, + kdePackages, + qt6Packages ? kdePackages.qt6Packages, installShellFiles, - graphical ? false, graphical-qt ? false, ... @@ -37,12 +38,13 @@ stdenv.mkDerivation { xorg.libX11 ] ++ lib.optionals graphical-qt [ - qt5Full - qtcreator ## not sure if this is actually needed + kdePackages.qt6ct + qt6Packages.qtbase + qt6Packages.wrapQtAppsHook ]; cmakeFlags = [ - "-DBUILD_GUI=${if graphical or graphical-qt then "ON" else "OFF"}" + "-DBUILD_GUI=${if graphical then "ON" else "OFF"}" "-DKTE_USE_QT=${if graphical-qt then "ON" else "OFF"}" "-DCMAKE_BUILD_TYPE=Debug" ]; diff --git a/flake.nix b/flake.nix index 902c01e..8d783ed 100644 --- a/flake.nix +++ b/flake.nix @@ -13,9 +13,9 @@ packages = eachSystem (system: rec { default = kte; full = kge; - kte = (pkgsFor system).callPackage ./default.nix { graphical = false; }; - kge = (pkgsFor system).callPackage ./default.nix { graphical = true; }; - qt = (pkgsFor system).callPackage ./default.nix { graphical-qt = true; }; + kte = (pkgsFor system).callPackage ./default.nix { graphical = false; graphical-qt = false; }; + kge = (pkgsFor system).callPackage ./default.nix { graphical = true; graphical-qt = false; }; + qt = (pkgsFor system).callPackage ./default.nix { graphical = true; graphical-qt = true; }; }); }; }