One of the ways to make console apps more GNU screen-friendly is to set them up so they spawn other things within the same instance of screen.
I use snownews to read through rss feeds, and use elinks as my default browser (with snownews, in screen, and outside of screen). Where I’ve been slowed down a bit is while downloading podcasts I keep track of in snownews. Since I was launching elinks in the same terminal or terminal instance, I could either wait for a download to finish or open another instance of snownews.
I finally got around to setting up my browser in snownews so that instead of:
screen -t elinks elinks %s
The -t option is for the title (the first elinks) which will either appear on ctrl-a w or on your status bar if you run one permanently. The second will open elinks in that terminal instance (you can use any browser you want for this; graphical browsers will still open a screen window and open the graphical instance as well). And the %s is the signal for whichever file or page to open in the browser.
Now when I open a link in snownews, it opens in a distinct elinks instance so I can toggle back (ctrl-a a) to snownews while a podcast or another file downloads or whatever. I set up my screenrc to give me an alarm when there’s activity in any terminal instance in screen, so I can close a window when a file has finished downloading. My one instance and session of snownews isn’t interrupted by waiting for anything to download, and closing the window for an article takes me right back where I left off.
Other programs can be set up similarly if you primarily run them in screen. For example, you could edit your mc MIME/file associations so the same thing occurs when opening music files with a non-graphical program (which I do because the music pretty much sounds the same regardless of XMMS or mplayer or mpg321 without clogging as much RAM with some wild-skinned front end). Just follow the conventions for whichever program you’re using.
I’ve also mentioned vifm in this blog and noted it’s seamless integration into screen. While not as feature-packed as mc, it’s still very useful if you know vi commands and can make the associations between “vi-thinking” and file management. It makes working in screen even easier because the user can set it to open separate instances in screen with “:screen”. I mention vifm again because I don’t think I’ve written that it’s been updated since I wrote about using it in screen.
I know there are others who’ll recommend using desktop environments that share resources even better than the kinds of arrangements I use. As much as I like KDE, it’s not nimble enough for my tastes — at least not on my hardware. It’s made for those of you with faster hardware (and masochists who insist on eyecandy and integrated environments more like Windows whether their hardware is capable of it or not), not those of us bent on actually using computers to simplify our lives and get more stuff done.