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