1 # invoked from a shell alias:
     
2 #
     
3 #       alias jf='screen -c nasmjf/screenrc'
     
4 #
     
5 # Where -c tells screen to use the supplied file for initial commands
     
6 # rather than any ~/.screenrc you might have.
     
7 
     8 # avoid "utmp slot not found message"
     
9 deflogin off
    
10 
    11 # hush now
    
12 startup_message off
    
13 
    14 # please
    
15 vbell off
    
16 
    17 # make the main screen escape Ctrl-j (which is so much easier to type on my
    
18 # little netbook keyboard). Then "Ctrl-j Ctrl-j" toggles between the windows,
    
19 # which is super handy.
    
20 escape ^Jj
    
21 
    22 # Turns out saving a 'hardcopy' of the scrollback buffer is the best way to
    
23 # save a Screen session. (Logging is awesome, but I quickly realized it was
    
24 # saving ALL of the ANSI sequences sent to the terminal by the application!
    
25 # The hardcopy is just the visible text content of the screen.
    
26 # Let's set scrollback buffer default to big.
    
27 defscrollback 5000
    
28 # Bind "Ctrl-j h" to hardcopy -h, which also saves the scrollback buffer.
    
29 bind h hardcopy -h
    
30 
    31 # Now create two windows. 'screen' is a screen command to create a new window
    
32 # (yeah, confusing in this context) and the bash commands start up with
    
33 # specific applications:
    
34 #   -c runs the specified command in the shell when it starts.
    
35 # The last window we open will be the one we're faced with by default.
    
36 # Unfortunately, there's no easy way to keep Bash running after the command
    
37 # exits... (The -i option for "interactive" shell is essentially ignored)
    
38 #
    
39 # This window attempts to assemble, link, and open GDB
    
40 #screen bash -c "./build.sh gdb"
    
41 #
    
42 # Nope, now we just open a shell - the Forth interpreter is pretty good
    
43 # at introspection now to the point where GDB is decreasingly helpful.
    
44 screen bash
    
45 #
    
46 # This window contains the source and handy references.
    
47 # (This changes as what I'm working on changes.)
    
48 screen bash -c "vim nasmjf.asm jonesforth/jonesforth.S devlog/log25.txt"
    
49