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.
August 17, 2006 at 7:30 pm |
That’s great, keep up the good work Monia
!
August 17, 2006 at 8:15 pm |
Thank you dieguito !
August 21, 2006 at 9:24 pm |
Hello, Monia
I’m sorry to contact you through such an awkward medium. I’m the author of a commandline shell called fish, available at http://roo.no-ip.org/fish . I have always aimed for fish to integrate into the rest of the users environment. For that reason, I have written code to check if DISPLAY is set, and if so, contact the X server on copy and paste operations to make fish use the X clipboard for such operations. However, it has long been obvious that an ever greater feature would be to have the same kind of integration with screen. I have done some initial research into this, but have found it very hard to get the current contents of the the current screen copy-and-paste buffer. Would you be able to advise me on the possibility of doing this through your work on screen-as-a-library? If so, I can be contacted through email: liljencrantz (AT) gmail (dot) com.
August 24, 2006 at 4:06 pm |
i was thinking is it possible to be able to do the following thing..
1. run a gnome-terminal
2. login to remote machine
3. run screen
4. Ctrl+A+C – create a new tab in local gnome-terminal and at the same time a new-screen on the remote machine….and so on…
In this way u have new-Tab on the local machine for every new remote-screen.
Do u get the idea. Don’t know how much this is achievable.
just my 5c