New screen features available
Hi Screen Users, you probably wonder why the new version of screen is not already available. Well, it got delayed a bit because of a couple of new features I've added. The development version is available from GNU savanna: cvs -z3 -d:pserver:[EMAIL PROTECTED]:/sources/screen co screen Here are the new features: - vertical split, complete with resizing ^A | split vertically resize [-l] [-h] [-v] amount -l : resize is local to slice -h : resize horizontally -v : resize vertically amount: 10 resize to size 10 amount: +10 make 10 bigger amount: -10 make 10 smaller amount: 10% make it 10% of all amount: =make all windows equal - better resize code using weights the layout will stay in shape even after heavy resizing - window groups currently a bit ugly to create: screen -t name //group creates a group named name a group is a subset of windows, ^Aw will only display the current group and next/prev will not leave the group. Use ^A to list all windows of the current group (this also leaves to group, so that next/prev or a second ^A will show the other windows. - layouts A layout stores the current setup of the display, i.e. all the slices and the window assignments. layout save Desktop1 will save the current setup under the name Desktop1. If you detach and reattach later on, the layout will automatically be restored. Desktop1 will become the current layout. layout autosave off This turns the autosafe feature off. Layouts are automatically saved if autosave is on and the user detachs or switches to another layout. layout new Desktop2 Create a new empty layout named Desktop2. layout name foo Rename the current layout to foo. layout next layout prev layout load name Load the next/prev layout / the layout named name. layout attach :last layout attach name Set the layout used when somebody is attaching. Default is :last, this is the layout that was current when the last detach was done. Besides the restoring of the screen on re-attach, layouts can be used to implement a kind of virtual desktop in screen. Say you put layout save Desktop1 in your ~/.screenrc. If you need a new Desktop, do ^A:layout new Desktop2. You can then use layout next to switch between both layouts. So, feedback welcome. You probably have a lot of suggestions and enhancement requests. Sorry that development is a bit slow at the moment due to not enough spare time... Cheers, Michael. -- Michael Schroeder [EMAIL PROTECTED] main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} ___ screen-users mailing list screen-users@gnu.org http://lists.gnu.org/mailman/listinfo/screen-users
Re: New screen features available
On Tue, Feb 06, 2007 at 05:34:31PM EST, Michael Schroeder wrote: Hi Screen Users, you probably wonder why the new version of screen is not already available. Well, it got delayed a bit because of a couple of new features I've added. The development version is available from GNU savanna: cvs -z3 -d:pserver:[EMAIL PROTECTED]:/sources/screen co screen Here are the new features: - vertical split, complete with resizing ^A | split vertically resize [-l] [-h] [-v] amount -l : resize is local to slice -h : resize horizontally -v : resize vertically amount: 10 resize to size 10 amount: +10 make 10 bigger amount: -10 make 10 smaller amount: 10% make it 10% of all amount: =make all windows equal - better resize code using weights the layout will stay in shape even after heavy resizing - window groups currently a bit ugly to create: screen -t name //group creates a group named name a group is a subset of windows, ^Aw will only display the current group and next/prev will not leave the group. Use ^A to list all windows of the current group (this also leaves to group, so that next/prev or a second ^A will show the other windows. - layouts A layout stores the current setup of the display, i.e. all the slices and the window assignments. layout save Desktop1 will save the current setup under the name Desktop1. If you detach and reattach later on, the layout will automatically be restored. Desktop1 will become the current layout. layout autosave off This turns the autosafe feature off. Layouts are automatically saved if autosave is on and the user detachs or switches to another layout. layout new Desktop2 Create a new empty layout named Desktop2. layout name foo Rename the current layout to foo. layout next layout prev layout load name Load the next/prev layout / the layout named name. layout attach :last layout attach name Set the layout used when somebody is attaching. Default is :last, this is the layout that was current when the last detach was done. Besides the restoring of the screen on re-attach, layouts can be used to implement a kind of virtual desktop in screen. Say you put layout save Desktop1 in your ~/.screenrc. If you need a new Desktop, do ^A:layout new Desktop2. You can then use layout next to switch between both layouts. So, feedback welcome. You probably have a lot of suggestions and enhancement requests. Sorry that development is a bit slow at the moment due to not enough spare time... Cheers, Michael. Thanks, Michael. I have no suggestions or enhancement requests at this point but I am very happy that the rumors I had heard about gnu/screen development being abandoned were not true. I am also quite thrilled that vertical split is possible with the new release. Due to the high definition of current displays this had become indispensable. Thank you very much. cga. ___ screen-users mailing list screen-users@gnu.org http://lists.gnu.org/mailman/listinfo/screen-users
Re: New screen features available
Michael Schroeder wrote: So, feedback welcome. You probably have a lot of suggestions and enhancement requests. Sorry that development is a bit slow at the moment due to not enough spare time... First, I'm glad to see continuing work on screen. Thanks for doing that. Second, I'd like to be able to have multiple status lines. I'd like to be able to have a status line at the top of my screen as well as at the bottom. Thanks again for your hard work. Alan ___ screen-users mailing list screen-users@gnu.org http://lists.gnu.org/mailman/listinfo/screen-users
File descriptors and screen and you
I have a bit of perl code that I'm trying to make work: sub DB::get_fork_TTY { open my $SCREEN, qq{31 screen -t 'Child $$' sh -c tty 13 ; sleep 100 |} or return ''; my $tty = $SCREEN; return $tty; } I'm getting bad file descriptor errors, so I'm assuming screen is cleaning up what it hands to it's children. Which makes sense. I want to avoid going the tmp file route if at all possible. Is there a way I can echo tty's output so that I can grab it from a filehandle? I've tried a number of different methods. Any pointers? ___ screen-users mailing list screen-users@gnu.org http://lists.gnu.org/mailman/listinfo/screen-users
string substitution for session name
After wanting to request a string substitution for the session name, I decided to hack it myself. The attached patch (to screen-4.0.2) allows you to replace %S with the session name for the purpose of displaying in the status line, for example: hardstatus lastline %-Lw%{= BW}%48%n%f* %t%{-}%+Lw% %S/%c I found this particularly useful for those who give their sessions specific meaningful names. I work on several projects, having one screen session for each project. Each one look the same (emac, code repository operations, ssh here, ssh there, etc) so it's not instantly clear which session I'm looking at. So having the session name in the status line is helpful. I see that there window groups in development, but using window groups for my multiple projects in a single screen session would not work as smoothly as having multiple sessions. Thanks for developing this awesome tool! -- Brian T.N. Gunney diff -ru orig.screen-4.0.2/doc/screen.texinfo screen-4.0.2/doc/screen.texinfo --- orig.screen-4.0.2/doc/screen.texinfo2003-12-05 05:51:46.0 -0800 +++ screen-4.0.2/doc/screen.texinfo 2007-02-01 08:59:45.0 -0800 @@ -4754,6 +4754,8 @@ window number @item s seconds [EMAIL PROTECTED] S +session name (@pxref{Session Name}) @item t window title @item u Only in screen-4.0.2/doc: screen.texinfo~ diff -ru orig.screen-4.0.2/process.c screen-4.0.2/process.c --- orig.screen-4.0.2/process.c 2003-09-18 05:53:54.0 -0700 +++ screen-4.0.2/process.c 2007-02-01 09:05:07.0 -0800 @@ -2889,6 +2889,7 @@ debug2(rename(%s, %s) done\n, SockPath, buf); strcpy(SockPath, buf); MakeNewEnv(); + RefreshHStatus(); } break; case RC_SETENV: diff -ru orig.screen-4.0.2/screen.c screen-4.0.2/screen.c --- orig.screen-4.0.2/screen.c 2003-09-08 07:26:41.0 -0700 +++ screen-4.0.2/screen.c 2007-02-01 08:47:36.0 -0800 @@ -2601,6 +2601,18 @@ } p += strlen(p) - 1; break; + case 'S': + *p = 0; + if ((int)strlen(SockName) l) + { + strcpy(p, SockName); + if (*p) + qmflag = 1; + } + p += strlen(p) - 1; + if (!tick || tick 5) + tick = 5; + break; case 'F': p--; /* small hack */ ___ screen-users mailing list screen-users@gnu.org http://lists.gnu.org/mailman/listinfo/screen-users