Skip to content

Support screen 5.0 - #252

Merged
zeha merged 4 commits into
masterfrom
zeha/screen-v5
Jun 16, 2026
Merged

Support screen 5.0#252
zeha merged 4 commits into
masterfrom
zeha/screen-v5

Conversation

@zeha

@zeha zeha commented Jun 1, 2026

Copy link
Copy Markdown
Member

Add loadavg-screen backtick program, as %l is gone. The colors/formatting of the caption/hardstatus lines are almost the same, barring brightness on green. Some things like +b seem to no longer work as documented, so put b into each color string. % no longer seems to need the -21 (and actually break when thats present).

Additionally, screen v5 seems to put "" into the %f flags of the currently selected window, so we don't have to do it ourselves anymore. OTOH we get a useless "" in the flags of the leftmost current window display too.

Maybe we don't need screenrc_v4 at all?

zeha added 3 commits June 1, 2026 10:06
This is the screen v4 default. Given v5 has removed it and adds no value
in v4, drop it.
screen v5 removes "nethack on", thus hard-coding the previous default of
"nethack off". Lets keep the anticipated diff between versions smaller
and drop nethack.
4.x is found in almost all distributions currently. Lets keep the files
around for a while - 5.x introduces breaking changes.
@zeha
zeha requested review from jkirk and mika June 1, 2026 09:40
@zeha

zeha commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

openqa-tests will need new needles after this for the flags change :-/

@mika

mika commented Jun 1, 2026

Copy link
Copy Markdown
Member

Uh nice, thx! Would be great if we could even avoid usage/support of screenrc_v4!

So far I only noticed two issues (unless I mis-configured anything when taking over your changes into my local daily Grml ISO as of today):

  1. It looks like it highlights the current window (1) until the end (2), instead of just the current window (1)?
screenshot 2026-06-01T17-57-27
  1. The screenrc we ship via grml-live's config/files/GRMLBASE/etc/skel/.screenrc seems to fail yet (so it might also need an update with caption/hardstatus, but maybe there's even a way how to get rid of this file?):
screenshot 2026-06-01T17-57-18

Add loadavg-screen backtick program, as %l is gone. The
colors/formatting of the caption/hardstatus lines are almost the same,
barring brightness on green. Some things like +b seem to no longer work
as documented, so put b into each color string. % no longer seems to
need the -21 (and actually break when thats present).

Additionally, screen v5 seems to put "*" into the %f flags of the
currently selected window, so we don't have to do it ourselves anymore.
OTOH we get a useless "*" in the flags of the leftmost current window
display too.
@zeha
zeha force-pushed the zeha/screen-v5 branch from fd6cb45 to 16cda7e Compare June 1, 2026 17:34
@zeha

zeha commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

Would be great if we could even avoid usage/support of screenrc_v4!

I think the only question is if users want screenrc and/or screenrc_generic? Without the /usr/bin scripts screenrc (and thus screenrc_v4) is probably pointless?

So far I only noticed two issues (unless I mis-configured anything when taking over your changes into my local daily Grml ISO as of today):

  1. It looks like it highlights the current window (1) until the end (2), instead of just the current window (1)?

Indeed. fixed now.

  1. The screenrc we ship via grml-live's config/files/GRMLBASE/etc/skel/.screenrc seems to fail yet (so it might also need an update with caption/hardstatus, but maybe there's even a way how to get rid of this file?):

Yeah that needs an update. I guess we have this file "only" to present a blue username instead of a red user? maybe we can drop that difference?

@zeha zeha added this to Grml Release Jun 1, 2026
@zeha zeha moved this from New to HighPrio in Grml Release Jun 1, 2026
@zeha

zeha commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

Should close #251 when merging.

@jkirk

jkirk commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Would be great if we could even avoid usage/support of screenrc_v4!

I think the only question is if users want screenrc and/or screenrc_generic? Without the /usr/bin scripts screenrc (and thus screenrc_v4) is probably pointless?

I haven't used GNU/screen for quite some time now. Is there a logic where screenrc_generic_v4 and screenrc_v4 is selected when screen 4.x is used or am I supposed to do it manually?

So far I only noticed two issues (unless I mis-configured anything when taking over your changes into my local daily Grml ISO as of today):

  1. It looks like it highlights the current window (1) until the end (2), instead of just the current window (1)?

Indeed. fixed now.

Not sure, if I am holding it wrong, but this is how it looks like if I apply the setting to screen (5.0.1) in Grml daily:

Screenshot from 2026-06-07 23-42-18

But to be fair, screen looks "funny" with the default settings (in the Grml daily used):

Screenshot from 2026-06-08 00-01-41

Is this how it should look like?

  1. The screenrc we ship via grml-live's config/files/GRMLBASE/etc/skel/.screenrc seems to fail yet (so it might also need an update with caption/hardstatus, but maybe there's even a way how to get rid of this file?):

Yeah that needs an update. I guess we have this file "only" to present a blue username instead of a red user? maybe we can drop that difference?

Again, I am not a screen-user anymore, but I think this was nice feature.

@zeha

zeha commented Jun 7, 2026

Copy link
Copy Markdown
Member Author

Would be great if we could even avoid usage/support of screenrc_v4!

I think the only question is if users want screenrc and/or screenrc_generic? Without the /usr/bin scripts screenrc (and thus screenrc_v4) is probably pointless?

I haven't used GNU/screen for quite some time now. Is there a logic where screenrc_generic_v4 and screenrc_v4 is selected when screen 4.x is used or am I supposed to do it manually?

For now: Manually. There is no way in the screen config of dealing with this.

Maybe zshrc could detect and alias it, but that seems like a lot of magic.

So far I only noticed two issues (unless I mis-configured anything when taking over your changes into my local daily Grml ISO as of today):

  1. It looks like it highlights the current window (1) until the end (2), instead of just the current window (1)?

Indeed. fixed now.

Not sure, if I am holding it wrong, but this is how it looks like if I apply the setting to screen (5.0.1) in Grml daily:

Screenshot from 2026-06-07 23-42-18

On ISOs, you also have to fixup the screenrc installed by grml-live.

But to be fair, screen looks "funny" with the default settings (in the Grml daily used):

Screenshot from 2026-06-08 00-01-41 Is this how it should look like?

This is the effect of using the (existing) v4 config on v5. (Which is why we are here in the first place.)

@crpb

crpb commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

fwiw, just installed a build of this mr and it's looking good so far.
maim_20260613-233420
(those two screens are actually two panes in my tmux-session ^_^)

@mika mika left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, LGTM for root user, verified on Debian/testing based daily Grml ISO.

We shouldn't forget about our /etc/skel./.screenrc we ship via grml-live nowadays, as noted in #252 (comment)

@zeha

zeha commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

We shouldn't forget about our /etc/skel./.screenrc we ship via grml-live nowadays, as noted in #252 (comment)

I was wondering if we can do a bit of sed magic in d/rules to produce the user screenrc. grml-live can still copy it into the right place, but then we don't have two places with the almost same file. (I know I probably moved the file incl. the rest of skel to grml-live...)

@zeha
zeha merged commit 9dcabbd into master Jun 16, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from HighPrio to Done in Grml Release Jun 16, 2026
@zeha

zeha commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

@mika could you update your console blog post?

@mika

mika commented Jun 23, 2026

Copy link
Copy Markdown
Member

@mika could you update your console blog post?

@zeha @jkirk Sure, thanks for the reminder! So we currently have wget -O .screenrc https://grml.org/console/screenrc which ends up as redirect to https://git.grml.org/f/grml-etc-core/etc/grml/screenrc_generic.

We're handling this through https://github.com/grml/grml.org/blob/master/static/console/.htaccess, and also have https://github.com/grml/grml.org/blob/master/static/scripts/grml-config.sh in place.

Should we add support for wget -O .screenrc https://grml.org/console/screenrc_v4 for the ones running older GNU screen versions, or is there any better approach we could come up with? 🤔

@zeha

zeha commented Jun 23, 2026

Copy link
Copy Markdown
Member Author

Should we add support for wget -O .screenrc https://grml.org/console/screenrc_v4 for the ones running older GNU screen versions, or is there any better approach we could come up with? 🤔

I think that's the best we can do :(

@zeha

zeha commented Jun 23, 2026

Copy link
Copy Markdown
Member Author

Should we add support for wget -O .screenrc https://grml.org/console/screenrc_v4 for the ones running older GNU screen versions, or is there any better approach we could come up with? 🤔

I think that's the best we can do :(

grml/grml.org#154 should add the redirect

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants