Update URL to 9wm
This commit is contained in:
parent
b15ab92e59
commit
c6c12f4a0d
2
install
2
install
|
@ -6,7 +6,7 @@ cd $(dirname $0)
|
||||||
|
|
||||||
older () {
|
older () {
|
||||||
tgt=$1
|
tgt=$1
|
||||||
[ -f "$tgt" ] || exit 0
|
[ -f "$tgt" ] || return 0
|
||||||
|
|
||||||
for src in "$@"; do
|
for src in "$@"; do
|
||||||
[ "$src" -nt "$tgt" ] && return 0
|
[ "$src" -nt "$tgt" ] && return 0
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0" name="viewport">
|
||||||
|
<title></title>
|
||||||
|
<link rel="stylesheet" href="slate.min.css">
|
||||||
|
<script src="twatch.js"></script>
|
||||||
|
<script src="slate.min.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="main-form">
|
||||||
|
<div class="item-container">
|
||||||
|
<div class="item-container-header">Appearance</div>
|
||||||
|
<div class="item-container-content">
|
||||||
|
<div class="item-container-content">
|
||||||
|
<label class="item">
|
||||||
|
Color Scheme
|
||||||
|
<select name="theme" dir="rtl" class="item-select">
|
||||||
|
<option class="item-select-option" value="000000,ffffff,ffffff">Dark</option>
|
||||||
|
<option class="item-select-option" value="ffffff,000000,000000">Light</option>
|
||||||
|
<option class="item-select-option" value="000000,ffffff,aaaaaa">Gray</option>
|
||||||
|
<option class="item-select-option" value="000000,ffffff,aa55ff">Dusk</option>
|
||||||
|
<option class="item-select-option" value="000000,ffffff,ffff55">Spring</option>
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label class="item">
|
||||||
|
Font Family
|
||||||
|
<select name="font" dir="rtl" class="item-select">
|
||||||
|
<option class="item-select-option">Helvetica</option>
|
||||||
|
<option class="item-select-option">Avería</option>
|
||||||
|
<option class="item-select-option">Ubuntu</option>
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="item-container">
|
||||||
|
<div class="button-container">
|
||||||
|
<input type="button" class="item-button" id="submit" name="submit" value="SEND">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -13,21 +13,25 @@
|
||||||
function submit() {
|
function submit() {
|
||||||
var form = document.getElementById("main-form");
|
var form = document.getElementById("main-form");
|
||||||
var inputs = form.getElementsByTagName("input");
|
var inputs = form.getElementsByTagName("input");
|
||||||
|
var selects = form.getElementsByTagName("select");
|
||||||
var return_to = getQueryParam('return_to', 'pebblejs://close#');
|
var return_to = getQueryParam('return_to', 'pebblejs://close#');
|
||||||
|
|
||||||
var options = {};
|
var options = {};
|
||||||
|
|
||||||
console.log("Submitting");
|
console.log("Submitting");
|
||||||
for (var i = 0; i < inputs.length; i += 1) {
|
for (var i = 0; i < (inputs.length + selects.length); i += 1) {
|
||||||
var input = inputs[i];
|
var input = inputs[i] || selects[i - inputs.length];
|
||||||
var k = input.name;
|
var k = input.name;
|
||||||
var t = input.type;
|
var t = input.type;
|
||||||
var v;
|
var v;
|
||||||
|
|
||||||
|
console.log(k, t, v);
|
||||||
if (t == "checkbox") {
|
if (t == "checkbox") {
|
||||||
v = input.checked;
|
v = input.checked;
|
||||||
} else if (t == "text") {
|
} else if (t == "text") {
|
||||||
v = Number(input.value);
|
v = Number(input.value);
|
||||||
|
} else if (t == "select-one") {
|
||||||
|
v = input.value;
|
||||||
} else {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -42,15 +46,18 @@ function submit() {
|
||||||
function restore() {
|
function restore() {
|
||||||
var form = document.getElementById("main-form");
|
var form = document.getElementById("main-form");
|
||||||
var inputs = form.getElementsByTagName("input");
|
var inputs = form.getElementsByTagName("input");
|
||||||
for (var i = 0; i < inputs.length; i += 1) {
|
var selects = form.getElementsByTagName("select");
|
||||||
var input = inputs[i];
|
for (var i = 0; i < (inputs.length + selects.length); i += 1) {
|
||||||
|
var input = inputs[i] || selects[i - inputs.length];
|
||||||
var k = input.name;
|
var k = input.name;
|
||||||
var t = input.type;
|
var t = input.type;
|
||||||
var v = localStorage[k];
|
var v = localStorage[k];
|
||||||
console.log(k);
|
console.log(k, t, v);
|
||||||
if (v != undefined) {
|
if (v != undefined) {
|
||||||
if (t == "checkbox") {
|
if (t == "checkbox") {
|
||||||
input.checked = (v=="true")?true:false;
|
input.checked = (v=="true")?true:false;
|
||||||
|
} else if (t == "select-one") {
|
||||||
|
input.value = v;
|
||||||
} else if (k.slice(0, 6) == "color-") {
|
} else if (k.slice(0, 6) == "color-") {
|
||||||
var val = ("000000" + Number(v).toString(16)).slice(-6);
|
var val = ("000000" + Number(v).toString(16)).slice(-6);
|
||||||
var hex = "0x" + val;
|
var hex = "0x" + val;
|
||||||
|
|
|
@ -3,13 +3,14 @@ Title: The Setup / Neale Pickett
|
||||||
After reading [Russ Cox's setup](http://russ.cox.usesthis.com/)
|
After reading [Russ Cox's setup](http://russ.cox.usesthis.com/)
|
||||||
I thought it might be interesting to write up my own.
|
I thought it might be interesting to write up my own.
|
||||||
|
|
||||||
September 18, 2014
|
29 December, 2015
|
||||||
|
|
||||||
|
|
||||||
Who are you, and what do you do?
|
Who are you, and what do you do?
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
I write software.
|
I am a system administrater at Canonical (the people who make Ubuntu).
|
||||||
|
|
||||||
Mostly I hack around the periphery of free software projects,
|
Mostly I hack around the periphery of free software projects,
|
||||||
occasionally tossing patches to projects that capture my interest.
|
occasionally tossing patches to projects that capture my interest.
|
||||||
A partial portfolio is on my [source code page](src/).
|
A partial portfolio is on my [source code page](src/).
|
||||||
|
@ -28,56 +29,50 @@ Hardware
|
||||||
I've decided to be very energy conscious.
|
I've decided to be very energy conscious.
|
||||||
This means my hardware is low-power and not high-performance.
|
This means my hardware is low-power and not high-performance.
|
||||||
|
|
||||||
At home, I have a Thinkpad X200.
|
I use a Thinkpad X220.
|
||||||
My wife uses a Chromebook, and we have a FitPC that gets turned on
|
My wife uses a Chromebook from 2011, which she loves,
|
||||||
when we need to print on our HP LaserJet CM2320.
|
and my daughter has an X220 that she doesn't turn on much.
|
||||||
My pre-teen daughter has a Nexus 7 tablet,
|
|
||||||
and my wife and I both use Nexus 4 phones.
|
We have a brother printer that connects wirelessly and speakes Google Cloud Print.
|
||||||
|
I can no longer print natively from Linux,
|
||||||
|
which has mattered exactly once in the last two years.
|
||||||
|
|
||||||
|
The family shares a Nexus 7 tablet,
|
||||||
|
my wife and daughter have Nexus 5x phones,
|
||||||
|
and I have a Nexus 6.
|
||||||
|
|
||||||
We also have a Chromecast that's mostly used for Netflix,
|
We also have a Chromecast that's mostly used for Netflix,
|
||||||
and a Wii.
|
and a Wii.
|
||||||
|
|
||||||
At work, I use an Intel NUC.
|
|
||||||
|
|
||||||
|
|
||||||
Software
|
Software
|
||||||
--------
|
--------
|
||||||
|
|
||||||
I run Arch Linux, with a shell script PID 1 that I maintain because I enjoy tinkering with early userspace.
|
I run Ubuntu with the Gnome 3 desktop,
|
||||||
It uses runit from busybox to manage starting and stopping daemons.
|
which is the first Linux desktop environment I actually like.
|
||||||
Runit is a lot like systemd or upstart at core: daemons don't do the double-fork trick, and log to stdout.
|
I think this is mostly because it doesn't try to do many tricks.
|
||||||
|
|
||||||
On the desktop, I run Google Chrome, xterm, and acme from plan9port.
|
Inside Emacs I run Gnus for work email,
|
||||||
My window manager varies a lot.
|
and a comint-mode derivative I created for bouncing around work machines with SSH.
|
||||||
Most times it's Openbox plus tint2, but sometimes I go back to 9wm (which I maintain).
|
I don't run any sort of terminal emulator:
|
||||||
I'm starting to make overtures at Wayland.
|
everything is `TERM=dumb` inside my emacs SSH sessions.
|
||||||
|
|
||||||
Occasionally I kick up inkscape or gimp, and mixxx for my DJ work.
|
My other main program is Google Chrome.
|
||||||
Most of my non-work computer use is through Chrome, which ties me strongly
|
|
||||||
to Linux, for better or worse.
|
|
||||||
|
|
||||||
My non-development stuff is almost entirely in the cloud.
|
Occasionally I will run Gimp and Inkscape, too.
|
||||||
It's very frustrating to have to go to work where people are still emailing
|
|
||||||
Excel spreadsheets and hand-merging edits.
|
|
||||||
|
|
||||||
My FitPC print server runs Ubuntu and some kind of Chromium Cloud Print server thing.
|
|
||||||
All my home printing is through Google Cloud Print.
|
|
||||||
|
|
||||||
|
|
||||||
What would be your dream setup?
|
What would be your dream setup?
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
I'm actually not too far away right now.
|
I'm pretty happy with what I have now,
|
||||||
I like working in the cloud, and for my development stuff,
|
although I wish I had time to get Acme working for me as nicely as Emacs,
|
||||||
acme is pretty great.
|
since I am not an Emacs fan.
|
||||||
|
|
||||||
I spend a lot of time fretting about window managers.
|
It bothers me that X11 is such a horrible mess,
|
||||||
Hopefully I can move to Wayland soon, and port 9wm to it.
|
but now that I'm not maintaining my own window manager,
|
||||||
Or maybe I can get Chrome to expose its window manager.
|
it's less of an issue.
|
||||||
|
|
||||||
I kind of wish I didn't need a gazillion packages in order to run my 3 main programs
|
I'd like to get my daughter off her X220 and onto a Chromebook,
|
||||||
(chrome, acme, and xterm).
|
because I feel like desktop system administration is a skill she will never need as an adult.
|
||||||
But I don't know how I can fix that, and I'm not sure I really even want to.
|
But it's not enough of a concern to make me actually do anything about it.
|
||||||
|
|
||||||
I would also like to do away with the FitPC print server.
|
|
||||||
I'd love to be able to buy a little box that will hop on our wireless network
|
|
||||||
and connect our printer to Google Cloud Print.
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ It does not allocate any colors,
|
||||||
and only requires Xlib,
|
and only requires Xlib,
|
||||||
both of which will be great news if you are in 1993.
|
both of which will be great news if you are in 1993.
|
||||||
|
|
||||||
9wm is distributed under [an MIT License](https://woozle.org/neale/g.cgi/x11/9wm/about/LICENSE),
|
9wm is distributed under [an MIT License](https://github.com/nealey/9wm/blob/master/LICENSE.md),
|
||||||
at <https://woozle.org/neale/g.cgi/x11/9wm>.
|
at <https://github.com/nealey/9wm>.
|
||||||
|
|
||||||
|
|
||||||
How do I use it?
|
How do I use it?
|
||||||
|
@ -51,4 +51,4 @@ More Information
|
||||||
================
|
================
|
||||||
|
|
||||||
More information can be found in the
|
More information can be found in the
|
||||||
[README](https://woozle.org/neale/g.cgi/x11/9wm/about/) file.
|
[README](https://github.com/nealey/9wm/blob/master/README.md).
|
||||||
|
|
Loading…
Reference in New Issue