Welcome to the most active Linux Forum on the web.
Go Back > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Slackware This Forum is for the discussion of Slackware Linux.


  Search this Thread
Old 02-05-2014, 11:37 AM   #1
Registered: Aug 2012
Posts: 484

Rep: Reputation: Disabled
Where is Slackware's GNU Screen vertical split?

The answer is: right here!

Note: Not looking to convert tmux users (tmux already has vert splits).

OK, for die-hard screen users still reading this, I built a 3,798-line patch against Slackware's screen 4.0.3 based on adaptations
of cherry-picked code from screen's development branch.

It introduces three new and inter-related features:
  1. Vertical splits
    Vertical splits (C-a |) work much like horizontal splits (C-a S); operations such as focusing regions, resizing regions, killing
    regions, etc. have not changed.

  2. Display layout infrastructure
    Those who've used horizontal splits on Slackware's screen already know they don't survive detach/attach cycles well. This
    is where "layouts" come in. New layout commands include: new, name, load, save, autosave, next, prev, and attach (see
    manpage). FYI, I have my display layouts survive detach/attach cycles by adding "layout new default" to my .screenrc;
    As simple as that.

  3. Window groups
    Window groups help organize large numbers of windows into subsets (e.g. thematic groups like coding, networking, etc.).
    Groups can be created with: "screen -t GROUP_NAME //group".
I did this for personal consumption but others might find the new features as useful as I do.

So, I uploaded my work (all needed build files) to the Slack Depot.


Attached Thumbnails
Click image for larger version

Name:	regions-example.png
Views:	107
Size:	127.1 KB
ID:	14689  

Last edited by mancha; 02-05-2014 at 12:14 PM.
Old 02-05-2014, 11:53 AM   #2
Senior Member
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 4,102

Rep: Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070Reputation: 2070
thanks mancha, I think hardcore screen users (like I was) will appreciate.

waiting for version 4.1 (that would have included this function) I've built a snapshot from git a lot of time ago, but after a little I found tmux and switched to it permanently.
maybe it wasn't such a bad choice as some years has passed and 4.1 still isn't out...
Old 02-05-2014, 03:40 PM   #3
Registered: Oct 2011
Distribution: Slackware64
Posts: 364

Rep: Reputation: 67
Very cool. I have also migrated to tmux, but really appreciate this screen update.
Old 02-05-2014, 04:15 PM   #4
Senior Member
Registered: Nov 2013
Location: Brazil
Distribution: Slackware
Posts: 1,223

Rep: Reputation: 194Reputation: 194
i3 wm is great for that
Old 02-05-2014, 11:18 PM   #5
Registered: Jun 2005
Location: Raleigh, NC, USA
Distribution: slackware
Posts: 83

Rep: Reputation: 58
first class mancha. I've been using other patches for this, but did not look as clean. Much less did they have additional functionality. Thank you sir.
Old 02-07-2014, 07:54 AM   #6
Registered: Aug 2010
Location: Here
Distribution: Slackware 14.0
Posts: 271
Blog Entries: 3

Rep: Reputation: Disabled
First - Thank you very much, Mancha!

Second - this thread made me want to try tmux and so I did today.

It is nice - But - it has one big shortcoming. One can not write to any of the pseudoterminals created by tmux. Why? Because tmux does not update utmp.

From the tmux faq:
Nobody has really come up with a clean, portable way to do this without making tmux setuid or setgid yet.
Huh?? gnu screen is not setuid on Slackware and it is able to update utmp just fine.
lrwxrwxrwx 1 root root     12 Feb  6 21:05 /usr/bin/screen -> screen-4.0.3
-rwxr-xr-x 1 root root 374988 Feb  6 21:01 /usr/bin/screen-4.0.3
How does gnu screen do that? I don't know.

gnu screen rocks!

username@hostname:~/ > tty
username@hostname:~/ > write username pts/6
write: username is not logged in on pts/6
username@hostname:~/ > ps -aef | grep -E "16582|16588"
username 16582     1  0 20:36 ?        00:00:00 /usr/bin/tmux -f /home/username/.tmuxrc new-session -n something ~/some.program
username 16588 16582  0 20:36 pts/6    00:00:00 -bash
username 16645 16441  0 20:40 pts/3    00:00:00 grep -E 16582|16588
username@hostname:~/ >
Old 02-08-2014, 10:33 PM   #7
Registered: Aug 2010
Location: Here
Distribution: Slackware 14.0
Posts: 271
Blog Entries: 3

Rep: Reputation: Disabled
Here is the answer on how gnu screen is able to update "/var/run/utmp" - libutempter.

Now this begs the question - why isn't tmux using libutempter? And get it over with.

Time to get out my VIm.


screen, slackware, split

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
2 inch wide vert. bar or stripe in the middle of my emachine d725 notebook screen. cashlamb Linux - Newbie 1 01-20-2012 10:57 AM
[SOLVED] GNU screen---uses my login password on other distros, but not on Slackware. koenigdavidmj Slackware 2 01-26-2010 12:37 AM
LXer: Gnome to Split Off from GNU Project? LXer Syndicated Linux News 0 12-12-2009 11:30 AM
Gnu screen & tab key n0p.cracker Linux - Software 0 07-02-2008 10:08 AM
laptop screen, XF86Config problem, unknown vert/horz sync rates rphook Linux - Newbie 3 10-08-2004 12:47 AM > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 11:47 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration