Add cure font

This commit is contained in:
Camille Scholtz 2018-12-26 01:49:13 +01:00
parent 939d16d45c
commit 449b00905c
18 changed files with 2892 additions and 112 deletions

@ -2,7 +2,6 @@ package main
import (
"bufio"
"log"
"os"
"strconv"
"time"
@ -37,7 +36,7 @@ func (bar *Bar) clockFun() {
}
func (bar *Bar) musicFun() {
block := bar.initBlock("music", "?", 660, 'r', -13, "#3C4F5B", "#CCCCCC")
block := bar.initBlock("music", "?", 660, 'r', -12, "#3C4F5B", "#CCCCCC")
/*block.actions["button1"] = func() {
if block.popup == nil {
@ -56,45 +55,45 @@ func (bar *Bar) musicFun() {
block.actions["button3"] = func() {
conn, err := mpd.Dial("tcp", ":6600")
if err != nil {
log.Print(err)
panic(err)
}
defer conn.Close()
status, err := conn.Status()
if err != nil {
log.Print(err)
panic(err)
}
if err := conn.Pause(status["state"] != "pause"); err != nil {
log.Print(err)
panic(err)
}
}
block.actions["button4"] = func() {
conn, err := mpd.Dial("tcp", ":6600")
if err != nil {
log.Print(err)
panic(err)
}
defer conn.Close()
if err := conn.Previous(); err != nil {
log.Print(err)
panic(err)
}
}
block.actions["button5"] = func() {
conn, err := mpd.Dial("tcp", ":6600")
if err != nil {
log.Print(err)
panic(err)
}
defer conn.Close()
if err := conn.Next(); err != nil {
log.Print(err)
panic(err)
}
}
watcher, err := mpd.NewWatcher("tcp", ":6600", "", "player")
if err != nil {
log.Fatal(err)
panic(err)
}
var conn *mpd.Client
init := true
@ -108,20 +107,17 @@ func (bar *Bar) musicFun() {
// TODO: Is it maybe possible to not create a new connection each loop?
conn, err = mpd.Dial("tcp", ":6600")
if err != nil {
log.Print(err)
continue
panic(err)
}
cur, err := conn.CurrentSong()
if err != nil {
log.Print(err)
continue
panic(err)
}
status, err := conn.Status()
if err != nil {
log.Print(err)
continue
panic(err)
}
var state string
@ -129,7 +125,7 @@ func (bar *Bar) musicFun() {
state = "[paused] "
}
txt := state + cur["Artist"] + " - " + cur["Title"]
txt := "» " + state + cur["Artist"] + " - " + cur["Title"]
if block.txt == txt {
continue
}
@ -144,14 +140,14 @@ func (bar *Bar) todoFun() {
watcher, err := fsnotify.NewWatcher()
if err != nil {
log.Fatal(err)
panic(err)
}
if err := watcher.Add("/home/onodera/.todo"); err != nil {
log.Fatal(err)
panic(err)
}
file, err := os.Open("/home/onodera/.todo")
if err != nil {
log.Fatal(err)
panic(err)
}
init := true
for {
@ -170,11 +166,10 @@ func (bar *Bar) todoFun() {
c++
}
if _, err := file.Seek(0, 0); err != nil {
log.Print(err)
continue
panic(err)
}
txt := strconv.Itoa(c)
txt := "¢ " + strconv.Itoa(c)
if block.txt == txt {
continue
}
@ -235,23 +230,26 @@ func (bar *Bar) weatherFun() {
*/
func (bar *Bar) windowFun() {
block := bar.initBlock("window", "?", 220, 'c', 0, "#37BF8D", "#FFFFFF")
blockIcon := bar.initBlock("window", "º", 21, 'l', 12, "#37BF8D", "#FFFFFF")
block := bar.initBlock("window", "?", 200, 'c', 0, "#37BF8D", "#FFFFFF")
// TODO: I'm not sure how I can use init (to prevent a black bar) here?
// TODO: This doesn't check for window title changes.
xevent.PropertyNotifyFun(func(_ *xgbutil.XUtil, ev xevent.
PropertyNotifyEvent) {
atom, err := xprop.Atm(bar.xu, "_NET_ACTIVE_WINDOW")
if ev.Atom != atom {
return
}
if err != nil {
log.Print(err)
panic(err)
}
if ev.Atom != atom {
return
}
id, err := ewmh.ActiveWindowGet(bar.xu)
if err != nil {
log.Print(err)
panic(err)
}
if id == 0 {
return
}
@ -262,11 +260,9 @@ func (bar *Bar) windowFun() {
txt = "?"
}
}
if len(txt) > 30 {
txt = txt[0:30] + "..."
if len(txt) > 38 {
txt = txt[0:38] + "..."
}
if block.txt == txt {
return
}
@ -274,27 +270,32 @@ func (bar *Bar) windowFun() {
block.txt = txt
bar.redraw <- block
}).Connect(bar.xu, bar.xu.RootWin())
bar.redraw <- blockIcon
}
func (bar *Bar) workspaceFun() {
blockWWW := bar.initBlock("www", "www", 74, 'c', 0, "#5394C9", "#FFFFFF")
blockWWW := bar.initBlock("www", "¼ www", 74, 'l', 10, "#5394C9",
"#FFFFFF")
blockWWW.actions["button1"] = func() {
if err := ewmh.CurrentDesktopReq(bar.xu, 0); err != nil {
log.Println(err)
panic(err)
}
}
blockIRC := bar.initBlock("irc", "irc", 67, 'c', 0, "#5394C9", "#FFFFFF")
blockIRC := bar.initBlock("irc", "½ irc", 67, 'l', 10, "#5394C9",
"#FFFFFF")
blockIRC.actions["button1"] = func() {
if err := ewmh.CurrentDesktopReq(bar.xu, 1); err != nil {
log.Println(err)
panic(err)
}
}
blockSRC := bar.initBlock("src", "src", 70, 'c', 0, "#5394C9", "#FFFFFF")
blockSRC := bar.initBlock("src", "¾ src", 70, 'l', 10, "#5394C9",
"#FFFFFF")
blockSRC.actions["button1"] = func() {
if err := ewmh.CurrentDesktopReq(bar.xu, 2); err != nil {
log.Println(err)
panic(err)
}
}
@ -304,18 +305,16 @@ func (bar *Bar) workspaceFun() {
xevent.PropertyNotifyFun(func(_ *xgbutil.XUtil, ev xevent.
PropertyNotifyEvent) {
atom, err := xprop.Atm(bar.xu, "_NET_CURRENT_DESKTOP")
if ev.Atom != atom {
return
}
if err != nil {
log.Print(err)
panic(err)
}
if ev.Atom != atom {
return
}
wsp, err := ewmh.CurrentDesktopGet(bar.xu)
if err != nil {
log.Print(err)
return
panic(err)
}
switch wsp {
@ -354,12 +353,12 @@ func (bar *Bar) workspaceFun() {
prevFun := func() {
if err := ewmh.CurrentDesktopReq(bar.xu, pwsp); err != nil {
log.Println(err)
panic(err)
}
}
nextFun := func() {
if err := ewmh.CurrentDesktopReq(bar.xu, nwsp); err != nil {
log.Println(err)
panic(err)
}
}

@ -6,7 +6,7 @@ import (
)
func main() {
bar, err := initBar(0, 0, 1920, 29, "./vendor/font/proggytiny.font")
bar, err := initBar(0, 0, 1920, 29, "./vendor/font/cure.font")
if err != nil {
log.Fatal(err)
}

BIN
vendor/font/cure.0020-007E vendored Executable file

Binary file not shown.

BIN
vendor/font/cure.0021-007E vendored Executable file

Binary file not shown.

BIN
vendor/font/cure.00A1-00AC vendored Executable file

Binary file not shown.

BIN
vendor/font/cure.00AE-00FE vendored Executable file

Binary file not shown.

BIN
vendor/font/cure.00FF-00FF vendored Executable file

Binary file not shown.

2677
vendor/font/cure.bdf vendored Normal file

File diff suppressed because it is too large Load Diff

69
vendor/font/cure.font vendored Normal file

@ -0,0 +1,69 @@
11 9
0xA2 0xA2 icon/icon.00A2-00A2
0xBA 0xBD icon/icon.00BA-00BD
0xBE 0xBE icon/icon.00BE-00BE
0x20 0x7E cure.0020-007E
0xA1 0xAC cure.00A1-00AC
0xAE 0xFE cure.00AE-00FE
0xFF 0xFF cure.00FF-00FF
0x0000 0x001F fixed/6x10.2400
0x0100 0x01FF fixed/6x10.0100
0x0200 0x02FF fixed/6x10.0200
0x0300 0x03FF fixed/6x10.0300
0x0400 0x04FF fixed/6x10.0400
0x0500 0x05FF fixed/6x10.0500
0x1600 0x16FF fixed/6x10.1600
0x1E00 0x1EFF fixed/6x10.1E00
0x1F00 0x1FFF fixed/6x10.1F00
0x2000 0x20FF fixed/6x10.2000
0x2100 0x21FF fixed/6x10.2100
0x2200 0x22FF fixed/6x10.2200
0x2300 0x23FF fixed/6x10.2300
0x2400 0x24FF fixed/6x10.2400
0x2500 0x25FF fixed/6x10.2500
0x2600 0x26FF fixed/6x10.2600
0x2800 0x28FF fixed/6x10.2800
0x3000 0x30fe naga10/knj10.3000
0x4e00 0x4ffe naga10/knj10.4e00
0x5005 0x51fe naga10/knj10.5005
0x5200 0x53fa naga10/knj10.5200
0x5401 0x55fe naga10/knj10.5401
0x5606 0x57fc naga10/knj10.5606
0x5800 0x59ff naga10/knj10.5800
0x5a01 0x5bff naga10/knj10.5a01
0x5c01 0x5dfe naga10/knj10.5c01
0x5e02 0x5fff naga10/knj10.5e02
0x600e 0x61ff naga10/knj10.600e
0x6200 0x63fa naga10/knj10.6200
0x6406 0x65fb naga10/knj10.6406
0x6602 0x67ff naga10/knj10.6602
0x6802 0x69ff naga10/knj10.6802
0x6a02 0x6bf3 naga10/knj10.6a02
0x6c08 0x6dfb naga10/knj10.6c08
0x6e05 0x6ffe naga10/knj10.6e05
0x7001 0x71ff naga10/knj10.7001
0x7206 0x73fe naga10/knj10.7206
0x7403 0x75ff naga10/knj10.7403
0x7601 0x77fc naga10/knj10.7601
0x7802 0x79fb naga10/knj10.7802
0x7a00 0x7bf7 naga10/knj10.7a00
0x7c00 0x7dfb naga10/knj10.7c00
0x7e01 0x7ffc naga10/knj10.7e01
0x8000 0x81fe naga10/knj10.8000
0x8201 0x83fd naga10/knj10.8201
0x8403 0x85fe naga10/knj10.8403
0x8602 0x87fe naga10/knj10.8602
0x8805 0x89f8 naga10/knj10.8805
0x8a00 0x8b9a naga10/knj10.8a00
0x8c37 0x8dff naga10/knj10.8c37
0x8e08 0x8ffd naga10/knj10.8e08
0x9000 0x91ff naga10/knj10.9000
0x920d 0x93e8 naga10/knj10.920d
0x9403 0x95e5 naga10/knj10.9403
0x961c 0x97ff naga10/knj10.961c
0x9801 0x99ff naga10/knj10.9801
0x9a01 0x9bf5 naga10/knj10.9a01
0x9c04 0x9dfd naga10/knj10.9c04
0x9e1a 0x9fa0 naga10/knj10.9e1a
0xFB00 0xFBFF fixed/6x10.FB00
0xFF00 0xFFFF fixed/6x10.FF00

BIN
vendor/font/icon/icon.00A2-00A2 vendored Executable file

Binary file not shown.

BIN
vendor/font/icon/icon.00BA-00BD vendored Executable file

Binary file not shown.

BIN
vendor/font/icon/icon.00BB-00BD vendored Executable file

Binary file not shown.

BIN
vendor/font/icon/icon.00BE-00BE vendored Executable file

Binary file not shown.

95
vendor/font/icon/icon.bdf vendored Normal file

@ -0,0 +1,95 @@
STARTFONT 2.1
FONT -artwiz-cure-medium-r-normal--11-110-75-75-p-90-ISO8859-1
SIZE 11 75 75
FONTBOUNDINGBOX 9 11 0 -2
STARTPROPERTIES 3
DEFAULT_CHAR 63
FONT_ASCENT 9
FONT_DESCENT 2
ENDPROPERTIES
CHARS 6
STARTCHAR 186
ENCODING 186
SWIDTH 872 0
DWIDTH 10 0
BBX 7 7 2 0
BITMAP
F8
88
8E
8A
FA
22
3E
ENDCHAR
STARTCHAR 188
ENCODING 188
SWIDTH 872 0
DWIDTH 10 0
BBX 7 7 2 0
BITMAP
38
6C
CE
C6
E2
64
38
ENDCHAR
STARTCHAR 189
ENCODING 189
SWIDTH 872 0
DWIDTH 10 0
BBX 7 7 2 0
BITMAP
FE
FE
BE
DE
B2
FE
FE
ENDCHAR
STARTCHAR 190
ENCODING 190
SWIDTH 872 0
DWIDTH 10 0
BBX 6 7 3 1
BITMAP
00
00
F8
00
3C
00
70
ENDCHAR
STARTCHAR 187
ENCODING 187
SWIDTH 872 0
DWIDTH 10 0
BBX 5 7 3 0
BITMAP
20
30
28
20
60
E0
40
ENDCHAR
STARTCHAR 162
ENCODING 162
SWIDTH 785 0
DWIDTH 9 0
BBX 7 7 1 0
BITMAP
38
6C
74
7C
7C
FE
10
ENDCHAR
ENDFONT

4
vendor/font/icon/icon.font vendored Normal file

@ -0,0 +1,4 @@
11 9
0xA2 0xA2 icon.00A2-00A2
0xBA 0xBD icon.00BA-00BD
0xBE 0xBE icon.00BE-00BE

Binary file not shown.

Binary file not shown.

@ -1,64 +0,0 @@
10 8
0x0000 0x001F fixed/6x10.2400
0x0000 0x00FE proggytiny.0000-00FE
0x00FF 0x00FF proggytiny.00FF-00FF
0x0100 0x01FF fixed/6x10.0100
0x0200 0x02FF fixed/6x10.0200
0x0300 0x03FF fixed/6x10.0300
0x0400 0x04FF fixed/6x10.0400
0x0500 0x05FF fixed/6x10.0500
0x1600 0x16FF fixed/6x10.1600
0x1E00 0x1EFF fixed/6x10.1E00
0x1F00 0x1FFF fixed/6x10.1F00
0x2000 0x20FF fixed/6x10.2000
0x2100 0x21FF fixed/6x10.2100
0x2200 0x22FF fixed/6x10.2200
0x2300 0x23FF fixed/6x10.2300
0x2400 0x24FF fixed/6x10.2400
0x2500 0x25FF fixed/6x10.2500
0x2600 0x26FF fixed/6x10.2600
0x2800 0x28FF fixed/6x10.2800
0x3000 0x30fe naga10/knj10.3000
0x4e00 0x4ffe naga10/knj10.4e00
0x5005 0x51fe naga10/knj10.5005
0x5200 0x53fa naga10/knj10.5200
0x5401 0x55fe naga10/knj10.5401
0x5606 0x57fc naga10/knj10.5606
0x5800 0x59ff naga10/knj10.5800
0x5a01 0x5bff naga10/knj10.5a01
0x5c01 0x5dfe naga10/knj10.5c01
0x5e02 0x5fff naga10/knj10.5e02
0x600e 0x61ff naga10/knj10.600e
0x6200 0x63fa naga10/knj10.6200
0x6406 0x65fb naga10/knj10.6406
0x6602 0x67ff naga10/knj10.6602
0x6802 0x69ff naga10/knj10.6802
0x6a02 0x6bf3 naga10/knj10.6a02
0x6c08 0x6dfb naga10/knj10.6c08
0x6e05 0x6ffe naga10/knj10.6e05
0x7001 0x71ff naga10/knj10.7001
0x7206 0x73fe naga10/knj10.7206
0x7403 0x75ff naga10/knj10.7403
0x7601 0x77fc naga10/knj10.7601
0x7802 0x79fb naga10/knj10.7802
0x7a00 0x7bf7 naga10/knj10.7a00
0x7c00 0x7dfb naga10/knj10.7c00
0x7e01 0x7ffc naga10/knj10.7e01
0x8000 0x81fe naga10/knj10.8000
0x8201 0x83fd naga10/knj10.8201
0x8403 0x85fe naga10/knj10.8403
0x8602 0x87fe naga10/knj10.8602
0x8805 0x89f8 naga10/knj10.8805
0x8a00 0x8b9a naga10/knj10.8a00
0x8c37 0x8dff naga10/knj10.8c37
0x8e08 0x8ffd naga10/knj10.8e08
0x9000 0x91ff naga10/knj10.9000
0x920d 0x93e8 naga10/knj10.920d
0x9403 0x95e5 naga10/knj10.9403
0x961c 0x97ff naga10/knj10.961c
0x9801 0x99ff naga10/knj10.9801
0x9a01 0x9bf5 naga10/knj10.9a01
0x9c04 0x9dfd naga10/knj10.9c04
0x9e1a 0x9fa0 naga10/knj10.9e1a
0xFB00 0xFBFF fixed/6x10.FB00
0xFF00 0xFFFF fixed/6x10.FF00