tui/zellij/{module.nix, zellij-good-scrolling.patch}: init
This commit is contained in:
parent
203a1ad0fb
commit
8e956876fa
2 changed files with 34 additions and 0 deletions
12
modules/programs/tui/zellij/module.nix
Normal file
12
modules/programs/tui/zellij/module.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{pkgs, ...}: let
|
||||||
|
# I am patching zellij because of this issue:
|
||||||
|
# https://github.com/zellij-org/zellij/pull/2548
|
||||||
|
patched-zellij = pkgs.zellij.overrideAttrs (old: {
|
||||||
|
patches = [./zellij-good-scrolling.patch];
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
environment.systemPackages = builtins.attrValues {
|
||||||
|
inherit patched-zellij;
|
||||||
|
};
|
||||||
|
}
|
22
modules/programs/tui/zellij/zellij-good-scrolling.patch
Normal file
22
modules/programs/tui/zellij/zellij-good-scrolling.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
--- a/zellij-server/src/panes/grid.rs
|
||||||
|
+++ b/zellij-server/src/panes/grid.rs
|
||||||
|
@@ -271,7 +271,7 @@ fn subtract_isize_from_usize(u: usize, i: isize) -> usize {
|
||||||
|
macro_rules! dump_screen {
|
||||||
|
($lines:expr) => {{
|
||||||
|
let mut is_first = true;
|
||||||
|
- let mut buf = "".to_owned();
|
||||||
|
+ let mut buf = String::with_capacity($lines.iter().map(|l| l.len()).sum());
|
||||||
|
|
||||||
|
for line in &$lines {
|
||||||
|
if line.is_canonical && !is_first {
|
||||||
|
@@ -280,8 +280,7 @@ macro_rules! dump_screen {
|
||||||
|
let s: String = (&line.columns).into_iter().map(|x| x.character).collect();
|
||||||
|
// Replace the spaces at the end of the line. Sometimes, the lines are
|
||||||
|
// collected with spaces until the end of the panel.
|
||||||
|
- let re = Regex::new("([^ ])[ ]*$").unwrap();
|
||||||
|
- buf.push_str(&(re.replace(&s, "${1}")));
|
||||||
|
+ buf.push_str(&s.trim_end_matches(' '));
|
||||||
|
is_first = false;
|
||||||
|
}
|
||||||
|
buf
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue