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