1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
#+HTML_HEAD: <link rel="stylesheet" href="../../static/style.css">
#+HTML_HEAD: <link rel="icon" href="../../static/projects/cetus/favicon.png" type="image/png">
#+EXPORT_FILE_NAME: index
#+TITLE: Cetus
Cetus is a simple wallpaper management tool written in Go. It supports multiple
sources for fetching the background.
| Project Home | [[https://andinus.nand.sh/projects/cetus/][Cetus]] |
| Source Code | [[https://framagit.org/andinus/cetus][Andinus / Cetus]] |
| GitHub Mirror | [[https://github.com/andinus/cetus][Cetus - GitHub]] |
*Note*: Cetus is a work in-progress & many features are yet to be implemented.
*Dependency*: [[https://feh.finalrewind.org/][feh]]
* Bing Photo of the Day
cetus-bing fetches Bing Photo of the Day.
** Features
- set BPOD as background
- fetch information on BPOD
- choose random photo
** Examples
#+BEGIN_SRC sh
# set current BPOD as background
cetus-bing
# set photo randomly
cetus-bing -random
# change api endpoint
cetus-bing -api https://www.bing.com/HPImageArchive.aspx
# don't set background, just fetch information
cetus-bing -fetch-only
# don't set background, just fetch & print only the path (useful in
# scripts)
cetus-bing -fetch-only -path-only
# don't output anything
cetus-bing -quiet
# dump received response
cetus-bing -dump
# don't set background, just fetch & don't output anything
cetus-bing -quiet -fetch-only # why would anyone do this?
#+END_SRC
* NASA Astronomy Picture of the Day
cetus-nasa uses NASA's API to get the Astronomy Picture of the Day.
*Note*: If the returned media type is not image then cetus-nasa will only print
details & not try to set background.
** Features
- set APOD as background
- fetch information on APOD
- choose custom date
- choose date randomly
** Examples
#+BEGIN_SRC sh
# set currently APOD as background
cetus-nasa
# set date randomly
cetus-nasa -random
# set 2020-01-05 APOD as background
cetus-nasa -date 2020-01-05
# 2020-03-15 APOD is a video, cetus will only print details
cetus-nasa -date 2020-03-15
# change api endpoint & api key
cetus-nasa -api https://api.nasa.gov/planetary/apod \
-api-key DEMO_KEY
# don't set background, just fetch information
cetus-nasa -fetch-only
# don't set background, just fetch & print only the path (useful in
# scripts)
cetus-nasa -fetch-only -path-only
# don't output anything
cetus-nasa -quiet
# dump received response
cetus-nasa -dump
# don't set background, just fetch & don't output anything
cetus-nasa -quiet -fetch-only # why would anyone do this?
#+END_SRC
* Wallhaven
cetus-wallhaven uses Wallhaven's API to get random background.
** Features
- set random image as background
- fetch information
** Examples
#+BEGIN_SRC sh
# set a random image as background
cetus-wallhaven
# same as above
cetus-wallhaven -random
# change api endpoint & api key
cetus-wallhaven -api https://wallhaven.cc/api/v1/search \
-api-key
# don't set background, just fetch information
cetus-wallhaven -fetch-only
# don't set background, just fetch & print only the path (useful in
# scripts)
cetus-wallhaven -fetch-only -path-only
# don't output anything
cetus-wallhaven -quiet
# dump received response
cetus-wallhaven -dump
# don't set background, just fetch & don't output anything
cetus-wallhaven -quiet -fetch-only # why would anyone do this?
#+END_SRC
* Demo
I just run some cetus commands on my computer, nothing fancy. I'll make better
demo videos someday.
*Note*: Cetus was restructured multiple times & these demos may not work on the
latest release.
| Version | Video |
|---------+----------------------------------------------------------------------|
| v0.4.6 | https://diode.zone/videos/watch/965bb7a4-029a-4584-a40d-241959d1aced |
| v0.4.1 | https://diode.zone/videos/watch/a52cc728-93e5-4bba-9375-752e1dba306d |
| v0.3.1 | https://diode.zone/videos/watch/0808c512-315a-4dab-9526-4a537e8c3257 |
| v0.2.0 | https://diode.zone/videos/watch/12db31e1-3517-4888-ad06-55f3859447a1 |
* Installation
** Binary
framagit.org compiles cetus for OpenBSD & GNU/Linux amd64 on every release, to
get the binary goto [[https://framagit.org/andinus/cetus/pipelines?scope=tags&page=1][Pipelines - tags]].
To get the latest binary goto [[https://framagit.org/andinus/cetus/pipelines][Pipelines]].
** From Source
#+BEGIN_SRC sh
# get master branch archive
curl -o cetus-master.tar.gz \
https://framagit.org/andinus/cetus/-/archive/master/cetus-master.tar.gz
# extract the archive
tar -xzf cetus-master.tar.gz
# install cetus
cd cetus-master && \
go install ./cmd/cetus-nasa && \
go install ./cmd/cetus-bing
#+END_SRC
|