Archive for August, 2006

Gnome-Screen: Integrated Gnome Terminal and GNU Screen

August 31, 2006

The integration part between gnome-terminal and screen program is done. Now any command/data can be transfered between screen, vte, and gnome-terminal.
Here are some screen shots:

1) Creating a new screen session

2) Create a new screen tab:

This will generates a new screen session in a new tab.


The last updated source/patch files are available at:

Scrollable screen

August 26, 2006

Finally, scrollable screen is out. #:-S ! Here is a screen shot:


As shown, a GNU Screen program is loaded inside vte and scrolling the screen content is transparent to vte. Scrolling is done using my implemented functions in screen and the pipe protocol described in gscreen design.

Source/Patch files:

There are some minor updating issues, specially when the content is selected by mouse, that I’m working on.

Toward gscreen

August 17, 2006

In order to use our pipe protocol described in gscreen design, a number of functions has been implemented in screen code so far:

  •  :new (generates a new screen session)
  •  :switchTo n (switches to screen session number n)
  •  :showWindows (returns a list of current screen sessions)
  •  :copy (enables copy mode, and returns the marked data)
  •  :paste data (pastes the data in current screen session)
  •  :scroll +n (scroll down n lines)
  •  :scroll -n (scroll up n lines)
  •  :scroll n (go to line n in scroll buffer)
  •  :getlinedata n (returns the content of line n of scroll buffer)
  •  –control-fds = fdnumber (adds the fdnumber to the list of fds that screen listens to their events)

The Gobject based gscreen class is implemented too. In this class two pipes are created, one from g-t/vte to screen and the other from screen to g-t/vte. The pipes are created in the gscreen_session_fork_command method and after that screen program with –control-fds option equal to created pipes is forked. gscreen will be called inside vte_terminal_fork_command in vte.c file.

I’ve hacked g-t a little bit and added a new menu item called “New screen Session”. By clicking on it, a new screen session , using our pipe protocol and :new command, will be generated.

An animation of screen’s usage

August 1, 2006

These days I’ve been looking at most of the webpages that have some info related to screen program. I found this animation very interesting:

The image “http://gentoo-wiki.com/images/9/9f/Screen_animated.gif” cannot be displayed, because it contains errors.

Source