DATELINE: Your Lap, To Either Side on the Bed, Beneath the Desk, In your Pocket…
too many devices, there are. really, i do everything from one place myself. it is a custom-built-to-purchase laptop running a simple distribution of gnu/linux with a good-looking yet minimal window-manager hybrid handling x11. and most important of all the windows being managed, of course, is — god bless it — the terminal. oh yes.
what we’re looking at there — not too closely, please, as i didn’t go over and black sensitive information — is my screen. we all have a screen, some of us have two. but i only have one, and it is perfect for me. in terms of aesthetics, i landed on a modified compilation of KDE4 with Plasma. as can be seen, there are window effects including smooth, live opacity change, window-shading (my instance of blink is usually held atop other windows and shaded) and i also use a ton of unnecessary but beautiful/fun window effects provided by putting a little english on the code you shoot into your plasma configuration — my windows dissipate like fireworks in a manner specific to the action i’ve called on them (so that i can recognize hotkeyed things happening quickly and confirm through second-nature visually that everything is where i meant to put it).
technically i’m running a stripped down version of ubuntu with the Unity Desktop and Compiz removed. my after-bios boot ended up identifying my Ubuntu 14.1 as Xubuntu, likely because i do keep a system-wide installation of xcfe on my /dev/sda primary mount-point of / SSD; i imagine that installing the Kubuntu-Desktop meta-package would rebrand the installation, but i’m simply not going to do that of course. deciding on the aesthetics and your window manager is a very interesting process and topic, but i’m more interested, at the moment, in ideas about how to build a functionally-efficient environment for yourself.
my first thought when i began to pursue the perfect screen:
- the computer mouse, as an input device, sucks.
during the creation of this motd, i’ve fished around for information on irc in the terminal, made for the obligatory motd’s illustration a screenshot of my x11 paradise, uploaded that image, cropped it, uploaded it to a third party server and cropped it to better-fit both physically within the entry as well as within the theme of condensed information here at the grapevine. without looking, i assume that my mouse is next to my laptop, but i have no way to be sure; i simply barely ever need it. to be fair, it would have come in somewhat handy had i taken the time to blank out sensitive information in my screengrab. but i didn’t avoid that because i don’t like the mouse, rather i honestly don’t think any of the information available on my screen will be used maliciously and effectively at the same time.
in order to do away with the mouse, we need to rethink the way we hotkey. do you scroll down your instance of firefox with a mouse wheel, or, worse-yet, holding down the scrollbar with your mouse1? for shame! everyone should know that, by default, a web browser will accept a simple tap of the <Space> key as a page-down command, and, naturally, a <Shift>-<Space> combination will scroll up. and if you’re even thinking about going with the whole “yeah this is probably right, but i don’t wanna start getting used to all that right now” thing, then take a good look in the mirror. If you can even remember which device your mirror application is on, and whether you’ve updated its firmware and webcam drivers! I know where all my stuff is because:
- system-wide hotkeying must be planned. meticulously.
- the Ctrl, Meta and Super buttons can demonstrate a scope, that is, levels within a window manager, windows, dialogues etc
i also had to get rid of some habits that i came to learn are bad. at the forefront of these is:
- do not use a global hotkey to launch an executable file. global hotkeys should only perform emergency services, system essentials such as tty switching, and perhaps even some of the most important commands to window management, including mini/maximization, calling to send a signal kill to the process responsible for the current window, launching – atop all other windows being managed – some sort of executable launcher such as Gnome-Do or Synapse.
this motd is making me slightly sad because i know i’ve already completely lost everyone who would be lost by this next point. i’m not a fan of the irony that permeates this next point’s inclusion – the whole “i can put this here because it’s the most important information and the people who would be frightened off by it have already been frightened off by information that isn’t really intimidating at all if you’re the type of person who knows how intimidating information can get etc.” – but – anyhow:
- the technique of moving your entire keyboard into a special space is absolutely essential in order to do away with the mundane mouse-use horror.
programs that modify buffers, such as irssi, emacs, weechat, vi/m, screen, tmux etc utilize the technique of one global hotkey that opens a new temporary command scope between the user’s keyboard and the standard input buffer. usually commands in such spaces will look like C-x C-s … what this means is that you execute Ctrl-X, which informs the current application to catch the next stoke of keys as a command issued to whatever sub-buffer is called by C-x. esperientially though, it isn’t so complicated. C-x C-s is how we call “save-buffer” by default in Emacs, and I must call “save-buffer” in that way between hundreds and thousands of times per day.
i could tell you that after a short while, you just feel Ctrl-X-NOTHING-Ctrl-S as one command, but i’d only be saying that to make you feel better. it does happen that there is a brief period like that, where the tmux user begins to ignore the Ctrl-C that he calls before /every/ other command. but the way it ends up feeling is, in a TMUX session, when i press C-c, i see on top of my terminal an invisible buffer blocking me from sending anything but a command to TMUX. i have heard a lot of newly-rehabilitated ex-mouse-abusers comment on this phenomenon — that they call C-c but then no longer need to issue the command to TMUX, so they feel compelled to issue the least offensive command (such as Shift-c which would open a window inside the current session and fill it with an instance of the user’s $SHELL – the user would likely type “exit” to close it out and have his keyboard streaming to stdin again. let me leave you with one last piece of information that seems to be difficult to obtain:
- if you’ve called a buffer to accept a second keystroke as a command but no longer need to issue the command, try Ctrl-g! for whatever reason, C-g is treated as the “stop all command buffers, sub-command buffers, sub-sub, sub-sub-sub etc and go back to the standard.”
- so you must always treat C-g as sacred too, else you may get yourself stuck choosing between finding the least offensive hotkey and whatever you hooked to C-g.
- don’t be afraid to notice, among your commonly-used programs that handle buffers skillfully, keystroke combinations that do not seem to be used for anything across the board. it is good to have an additional empty in order to have that C-g power once again, that ability to do something on the global level no matter what.
i’m connected to my cellular telephone for sms but use openssh and a web client handling an sqlite database so that i never have to touch my phone. and i redirect incoming calls to my VoIP line at sdf. so basically that is my current understanding. we need to have a primary computer running a solid instance of gnu or unix – we need to have a cellular telephone for sms & voice both at base and on the go – and we need all these devices integrated such that, no matter how many different devices you have, you are always using the most powerful one available where you are (as it is in command of all the others).
so before you buy your novelty watch from babble so you can look cool like leela from futurama, make sure you actually have a portable use for it. this whole touch-screen thing is a fad. and so is the computer mouse. the only argument i can think of in support of the use of a mouse is to pick direction or point/aim quickly in a first-person environment such as a shooter game. i adore Left4Dead2 and also indulge in Rust as well as Minecraft (or do i? is minecraft over? what the hell happened? blame this motd/grapevine’s messiness on this insane situation with mojang and the bukkit team. that dmca, wee-ow, it’s a beast) but i cannot quite say “oh well I need a mouse for killing zombies” when discussing the efficient use of my computer. there is probably nothing productive or healthy about participation in such a game. i feel like someone would disagree (though i’d probably just end up citing to him billions of studies that confirm a posited hypothesis that venting anger does not lessen it but in fact causes it to multiply by means of a simple positive reinforcement biochemistry) – still it could be a topic. i’m not abandoning the motd or grapevine.
if you build it they will whatever. and if YOU get rid of your mouse completely for 24 hours, you’ll be able to healthily relapse when the time is up.