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

Notices

Reply
 
Search this Thread
Old 02-05-2014, 11:37 AM   #1
mancha
Member
 
Registered: Aug 2012
Posts: 290

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.

Enjoy.

--mancha
Attached Images
File Type: png regions-example.png (127.1 KB, 85 views)

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

Rep: Reputation: 875Reputation: 875Reputation: 875Reputation: 875Reputation: 875Reputation: 875Reputation: 875
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
j_v
Member
 
Registered: Oct 2011
Distribution: Slackware64, LFS, Crux
Posts: 194

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

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

Rep: Reputation: 26
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
MadMaverick9
Member
 
Registered: Aug 2010
Location: Here
Distribution: Slackware 14.0
Posts: 137

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:
Quote:
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.
Code:
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!

Code:
username@hostname:~/ > tty
/dev/pts/3
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
MadMaverick9
Member
 
Registered: Aug 2010
Location: Here
Distribution: Slackware 14.0
Posts: 137

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.
 
  


Reply

Tags
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


All times are GMT -5. The time now is 10:55 AM.

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