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