~fkfd/utab

9384fe3c2188e0e72ae3c1968171cab758b04424 — Frederick Yin 2 years ago 9527f0b
0BSD; README
2 files changed, 95 insertions(+), 1 deletions(-)

A LICENSE
M README.md
A LICENSE => LICENSE +10 -0
@@ 0,0 1,10 @@
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file

M README.md => README.md +85 -1
@@ 1,1 1,85 @@
# uTab
\ No newline at end of file
# uTab

## What

uTab (`[UuΜµ]{TAB|Tab|tab}`, pronounced you-tab, mu-tab, or microtab) is a New Tab daemon that runs on localhost to satisy your desire for cross-browser consistency of New Tabs. To enable it, read on.

## How

Reluctant to squat on precious four-letter PyPI namespace, I did not upload utab to it, lest someone should foster a much better clone. Anyways, using this version of utab doesn't involve significantly more work than doing pip install.

### Installation

Assuming `python` == `python3.6` or higher:

1. Fetch source: `git clone https://git.sr.ht/~fkfd/utab`
2. Install: `cd utab && python setup.py install` (will install deps. append `--user` if desired.)

### Configs and Data

These are in your user data dir. For Linux, this is typically `~user/.local/share/utab/`.

What is in the dir? On default, these:

```
utab/
    css/
        index.css
    icons/
        home.svg
        pencil.svg
        plus.svg
    config.yml
    index.html
    site.html
    sites.csv
```

After due consideration, I picked whichever file format I considered most efficient to write, by machine and by hand. Let's explain some of the files.

#### `config.yml`

```yaml
columns: 8
rows: 4
```

Ezpz. Layout for your grid.

#### `sites.csv`

| URL                | Title                | Favicon src             | Visits                                             |
| ------------------ | -------------------- | ----------------------- | -------------------------------------------------- |
| site URL, mandated | site title, optional | URL or base64, optional | integer, used to rank sites from highest to lowest |

Example:

```csv
https://en.wikipedia.org,English Wikipedia,https://en.wikipedia.org/static/favicon/wikipedia.ico,3
```

#### `*.html`

DST (Dead Simple Template) files[1]. Anything wrapped in `%` are injected with dynamic data, such as site headings.

#### `icons/*.svg`

Icons from [open-iconic](https://github.com/iconic/open-iconic). MIT License.

To change color, open them in a text editor (inkscape et al. will spew metadata all over the file). Modify `fill:#ffffff` to any other color in the `style` attribute of `<path>`.

### Running

To run it inside the command line, run `python -m utab`. It will start running as a daemon, on port 64366. To start it on startup, consider putting it in `.profile` or something.

## Usable Technology Certificate

[![UT badge](https://img.shields.io/badge/usable-technology-blue)](https://fkfd.me/ut/landing.html)

This is a piece of Usable Technology. It supports the philosophy that fewer restrictions should be imposed on individual developers, thereby maximizing the **community value**. It doesn't spoil anyone's fun, because 99% of the time it's another innocent person rather than an evil corp.

License: 0BSD
Copyright: nope
Forks: welcome; features intentionally lacking to encourage them. If you have a fork, contact me so I can add it here.

[1] Don't bother looking it up. There ain't such a thing.