Progress in screen code

By monia

I’ve been looking at GNU screen’s code yesterday. As behdad has mentioned already, the source code is not modular and there are many global variables.

One of the goals of my project is to have a menu of current screen sessions that choosing one will attach the terminal into it. There are some images in bug page regarding this feature and I’m uploading one.

Attach to screen session

I modified the code to add my own escape character (ctrl+a j) to show a list of current screens (like ctrl+a w). While the list of screens is shown, if user enters a number between zero and number of screens -1, the program will attach the terminal to that screen (like ctrl+a index of screen). In other words, in current screen program if user wants to attach the terminal to another screen, there is a need for crtl+a w and then ctrl+a index of that particular screen. Using my new escape character ,ctrl+a j, the user sees a list of current screens and can enters the index of screen to attach the terminal to it right away (saving one ctrl+a :) ). This is a very simple illustration of this part of my project without menus of course, but helps me to go through screen code without worrying about integration with g-t. (Coding didn’t take more than half an hour actually but digging screen code to find where everything is took more time). For adding menus I plan to look at GTK library and gnome-terminal code. 

I also realized that the version of FC5’s screen program and the one I checked out from GNU csv are different. I mentioned it to behdad though and he believes it’s OK.

As a side note: In the project’s wiki page there are separated items/goals marked as easy and hard and it’s been said that those marked hard need g-t to communicate with screen. I think this is also the case for that first item that I’ve been looking at which is marked easy. Also I would suggest to change the easy/hard notion to something more self explanatory (like interacting/non interacting or integrating/non integrating ?? ).

I’m trying to make screen code a neat and software engineered code ;)   then we make it as a shared library object and it will expose a library interfaces to be called in vte/g-t.  

3 Responses to “Progress in screen code”

  1. Antonio Ognio Says:

    Hi there Monia. Quim Gil from this last GUADEC suggested all of you girls in the WSOP planet should have a hackergotchi, so please send pictures of you to hackergotchi@gmail.com so we can make some nice hackergotchis for you to use. Regards, Antonio.

  2. Thomas Thurman Says:

    This is pretty exciting. Are you going to end up making changes to the official version of screen, or are you going to work around it in vte? (Sorry if that’s a dumb question.)

  3. Monia Says:

    Thomas: Thank you for your interest. The current design is to have a third program being used as a messenger to communicate between screen and g-t. But there might be some changes in screen code as well (to implement incremental search for example). Please let me know if you have any suggestion/comment.

Leave a Reply