A customizable implementation of hackertyper.com in emacs.
- Type
M-x hacker-typer
and get hacking! Or useC-u M-x hacker-typer
to be prompted about the file to use. - Type
M-x hackerman
if you’d just like a hacker companion, orC-u M-x hackerman
for single-window. - If you’d like to see hackerman when invoking
M-x hacker-typer
, sethacker-typer-show-hackerman
tot
. See more customization options below. - You can quit with your
keyboard-quit
binding orM-x hacker-typer-quit
. - You can clear downloaded data with
M-x hacker-typer-clear-cache
.
NOTE: None of your files are altered.
This package is on Melpa. To install using use-package:
(use-package hacker-typer
:ensure t)
Alternatively, using quelpa-use-package:
(use-package hacker-typer
:quelpa (hacker-typer
:fetcher github
:repo "therockmandolinist/emacs-hacker-typer"
:files (:defaults "hackerman.png")))
Or quelpa:
(quelpa '(hacker-typer
:fetcher github
:repo "therockmandolinist/emacs-hacker-typer"
:files (:defaults "hackerman.png")))
Otherwise, download the files to somewhere on your load path, and enable hacker-typer:
(require 'hacker-typer)
M-x hacker-typer
randomly selects a file from hacker-typer-files
(or prompts
for one if given a prefix argument) downloading it if necessary, and creates a
blank buffer with the name of that file (with random characers prepended). It
then creates a local map in which all insert, delete, and enter commands are
rebound to insert pieces of the file according to hacker-typer-type-rate
.
M-x hackerman
displays a humorous image of Rami Malek as “hackerman,” by
inserting the file path into a temporary buffer and calling iimage-mode
.
NOTE: Modes that get could get in the way are turned off if bound, so let me know if you have more suggestions for these. The current list:
- agressive-indent-mode
- smartparens-mode
- evil-smartparens-mode
- whitespace-mode
Type M-x customize-group hacker-typer RET
to view all customization options.
They are the following:
A list of files to randomly select from. Defaults to 5 emacs C source code files.
Can be web urls that point directly to files, or local files of the form: file:///absolute/path/to/file.
If set to t
, remove comments from files.
If set to t
, shaw hackerman when calling M-x hacker-typer
.
How many characters to type out per keystroke. Can be set to:
random
(default): each keystroke inserts N characters, where N is randomly selected fromhacker-typer-random-range
.- integer: types out this many characters per keystroke.
Range from which to choose chararcters to type per keystroke if
hacker-typer-type-rate
is set to 'random
.
The directory in which to store data for hacker-typer. If no-littering is
installed, it defaults to hacker-typer/
under no-littering-var-directory
,
otherwise placing the folder under user-emacs-directory
.
- It’s possible I should use
image-mode
to directly open the hackerman file instead, but I’m not sure how to do that with a temporary buffer and I like that temp buffers quit easily (at least, with evil-mode). - Somewhat relatedly, it would be nice to resize the hackerman image to fit the window, though this might take away from the humor of the immediacy by having to wait for the resize.