~geb/handsfree.dev

a3ae25a31dc6cd21c7704a0091f106a6229381be — John Gebbie 1 year, 5 months ago
initial commit
A  => _upload.sh +7 -0
@@ 1,7 @@
#!/bin/sh
# upload.sh DIRECTORY [DOMAIN]
# Uploads a site to sourcehut pages.
[ $# != 1 ] && [ $# != 2 ] && printf %s\\n "$0: Bad usage" && exit
[ -z "$SOURCEHUT_USERNAME" ] && echo 'you need to set $SOURCEHUT_USERNAME' && exit
[ -z "$SOURCEHUT_PAGES_TOKEN" ] && echo 'you need to set $SOURCEHUT_PAGES_TOKEN' && exit
cd "$1" && tar -cz * | curl --oauth2-bearer "$SOURCEHUT_PAGES_TOKEN" -Fcontent=@- "https://pages.sr.ht/publish/${2:-$SOURCEHUT_USERNAME.srht.site}"

A  => site/gaming.html +23 -0
@@ 1,23 @@
<!doctype html>
<html lang="en">
<head>
	<link rel="icon" href="favicon.png">
	<meta charset="utf-8"/>
	<meta name="author" content="John Gebbie">
	<link rel="stylesheet" type="text/css" href="./main.css">
	<title>Handsfree FOSS / Gaming</title>
</head>
<body>
	<h1><a href="./index.html">Handsfree FOSS</a></h1>
	<h2 id="subtitle">Gaming</h2>
	<main>
		<img href="oh dear" alt="WEBSITE UNDER CONSTRUCTION">
	</main>
	<footer>
		<hr>
		<a href="https://git.sr.ht/~geb/handsfree.dev">Source</a>
		| 2023
		<a href="https://johngebbie.com">John Gebbie</a>
	</footer>
</body>
</html>

A  => site/index.html +37 -0
@@ 1,37 @@
<!doctype html>
<html lang="en">
<head>
	<link rel="icon" href="favicon.png">
	<meta charset="utf-8"/>
	<meta name="author" content="John Gebbie">
	<meta name="description" content="Free and open-source software for handsfree computing">
	<meta name="keywords" content="voice control, voice typing, voice coding, handsfree computing, accessibility, linux">
	<link rel="stylesheet" type="text/css" href="./main.css">
	<title>Handsfree FOSS</title>
</head>
<body>
	<h1><a href="./index.html">Handsfree FOSS</a></h1>
	<main>
<em>Welcome!</em>
<p>
Here we overview software for computing efficiently handsfree. The focus is
on free and open-source solutions that keep you in control.
<p>
Disclaimer: I'm the maintainer of <a href="https://numenvoice.com">Numen</a>,
so it's obviously the the best voice control.
		<h2>Pages</h2>
		<nav>
			<a href="./voice-control.html">Voice Control</a>
			<a href="./setup.html">My Setup</a>
			<a href="./smartphones.html">Smartphones</a>
			<a href="./gaming.html">Gaming</a>
		</nav>
	</main>
	<footer>
		<hr>
		<a href="https://git.sr.ht/~geb/handsfree.dev">Source</a>
		| 2023
		<a href="https://johngebbie.com">John Gebbie</a>
	</footer>
</body>
</html>

A  => site/main.css +60 -0
@@ 1,60 @@
html {
	height: 100%;
	font-family: monospace;
	font-size: 15px;
	line-height: 1.6em;
}

body {
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1ch;
	max-width: 800px;
	height: 100%;
	background-color: #ffffff;
	color: #232333;
}

h1 {
	text-align: center;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.03rem;
}

h1 a {
	text-decoration: wavy underline;
	text-underline-offset: 0.1rem;
}

#subtitle {
	text-align: center;
}

h2 {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.03rem;
/*	text-decoration: underline #9a9a9a;*/
	text-decoration: underline pink;
}

main {
	flex-grow: 1;
}

nav {
	list-style: none;
	padding-left: 2ch;
}

nav a {
	display: block;
}

footer {
	margin: 1em 0.25em;
	text-align: right;
}

A  => site/setup.html +68 -0
@@ 1,68 @@
<!doctype html>
<html lang="en">
<head>
	<link rel="icon" href="favicon.png">
	<meta charset="utf-8"/>
	<meta name="author" content="John Gebbie">
	<link rel="stylesheet" type="text/css" href="./main.css">
	<title>Handsfree FOSS / My Setup</title>
</head>
<body>
	<h1><a href="./index.html">Handsfree FOSS</a></h1>
	<h2 id="subtitle">My Setup</h2>
	<main>
These are the main programs I use, but they're just the same power user
tools I'd use if I typed with a keyboard instead of voice control.

<h2>Window Manager</h2>

I use a tiling window manager so applications don't need to be dragged
about and I can navigate them nicely just like I would with a keyboard.
My favorite is <a href="https://github.com/baskerville/bspwm">bspwm</a>,
but there are others like <a href="https://swaywm.org">Sway</a> and <a
href="https://dwm.suckless.org">dwm</a>.

<h2>Text Editor</h2>

The text editor I use is <a href="https://neovim.io">Neovim</a>, which
lets me do fancy autocompletion and modal editing like <em>*indent to end
of block*</em> and <em>*capitalize every first word*</em> without anything
voice specific.  I recommend turning on relative line numbers (<code>:set
relativenumber number</code>) so you can easily see you want to <em>*comment
out five lines*</em> or <em>*go down eight*</em>.

<h2>Web Browser</h2>

The web browser I use is <a href="https://qutebrowser.org">qutebrowser</a>,
which lets you <em>*click that link*</em> or <em>*copy that block of code*</em>
by typing a couple keys.  It's homepage also has a list alternative tools,
including add-ons for Firefox and Chromium.

<h2>Terminal</h2>

It's nothing too crazy, but I use the <a
href="http://software.schmorp.de/pkg/rxvt-unicode.html">urxvt</a>
terminal emulator with an <a
href="https://github.com/muennich/urxvt-perls">extension</a> so I
can select things from the buffer vim-style.  There's a similar <a
href="https://st.suckless.org/patches/keyboard_select">patch for st</a>.
<p>
I also get a lot from <a
href="https://github.com/zsh-users/zsh-autosuggestions">shell
autosuggestions</a>.

<h2>Getting My Setup</h2>

I've packaged my setup as a <a href="https://git.sr.ht/~geb/tiles">desktop
environment</a> so it's easy to install (and uninstall!) my configs.  It's got
bunch of other small niceties for voice control like a shell-based filepicker
and universal pasting with the media key.
	</main>
	<footer>
		<hr>
		<a href="https://git.sr.ht/~geb/handsfree.dev">Source</a>
		| 2023
		<a href="https://johngebbie.com">John Gebbie</a>
	</footer>
</body>
</html>

A  => site/smartphones.html +23 -0
@@ 1,23 @@
<!doctype html>
<html lang="en">
<head>
	<link rel="icon" href="favicon.png">
	<meta charset="utf-8"/>
	<meta name="author" content="John Gebbie">
	<link rel="stylesheet" type="text/css" href="./main.css">
	<title>Handsfree FOSS / Smartphones</title>
</head>
<body>
	<h1><a href="./index.html">Handsfree FOSS</a></h1>
	<h2 id="subtitle">Smartphones</h2>
	<main>
		<img href="oh dear" alt="WEBSITE UNDER CONSTRUCTION">
	</main>
	<footer>
		<hr>
		<a href="https://git.sr.ht/~geb/handsfree.dev">Source</a>
		| 2023
		<a href="https://johngebbie.com">John Gebbie</a>
	</footer>
</body>
</html>

A  => site/voice-control.html +43 -0
@@ 1,43 @@
<!doctype html>
<html lang="en">
<head>
	<link rel="icon" href="favicon.png">
	<meta charset="utf-8"/>
	<meta name="author" content="John Gebbie">
	<link rel="stylesheet" type="text/css" href="./main.css">
	<title>Handsfree FOSS / Voice Control</title>
</head>
<body>
	<h1><a href="./index.html">Handsfree FOSS</a></h1>
	<h2 id="subtitle">Voice Control</h2>
	<main>
Voice control can be a very efficient keyboard alternative, but the different
software have different philosophies.

<h2>Dragonfly/Caster</h2>
<a href="https://github.com/dictation-toolbox/dragonfly">Dragonfly</a> is a
framework that abstracts several speech recognition backends and lets you
program domain specific grammars for voice control.  Dragonfly is not an
out-of-the-box solution in itself, but there is another project called <a
href="https://github.com/dictation-toolbox/caster">Caster</a>, which builds
on it and comes configured with rules and grammars for different domains.
Caster is for people who would like something that focuses on high-level
application and programming language specific phrases, and takes the role
of their text editor and window manager.  It works on Linux (X11 only),
Windows and Mac.

<h2>Numen</h2>
<a href="https://numenvoice.com">Numen</a> is a simple alternative to a
keyboard where you type by saying syllables and literal words.  It's for people
who would just like something close to a keyboard so they can use standard
keyboard-focused tools without any integration or switching between phrases.
It works system-wide on Linux.
	</main>
	<footer>
		<hr>
		<a href="https://git.sr.ht/~geb/handsfree.dev">Source</a>
		| 2023
		<a href="https://johngebbie.com">John Gebbie</a>
	</footer>
</body>
</html>

A  => upload.sh +2 -0
@@ 1,2 @@
#!/bin/sh
./_upload.sh site handsfree.dev