Compare commits
1052 Commits
182a8e62db
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
fe9d2ed6ea
|
|||
|
18d79b2efe
|
|||
|
1280086985
|
|||
|
90063ae6c5
|
|||
|
cc5a4ebbe6
|
|||
|
270a89b26a
|
|||
|
20efa66147
|
|||
|
9d4d6430d3
|
|||
|
ff914431e6
|
|||
|
84ea4de4fd
|
|||
|
28d0955175
|
|||
|
ccaff4902a
|
|||
|
284cfdae35
|
|||
|
fd4cabeebd
|
|||
|
2df3c35f5c
|
|||
|
ae9d929183
|
|||
|
86741cf0dc
|
|||
|
4088f199d5
|
|||
|
566861ee28
|
|||
|
bff574afd2
|
|||
|
1cb7eba76b
|
|||
|
8ea0f40e88
|
|||
|
9a1f111fac
|
|||
|
3cf2870437
|
|||
|
3c2a0c0ef9
|
|||
|
640207c305
|
|||
|
92460b57d4
|
|||
|
a463f2ba0a
|
|||
|
639d4029e5
|
|||
|
6c25f19639
|
|||
|
ebc95e422f
|
|||
|
9c00b684d0
|
|||
|
e04e874549
|
|||
|
1993e13e1c
|
|||
|
46e92dd821
|
|||
|
b8bdd37cbc
|
|||
|
2e5e276b61
|
|||
|
39719850cb
|
|||
|
2641e6af09
|
|||
|
e8e9114a90
|
|||
|
3c449f97fe
|
|||
|
9daced8c68
|
|||
|
749fda9b83
|
|||
|
c2e3f1f848
|
|||
|
92a0d923b4
|
|||
|
acc226a21d
|
|||
|
fc30673d4b
|
|||
|
a060958a93
|
|||
|
3d5b029ed9
|
|||
|
a52285b412
|
|||
|
d794c6e108
|
|||
|
f79e499237
|
|||
|
d399669bab
|
|||
|
a7340a4fdd
|
|||
|
a99244a97b
|
|||
|
c3c5808b07
|
|||
|
de6dd6c789
|
|||
|
08c152d1f7
|
|||
|
dbe0c491bb
|
|||
|
c4c80945e8
|
|||
|
7b0833252a
|
|||
|
00ee413240
|
|||
|
47d63fedb4
|
|||
|
17034d3d9d
|
|||
|
9ffe84d760
|
|||
|
05dcd7067b
|
|||
|
a4766fec55
|
|||
|
1e6e2cb09d
|
|||
|
4e2c08c71c
|
|||
|
440ebe4a5d
|
|||
|
3073990aa2
|
|||
|
6efe53acad
|
|||
|
670fbe1380
|
|||
|
9dedfe3f5b
|
|||
|
2e72a658c8
|
|||
|
88972553e6
|
|||
|
1cb1b64f59
|
|||
|
cf2b55878a
|
|||
|
f2f5db5cfc
|
|||
|
a021fed2d5
|
|||
|
bbd13e4072
|
|||
|
0e9cfbde92
|
|||
|
94a3a274dd
|
|||
|
1e09261192
|
|||
|
13e4332af2
|
|||
|
f9401e0b12
|
|||
|
89a248a03c
|
|||
|
b3309591dc
|
|||
|
d6b802f059
|
|||
|
511d0f8f38
|
|||
|
45c046ce23
|
|||
|
5173238e01
|
|||
|
627de377b4
|
|||
|
00b00407b6
|
|||
|
ac9e161129
|
|||
|
494ecac073
|
|||
|
a3232ccfd9
|
|||
|
b4c419d852
|
|||
|
20e89e938f
|
|||
|
4abe217eed
|
|||
|
e201a060e6
|
|||
|
e3289051ef
|
|||
|
2f4f9cb30d
|
|||
|
0c0a2363f6
|
|||
|
46a05e7226
|
|||
|
a500b1eaec
|
|||
|
29a1990a8d
|
|||
|
a10f3d0479
|
|||
|
86101c7cca
|
|||
|
97c74e22c0
|
|||
|
696c7cff3e
|
|||
|
3b301d3bb6
|
|||
|
a0d774da82
|
|||
|
cb35ae2d73
|
|||
|
81cd095d08
|
|||
|
f790423cca
|
|||
|
70f7fae3af
|
|||
|
04117fb5a9
|
|||
|
93c3e1cdae
|
|||
|
7e10020cc3
|
|||
|
daca7f41ff
|
|||
|
a55dec76db
|
|||
|
b6ce065c83
|
|||
|
a389169420
|
|||
|
ad6d235132
|
|||
|
f6772efd86
|
|||
|
b4d27af37a
|
|||
|
5918d9d756
|
|||
|
a1fbe5d2f8
|
|||
|
aeefc83ac6
|
|||
|
a226f325d3
|
|||
|
0e4c6c6c4b
|
|||
|
b810990611
|
|||
|
d7caf48eb9
|
|||
|
3d3dcc6123
|
|||
|
ff6365ba8c
|
|||
|
bc03b083ef
|
|||
|
d9f20bc035
|
|||
|
66c6ec5071
|
|||
|
46fc2b62d2
|
|||
|
07b888da3b
|
|||
|
f06fab1ec6
|
|||
|
6a0619d159
|
|||
|
8dbb4373be
|
|||
|
68807c16f3
|
|||
|
5f41c8e71d
|
|||
|
02137f0c4a
|
|||
|
31f33ea658
|
|||
|
724c27724f
|
|||
|
987f8593ba
|
|||
|
b3312d539e
|
|||
|
a27ce0ddf0
|
|||
|
843348a096
|
|||
|
e47c31d637
|
|||
|
8475732f42
|
|||
|
ff0da86024
|
|||
|
afc81645ff
|
|||
|
c9c8832054
|
|||
|
edb534baa1
|
|||
|
85e212d1f9
|
|||
|
5b31a3fab8
|
|||
|
5f7166b01e
|
|||
|
50f5cc94d0
|
|||
|
54d6b097e4
|
|||
|
1b24386366
|
|||
|
883795148a
|
|||
|
ab41c4810b
|
|||
|
0b055fef80
|
|||
|
febef82271
|
|||
|
9017ccf4ef
|
|||
|
429d050d1e
|
|||
|
2134e947fd
|
|||
|
a509efdecd
|
|||
|
2161f9f3a6
|
|||
|
1ceaaf7f3f
|
|||
|
d6c7f2ccdb
|
|||
|
e4cd19b77e
|
|||
|
f7a60d4679
|
|||
|
b3011c2825
|
|||
|
77231c8a20
|
|||
|
06266f2a2e
|
|||
|
0130f0fabd
|
|||
|
4ab766b657
|
|||
|
6992442453
|
|||
|
24f32a7589
|
|||
|
0b6a673a8c
|
|||
|
5f5c845dc4
|
|||
|
baf6d0fc26
|
|||
|
02f2170993
|
|||
|
47235d5040
|
|||
|
90c42309c0
|
|||
|
30f9c68aaf
|
|||
|
9481df90ea
|
|||
|
36bfdfc6a8
|
|||
|
1c15014511
|
|||
|
4258623f54
|
|||
|
4b85da9a1e
|
|||
|
e31224fa62
|
|||
|
ffd96a277d
|
|||
|
8ab46ec051
|
|||
|
54c0f11d80
|
|||
|
6fffa0177b
|
|||
|
e5a2527f81
|
|||
|
1214534726
|
|||
|
af2c327eb7
|
|||
|
d855a29b76
|
|||
|
4f8d4b19f3
|
|||
|
ce95e15824
|
|||
|
3363d9eb77
|
|||
|
b723c1a591
|
|||
|
d6917c0f49
|
|||
|
6c030a639a
|
|||
|
92eaa4e194
|
|||
|
63d778f84d
|
|||
|
4a528bf34e
|
|||
|
51e84faa27
|
|||
|
c7e83b5497
|
|||
|
a697a3045e
|
|||
|
d590aa219c
|
|||
|
ad6160204d
|
|||
|
74303bbf02
|
|||
|
b518e078d9
|
|||
|
8022fff67e
|
|||
|
a570ebbc07
|
|||
|
f97d6f6bbb
|
|||
|
8eea0cc0d7
|
|||
|
fc3a0db80b
|
|||
|
5a41ad8355
|
|||
|
06e1ae50c2
|
|||
|
78c6365f0b
|
|||
|
2a652f06fd
|
|||
|
00edb760ea
|
|||
|
0402c048a3
|
|||
|
cdddacbecb
|
|||
|
d8f6399394
|
|||
|
3c6fdaeff2
|
|||
|
82de5a00de
|
|||
|
5abc354bc5
|
|||
|
590ac77ca0
|
|||
|
ece05b7bf3
|
|||
|
d5cbecbfe0
|
|||
|
39d16eee5f
|
|||
|
248a93b4b6
|
|||
|
6ce7200739
|
|||
|
ffd0a3bbeb
|
|||
|
da8ee0d20a
|
|||
|
cac91b95a7
|
|||
|
36cb18bff4
|
|||
|
430d287e5c
|
|||
|
2e188238a6
|
|||
|
2e3be809d9
|
|||
|
490db564ce
|
|||
|
3c4ba3d898
|
|||
|
65ad09cc64
|
|||
|
8656b7c982
|
|||
|
738404ac60
|
|||
|
dfecd1c5f9
|
|||
|
a97fb2eb64
|
|||
|
6dedcc140b
|
|||
|
6f585993bc
|
|||
|
e70ca0f65c
|
|||
|
48900cc391
|
|||
|
0c838facdf
|
|||
|
fa2356f326
|
|||
|
9859cec8b0
|
|||
|
d87719a476
|
|||
|
2ac463bf17
|
|||
|
f902b6fc92
|
|||
|
fdcea0b0b4
|
|||
|
40c7a02110
|
|||
|
d68f406ae8
|
|||
|
d378016e10
|
|||
|
4ff8781b52
|
|||
|
4868f26dad
|
|||
|
12d8e434b9
|
|||
|
12c9adeb36
|
|||
|
77694e9aa0
|
|||
|
0050fc966e
|
|||
|
78d4736863
|
|||
|
d0bd80d0b5
|
|||
|
203c710e14
|
|||
|
34db5e9dc3
|
|||
|
52c23fb47c
|
|||
|
2e20b9594c
|
|||
|
9a6cdbb370
|
|||
|
262119b8e2
|
|||
|
d7af354c40
|
|||
|
78ae3da3b1
|
|||
|
897499394b
|
|||
|
582178a906
|
|||
|
31817f8452
|
|||
|
8cebd9636e
|
|||
|
993cae429d
|
|||
|
f8ff857e3c
|
|||
|
1be104bf32
|
|||
|
ae1667eadd
|
|||
|
23f4925aa3
|
|||
|
0bdabaf5c0
|
|||
|
22b6991241
|
|||
|
a58e171913
|
|||
|
98a7327662
|
|||
|
b96be382a6
|
|||
|
d23d0deafb
|
|||
|
d7cdb51652
|
|||
|
054513273e
|
|||
|
9c2f4a5907
|
|||
|
c6a3771ff4
|
|||
|
489074ddf1
|
|||
|
93a4fcc876
|
|||
|
bf121fec10
|
|||
|
1e1e40160e
|
|||
|
e88826f8d4
|
|||
|
41c7c1f1a0
|
|||
|
713cc07687
|
|||
|
3b64c8e467
|
|||
|
0cc2c90262
|
|||
|
ca38157732
|
|||
|
b208f19a8f
|
|||
|
efe4db37a3
|
|||
|
2afef395a1
|
|||
|
ef404d0579
|
|||
|
b4be7962fd
|
|||
|
a494188cfa
|
|||
|
4a980af18d
|
|||
|
38837df541
|
|||
|
7e1d96e677
|
|||
|
7e41b4cf70
|
|||
|
431750aa12
|
|||
|
c3a8a7cf4a
|
|||
|
ff045fdc3a
|
|||
|
92e2eaeebc
|
|||
|
1703b07d91
|
|||
|
fa2e092f89
|
|||
|
10e1695b16
|
|||
|
8e916fad6c
|
|||
|
82e7832806
|
|||
|
d2a56db780
|
|||
|
570834c65c
|
|||
|
81a3b67f63
|
|||
|
bfef9895d6
|
|||
|
1c2c33fd8c
|
|||
|
3bf05c8141
|
|||
|
914bfdb3b6
|
|||
|
e6ffd2aba2
|
|||
|
4940ee4fd3
|
|||
|
c61bf53945
|
|||
|
3f80d91c86
|
|||
|
06c444c92a
|
|||
|
a1c1387df9
|
|||
|
26e8a61c1b
|
|||
|
218307bf8e
|
|||
|
c32ae1347b
|
|||
|
c8f8dcdf67
|
|||
|
b60afb67d7
|
|||
|
1550d6c3e9
|
|||
|
9215d8dd1e
|
|||
|
f7af204479
|
|||
|
09867381eb
|
|||
|
179fe277f4
|
|||
|
515eb4ad43
|
|||
|
77dbd8747f
|
|||
|
8b8a5a1a64
|
|||
|
73c629afc4
|
|||
|
23c9e37dfc
|
|||
|
1dba663994
|
|||
|
c35c79af4d
|
|||
|
9c830f69f8
|
|||
|
211ec0c797
|
|||
|
641a3a4aaf
|
|||
|
37406daca9
|
|||
|
386fe3962e
|
|||
|
031ef95b5e
|
|||
|
0352d55664
|
|||
|
7d4ceee8ac
|
|||
|
411680496e
|
|||
|
3a89d7ef3e
|
|||
|
dbafe01b1d
|
|||
|
342b1ea1df
|
|||
|
6feecc1fdc
|
|||
|
beaea0bd66
|
|||
|
50c45cbbf4
|
|||
|
53de06b844
|
|||
|
3a80cc13d2
|
|||
|
82aee2bf9e
|
|||
|
20e758789e
|
|||
|
c7519cfd9d
|
|||
|
8971a5b868
|
|||
|
143161387a
|
|||
|
f92904cdb0
|
|||
|
9f313b42cd
|
|||
|
debc346acf
|
|||
|
a38e2bede6
|
|||
|
6344ef7292
|
|||
|
25a9a14534
|
|||
|
d99f605d5b
|
|||
|
1c911b9821
|
|||
|
ee7e82ea03
|
|||
|
d78be92786
|
|||
|
46bae114e3
|
|||
|
a70aac1ba5
|
|||
|
446db02df4
|
|||
|
7d04a5c41a
|
|||
|
07744e872a
|
|||
|
81eb9954f8
|
|||
|
0c971ae5a7
|
|||
|
9fc9e7daf4
|
|||
|
3a75118e0d
|
|||
|
49014b6c4e
|
|||
|
e924306b15
|
|||
|
6ee3af65bd
|
|||
|
e832b3cda9
|
|||
|
f1df008c43
|
|||
|
77e208d683
|
|||
|
53ef8cb04b
|
|||
|
ff6435594c
|
|||
|
c734fea7c4
|
|||
|
8c1e8c9b5b
|
|||
|
40f211bdd8
|
|||
|
5bbfcdfd2b
|
|||
|
525711238f
|
|||
|
bb1dfc15fc
|
|||
|
3e476e67a9
|
|||
|
59335cf663
|
|||
|
5bd012e5b9
|
|||
|
b708275c36
|
|||
|
e7b85d56d4
|
|||
|
f6d7485531
|
|||
|
1b224d1aaf
|
|||
|
5639ce1fc8
|
|||
|
b0ace772ce
|
|||
|
f29e48ed37
|
|||
|
d41fc9c3ca
|
|||
|
e2a19dec6e
|
|||
|
67bbce62d9
|
|||
|
e1454699ea
|
|||
|
aafb677591
|
|||
|
26f1999c02
|
|||
|
8ff0beec06
|
|||
|
4d7f5fe947
|
|||
|
d2d00d4442
|
|||
|
f5df9b649f
|
|||
|
f22e54691d
|
|||
|
b13b6f1e64
|
|||
|
57ad8b2fdc
|
|||
|
0e413d00a3
|
|||
|
e5ddea6fd8
|
|||
|
3e140e7302
|
|||
|
f81518ddd2
|
|||
|
7f2cae36af
|
|||
|
420373806a
|
|||
|
e6387f84c5
|
|||
|
d63da4af42
|
|||
|
4a6fbf3264
|
|||
|
872e508fc7
|
|||
|
a90bccca20
|
|||
|
d2caf80154
|
|||
|
bc58766587
|
|||
|
44b65c2d72
|
|||
|
bfe1102c37
|
|||
|
196df4fb44
|
|||
|
2c7d159e9b
|
|||
|
3fa9d52ddc
|
|||
|
6230f63a6e
|
|||
|
ece09caca8
|
|||
|
d3d5e12222
|
|||
|
896b3f6fe9
|
|||
|
d9299b664d
|
|||
|
3cd50d88da
|
|||
|
de78e16bd9
|
|||
|
84e3c91c51
|
|||
|
d5cf97d888
|
|||
|
1f11d7685e
|
|||
|
7b4c5a62db
|
|||
|
ff119ce02c
|
|||
|
7bdab40832
|
|||
|
61c123799b
|
|||
|
30086fa7ce
|
|||
|
d4285f76d5
|
|||
|
64d016be84
|
|||
|
507278d043
|
|||
|
02c54f3709
|
|||
|
4c42a17fc6
|
|||
|
d379f83cc8
|
|||
|
728cfed605
|
|||
|
c0f6bbc5a7
|
|||
|
e1077bad9a
|
|||
|
ca0cb65cdb
|
|||
|
81a6020e83
|
|||
|
4d4f9f92ea
|
|||
|
3e0065d9d1
|
|||
|
bcfded9a76
|
|||
|
d982b0f6d5
|
|||
|
56317cc09b
|
|||
|
8bc5d228dd
|
|||
|
490772669b
|
|||
|
7d48b240f8
|
|||
|
67916b1c9d
|
|||
|
27c7bd52a5
|
|||
|
fb86be08b7
|
|||
|
51b4b81c2e
|
|||
|
a8aa2babd1
|
|||
|
6ef0d313e0
|
|||
|
c3da7367a8
|
|||
|
1b5f76c050
|
|||
|
6fa1fa5aec
|
|||
|
8d6b7225f5
|
|||
|
3634a96054
|
|||
|
cde979c0e4
|
|||
|
6fe83f0cbd
|
|||
|
c44ca3da64
|
|||
|
9fa2147042
|
|||
|
b5499c4929
|
|||
|
dd4bd72d70
|
|||
|
6bf56bbce3
|
|||
|
7eda6ea9e6
|
|||
|
73c1ae1a69
|
|||
|
bae81921f2
|
|||
|
ae075d044d
|
|||
|
5e51cba460
|
|||
|
4021b8927f
|
|||
|
cb37cb7208
|
|||
|
1d91bdf0af
|
|||
|
90eaa3e1aa
|
|||
|
50f88473d0
|
|||
|
688080eff6
|
|||
|
6d6af02910
|
|||
|
1f51371031
|
|||
|
8b68f2db2c
|
|||
|
47c4b15a58
|
|||
|
999485e609
|
|||
|
06952a677d
|
|||
|
a18e1f1d48
|
|||
|
6cf295c5dc
|
|||
|
18658a1556
|
|||
|
6123dec4e3
|
|||
|
58cd252d56
|
|||
|
e530aeb269
|
|||
|
8afc189c3d
|
|||
|
366ccd6e57
|
|||
|
4e4897021a
|
|||
|
2be9240de9
|
|||
|
90c3f2b8ff
|
|||
|
be80e8b838
|
|||
|
243386c9e4
|
|||
|
0e76b9f06e
|
|||
|
f86344561e
|
|||
|
47a11d9473
|
|||
|
55a12d8a80
|
|||
|
cc70db8439
|
|||
|
5cd880caf4
|
|||
|
5ef9aea7ab
|
|||
|
73203756e3
|
|||
|
184731f105
|
|||
|
b366894391
|
|||
|
51bdc06b57
|
|||
|
1091aba3a8
|
|||
|
55b404437d
|
|||
|
ea11f87856
|
|||
|
2a560e4b79
|
|||
|
e918a346fc
|
|||
|
fe423e421a
|
|||
|
290c07d741
|
|||
|
1f38d7a68c
|
|||
|
91b06ee7b1
|
|||
|
413ecb2d2b
|
|||
|
f5a9608420
|
|||
|
bf9935d309
|
|||
|
66475c058c
|
|||
|
6b1c2afe08
|
|||
|
a5785847f7
|
|||
|
82bef92274
|
|||
|
fc85c94a76
|
|||
|
4803c106b0
|
|||
|
e7b8610387
|
|||
|
44c47b9841
|
|||
|
725233bd4b
|
|||
|
7195f92017
|
|||
|
c5d1c964cf
|
|||
|
2dfabd7d56
|
|||
|
0e86789285
|
|||
|
ac04636e54
|
|||
|
294411d73b
|
|||
|
87ce209298
|
|||
|
4753dc9f66
|
|||
|
03136e7f11
|
|||
|
246cfdf19a
|
|||
|
b8c0445d9c
|
|||
|
78fba911e7
|
|||
|
69a12a3d4a
|
|||
|
b8ef56942e
|
|||
|
5a5725fec9
|
|||
|
153d7bc9a9
|
|||
|
be17ca1690
|
|||
|
b31562078d
|
|||
|
3d71fb43af
|
|||
|
4c926eb911
|
|||
|
6ad3203a8e
|
|||
|
126385f1f2
|
|||
|
e55b1bba30
|
|||
|
653e117c8f
|
|||
|
1301eaf0a9
|
|||
|
24f1fe375c
|
|||
|
d19c3da130
|
|||
|
5a16398c33
|
|||
|
2756d34ab3
|
|||
|
a6a1b3e7b6
|
|||
|
d5628bd9fe
|
|||
|
bb5699d650
|
|||
|
2f2a7aa674
|
|||
|
7252623ada
|
|||
|
35ef17c7d0
|
|||
|
2713daceda
|
|||
|
99fad403f0
|
|||
|
bd12a71a92
|
|||
|
84bd24efe5
|
|||
|
36e229def7
|
|||
|
81c9cdab7e
|
|||
|
afa83c5e05
|
|||
|
6b17646d10
|
|||
|
5faa617215
|
|||
|
a28bd018bf
|
|||
|
18db59d9f7
|
|||
|
c3d53388ab
|
|||
|
b0a356a5fe
|
|||
|
d2cbdc3289
|
|||
|
a1138a9ff9
|
|||
|
aa290484dd
|
|||
|
d42fc15e64
|
|||
|
27fdcac542
|
|||
|
fa9767ec19
|
|||
|
a028c0284a
|
|||
|
a04de69b10
|
|||
|
d776dae8fb
|
|||
|
61cf48910f
|
|||
|
d1c129f5f8
|
|||
|
f12921f372
|
|||
|
0d24b4a056
|
|||
|
e004e7d0c0
|
|||
|
40c32fee57
|
|||
|
424d305932
|
|||
|
07dd65abf1
|
|||
|
d6db34736d
|
|||
|
9c70c0c172
|
|||
|
b48b2703fe
|
|||
|
107840e6db
|
|||
|
667ebc8db3
|
|||
|
0b9e9d2655
|
|||
|
5138643c54
|
|||
|
31cfb2fcde
|
|||
|
5452fc0d40
|
|||
|
07513fd714
|
|||
|
94d204055f
|
|||
|
3b94156e7c
|
|||
|
8b8fb70adb
|
|||
|
b8b72864f7
|
|||
|
a309a95094
|
|||
|
122da77b4a
|
|||
|
231b0d16f3
|
|||
|
0ff4b065ed
|
|||
|
b603044d8b
|
|||
|
3e995e60bc
|
|||
|
c282e91c25
|
|||
|
4131c70a1c
|
|||
|
df161b7fde
|
|||
|
a79b921915
|
|||
|
a800a292e2
|
|||
|
36ec6d3dd2
|
|||
|
c8bf67dd6d
|
|||
|
5e31726f1a
|
|||
|
b3f3051ec9
|
|||
|
10c9564ea9
|
|||
|
9d66c2a22c
|
|||
|
ae412d9525
|
|||
|
ed44a67fdd
|
|||
|
f93f87c1f8
|
|||
|
787fc1e456
|
|||
|
403da6b3bb
|
|||
|
6585cd6788
|
|||
|
e9d63a6d22
|
|||
|
a45f101d9c
|
|||
|
c3f70f3e6d
|
|||
|
adc84818b1
|
|||
|
3e3510d6ed
|
|||
|
4f9979e67d
|
|||
|
7bd6cdad76
|
|||
|
4da47a0a7b
|
|||
|
6d799ecb43
|
|||
|
dee0441336
|
|||
|
207411ce19
|
|||
|
3791c43901
|
|||
|
3a593225d6
|
|||
|
6e8ec734c4
|
|||
|
835954f30d
|
|||
|
0126affe5c
|
|||
|
f6709bbb39
|
|||
|
5f7473d475
|
|||
|
b801bcef27
|
|||
|
2f81df2042
|
|||
|
1bce6d902d
|
|||
|
af4fbf625b
|
|||
|
d50adeac9c
|
|||
|
1bf40fe587
|
|||
|
07dc09ff7d
|
|||
|
c9e1bca2b8
|
|||
|
a1cb97438e
|
|||
|
27edf38cdc
|
|||
|
a40df02284
|
|||
|
f49266cc3b
|
|||
|
d1c1493945
|
|||
|
47f6e0e1a2
|
|||
|
c12a89d4f4
|
|||
|
9144c17239
|
|||
|
8907e55bc4
|
|||
|
b95ed6af54
|
|||
|
05d05719d9
|
|||
|
e65653dbe0
|
|||
|
7e8a6866e3
|
|||
|
248100e013
|
|||
|
03f1d9bef1
|
|||
|
d1a639adaf
|
|||
|
3de1070850
|
|||
|
fd5019335d
|
|||
|
6a73bdb74e
|
|||
|
f94adbfc35
|
|||
|
13e9e9d3b6
|
|||
|
8d247d4733
|
|||
|
ab3ec171e5
|
|||
|
a155947b5e
|
|||
|
94ecdab2fd
|
|||
|
3134667967
|
|||
|
4c7b7f9580
|
|||
|
a95afb5611
|
|||
|
52f5086714
|
|||
|
28f5b8b4d0
|
|||
|
87b0343990
|
|||
|
7dab702f48
|
|||
|
b5bc6f2f02
|
|||
|
83df228404
|
|||
|
bdcd3dbb48
|
|||
|
911e8f48ce
|
|||
|
3a7a865058
|
|||
|
e30ca77fbe
|
|||
|
644f96305b
|
|||
|
9e88499af6
|
|||
|
e90accda8a
|
|||
|
656f480790
|
|||
|
6e1831b836
|
|||
|
a0de3ae72d
|
|||
|
8d80e42ba7
|
|||
|
6b5f825d0e
|
|||
|
355e3ef249
|
|||
|
f46c0c709b
|
|||
|
b4b742cf14
|
|||
|
836441b97f
|
|||
|
a3d73d02b6
|
|||
|
6c225d5ce0
|
|||
|
c82ff2d55d
|
|||
|
501c8040eb
|
|||
|
52705bf2a0
|
|||
|
07f0a427a5
|
|||
|
4c933327cf
|
|||
|
ee54ebae35
|
|||
|
b774f7e83d
|
|||
|
865e55f2da
|
|||
|
35b0d321c0
|
|||
|
045dffdb37
|
|||
|
d6267d0330
|
|||
|
d4f11b612d
|
|||
|
c12164d9bb
|
|||
|
5136217664
|
|||
|
111651af13
|
|||
|
06ad777feb
|
|||
|
fe718ed5b6
|
|||
|
8e3ba15e45
|
|||
|
0fce224715
|
|||
|
a6a4c4950f
|
|||
|
4763c03d9f
|
|||
|
1647f49c2c
|
|||
|
cb1c697f66
|
|||
|
4fe28fb965
|
|||
|
dc52aa597f
|
|||
|
7a353ad6ec
|
|||
|
b5334f9893
|
|||
|
17835bfe93
|
|||
|
58d6018199
|
|||
|
9bcac70ef4
|
|||
|
66d81280a6
|
|||
|
9060067b59
|
|||
|
d1dbae1915
|
|||
|
ac3ece02f0
|
|||
|
90608c53e3
|
|||
|
3bc7860010
|
|||
|
62479ff343
|
|||
|
6585252a51
|
|||
|
fc2214f459
|
|||
|
5453bd0253
|
|||
|
22bbd61ed1
|
|||
|
b47dcbca37
|
|||
|
b43fc760b3
|
|||
|
44aa14bad3
|
|||
|
00a93963fa
|
|||
|
e05d4bc77d
|
|||
|
d00901a40e
|
|||
|
b3383980f6
|
|||
|
54b0174781
|
|||
|
76ffd76c2a
|
|||
|
ef6a0f4b89
|
|||
|
6781d8831f
|
|||
|
34ae56fd24
|
|||
|
fc16384b1f
|
|||
|
ff624ab8da
|
|||
|
de3f34e988
|
|||
|
b31d203334
|
|||
|
f83e2d5808
|
|||
|
f88ee5535d
|
|||
|
380258c819
|
|||
|
00c00f42ef
|
|||
|
8604abc87d
|
|||
|
59362050d1
|
|||
|
f04293d664
|
|||
|
848162b3c7
|
|||
|
c0691580ce
|
|||
|
53e5d6d333
|
|||
|
0e3fc4ae68
|
|||
|
c3a81ae45d
|
|||
|
deb3e03877
|
|||
|
124644ff3c
|
|||
|
db353b0194
|
|||
|
2e5cb38d2d
|
|||
|
94d994f1c7
|
|||
|
5a7cdf0402
|
|||
|
8a83262148
|
|||
|
249619f7cd
|
|||
|
e11c2701fb
|
|||
|
ff42cda756
|
|||
|
c4312b0870
|
|||
|
0799ca04b9
|
|||
|
c73931526e
|
|||
|
18684bbb2b
|
|||
|
3a13382c54
|
|||
|
605fb06ab2
|
|||
|
77379a14c5
|
|||
|
44a78c0ec9
|
|||
|
7f44483099
|
|||
|
f1173f76e8
|
|||
|
45c7e1c4eb
|
|||
|
5310bc5af1
|
|||
|
d852bf8fda
|
|||
|
f88e771e80
|
|||
|
ab4fcdf169
|
|||
|
ce75641a10
|
|||
|
93ba4d692a
|
|||
|
bf615d4e81
|
|||
|
43b902a1fe
|
|||
|
6901ee23f6
|
|||
|
4e7f4db4f0
|
|||
|
bd10041fb8
|
|||
|
1ff1cb34f4
|
|||
|
5701aae9a9
|
|||
|
44031ae713
|
|||
|
f1f0dd2d8e
|
|||
|
430d96679c
|
|||
|
dc70babfc3
|
|||
|
ed62dae4fb
|
|||
|
ac01ba4eaf
|
|||
|
39d9f0e74b
|
|||
|
14415f6299
|
|||
|
21d20a085a
|
|||
|
d27a689c4b
|
|||
|
217819d4bb
|
|||
|
3b95999636
|
|||
|
753cbe878a
|
|||
|
853b6a7c9f
|
|||
|
30ddb3067c
|
|||
|
415328f6f8
|
|||
|
45eb75ca38
|
|||
|
17b3f02cf0
|
|||
|
e8b059bf89
|
|||
|
ac0e5b38ff
|
|||
|
4234be1849
|
|||
|
b5d04427a5
|
|||
|
0aa8ad8572
|
|||
|
30bf89a0ab
|
|||
|
98b995f985
|
|||
|
31845a0d69
|
|||
|
bdfdb7159f
|
|||
|
4027662d88
|
|||
|
f1aa8f4dc2
|
|||
|
8d798ea8ad
|
|||
|
7cf1fd9d0f
|
|||
|
1147c993ee
|
|||
|
f2502b016a
|
|||
|
8dac0ff794
|
|||
|
a040bfceb7
|
|||
|
6d3220e78c
|
|||
|
50317fb020
|
|||
|
0afda115ee
|
|||
|
bd3bb8d40a
|
|||
|
5390cbf474
|
|||
|
a2d0d579d9
|
|||
|
435adfbb46
|
|||
|
2937e848ff
|
|||
|
81b1871990
|
|||
|
d46c79add3
|
|||
|
b511031560
|
|||
|
f48334d78d
|
|||
|
c1195ed6b4
|
|||
|
3c89952219
|
|||
|
7207632c56
|
|||
|
2d20be5b60
|
|||
|
3698c96a6f
|
|||
|
f7de2e83e9
|
|||
|
bc7787d0ef
|
|||
|
5144dcb279
|
|||
|
dd22ca398c
|
|||
|
c23066cad2
|
|||
|
8e66f73d30
|
|||
|
f04c48a8a2
|
|||
|
fd4582f7fe
|
|||
|
df0dcf6b92
|
|||
|
e366559d0f
|
|||
|
fda6d53bc6
|
|||
|
a2db890524
|
|||
|
6572861960
|
|||
|
0510eaa0f5
|
|||
|
c90d876f9a
|
|||
|
023c847a81
|
|||
|
b598891ad7
|
|||
|
0b2ba3eaa0
|
|||
|
e6ea1aecbb
|
|||
|
e53e019306
|
|||
|
98720ace22
|
|||
|
8c640f4118
|
|||
|
a7d14158dc
|
|||
|
1bc386e012
|
|||
|
8eaa12e619
|
|||
|
43bb79e708
|
|||
|
7f05c46ebc
|
|||
|
65e5eb022a
|
|||
|
1ad328df7f
|
|||
|
02d1d71b62
|
|||
|
a1b234fa43
|
|||
|
5819f1a6e8
|
|||
|
a21fae33c8
|
|||
|
3689587800
|
|||
|
5b8ac32b15
|
|||
|
03438f6e91
|
|||
|
8d11177158
|
|||
|
bc67344ba6
|
|||
|
3a72387e3e
|
|||
|
be07d87e06
|
|||
|
6f8e85c65f
|
|||
|
3de5254050
|
|||
|
5c1041241f
|
|||
|
c8dea557eb
|
|||
|
00d847bf09
|
|||
|
386cade963
|
|||
|
c6329ba8d8
|
|||
|
78efbc027a
|
|||
|
ab7988f1b6
|
|||
|
8597280d17
|
|||
|
8851cee936
|
|||
|
902b6d3f67
|
|||
|
d866f0be65
|
|||
|
562657cc19
|
|||
|
8173bfcb20
|
|||
|
81ecf5ce0a
|
|||
|
dcf42a9340
|
|||
|
5088871487
|
|||
|
126f265281
|
|||
|
8995aeb881
|
|||
|
841f6b7f85
|
|||
|
4f7927a5f7
|
|||
|
ffacd7d71a
|
|||
|
d4aaecab9b
|
|||
|
43b8263702
|
|||
|
3909031ae2
|
|||
|
774f69589a
|
|||
|
220b43aaf2
|
|||
|
fe66b43fbc
|
|||
|
dd9d7476e3
|
|||
|
5fbde0a564
|
|||
|
ff83e3d226
|
|||
|
7abf902e1d
|
|||
|
1a97dc0884
|
|||
|
fe5535b590
|
|||
|
ce00baf6f6
|
|||
|
f9a3bb7c13
|
|||
|
436d5759af
|
|||
|
ab051c8b35
|
|||
|
87af1db5af
|
|||
|
ea9a5a4d24
|
|||
|
55eb0dfb09
|
|||
|
8e26087d33
|
|||
|
78a3f5f6ee
|
|||
|
fcd76a9bbe
|
|||
|
63353caa48
|
|||
|
05a68817ea
|
|||
|
95a16788e7
|
|||
|
527380e5ff
|
|||
|
58b5b82531
|
|||
|
812f252de1
|
|||
|
95119f7bad
|
|||
|
f3d5b229bd
|
|||
|
2538786be8
|
|||
|
6787e6452a
|
|||
|
9062092b1d
|
|||
|
2ea6cd5ecf
|
|||
|
84de2cce7e
|
|||
|
051a4a05de
|
|||
|
503aec3302
|
|||
|
ffd4621060
|
|||
|
3c22c77226
|
|||
|
10978904f8
|
|||
|
026b005cd0
|
|||
|
eff1d942a8
|
|||
|
2c3f43dbbf
|
|||
|
a8557c2274
|
|||
|
2364a4aa8c
|
|||
|
b191f32bca
|
|||
|
e9fb7e4622
|
|||
|
a1d29e6bd7
|
|||
|
e2a5bd3c60
|
|||
|
3c5cec5df7
|
|||
|
bc7f7e3182
|
|||
|
a7db109206
|
|||
|
a04064848d
|
|||
|
2919c7b286
|
|||
|
1b5fb4144d
|
|||
|
13943e5775
|
|||
|
26053b0e8b
|
|||
|
7a676a1f88
|
|||
|
a40d7472a1
|
|||
|
dcb27e32d2
|
|||
|
e8121b452f
|
|||
|
3ff58ad913
|
|||
|
a5dd8be4a7
|
|||
|
371b653ffe
|
|||
|
0166ec0a02
|
|||
|
6cfc0326f6
|
|||
|
d977b1a88b
|
|||
|
fcc16e8f98
|
|||
|
b027b2b03b
|
|||
|
552c91b473
|
|||
|
fc497a5fd9
|
|||
|
8c52c44931
|
|||
|
a56d24eb5a
|
|||
|
805bc608fc
|
|||
|
1d7cbe8915
|
|||
|
90028f1efa
|
|||
|
c965df6b65
|
|||
|
a0b258581a
|
2
.config/bat/config
Normal file
2
.config/bat/config
Normal file
@@ -0,0 +1,2 @@
|
||||
--theme="Nord"
|
||||
--map-syntax='.spacemacs*:Lisp'
|
||||
@@ -10,7 +10,7 @@ alias df df -H $*
|
||||
alias du du -ch $*
|
||||
|
||||
alias grep grep --color=auto $*
|
||||
alias ls exa -halg@ --group-directories-first --git $*
|
||||
alias lsl exa -halg@ --group-directories-first --git $*
|
||||
alias lns ln -si $*
|
||||
alias mkdir mkdir -p $*
|
||||
|
||||
@@ -36,7 +36,7 @@ alias mp3 youtube-dl -x --audio-format flac --audio-quality 0 $*
|
||||
alias wget wget -c $*
|
||||
alias rsync rsync -ruvtEhl --progress $*
|
||||
|
||||
alias remove sudo pacman -Rscnd $*
|
||||
alias remove sudo pacman -Rsc $*
|
||||
|
||||
alias gpumeminfo grep -i --color memory /var/log/Xorg.0.log
|
||||
alias diskspace sudo df -h | grep -E "sd|lv|Size" | sort
|
||||
@@ -52,7 +52,5 @@ alias exti exit
|
||||
alias exi exit
|
||||
alias clean clear
|
||||
|
||||
alias vi emacs
|
||||
alias vim emacs
|
||||
alias ed emacs
|
||||
alias nano emacs
|
||||
alias less view-file $1
|
||||
alias bat view-file $1
|
||||
@@ -1 +0,0 @@
|
||||
/home/phundrak/fromGIT/emacs-packages/conlanging
|
||||
@@ -1,31 +0,0 @@
|
||||
function cnew -d "Create new C11 project"
|
||||
if count $argv > /dev/null
|
||||
set projname ""
|
||||
for item in $argv
|
||||
switch "$item"
|
||||
case -h --help
|
||||
man ~/dev/fishfunctions/cnew.man
|
||||
return 0
|
||||
case '*'
|
||||
set projname $item
|
||||
end
|
||||
end
|
||||
if [ "$projname" = "" ]
|
||||
echo "Missing argument: PROJECT"
|
||||
return -1
|
||||
end
|
||||
cp -r ~/dotfiles/dev/templateC $argv[1]
|
||||
cd $argv[1]
|
||||
sed -i "s/PROJECTNAME/$argv[1]/g" CMakeLists.txt
|
||||
sed -i "s/PROJECTNAME/$argv[1]/g" README.org
|
||||
sed -i "s/CPROJECTNAME/$argv[1]/g" doc/Doxyfile
|
||||
git init
|
||||
git add .
|
||||
git commit -m "initial commit"
|
||||
cd ..
|
||||
else
|
||||
echo "Missing argument: PROJECT"
|
||||
return -1
|
||||
end
|
||||
end
|
||||
complete -c cppnew -s h -l help -d 'Print Help'
|
||||
@@ -1,49 +0,0 @@
|
||||
function cppnew -d "Create new C++17 project" --argument-names 'projectname'
|
||||
if count $argv > /dev/null
|
||||
set conanproj "false"
|
||||
set projname ""
|
||||
set conanprojname ""
|
||||
for item in $argv
|
||||
switch "$item"
|
||||
case -c --conan
|
||||
set conanproj "true"
|
||||
set conanprojname $value
|
||||
case -h --help
|
||||
man ~/dev/fishfunctions/cppnew.man
|
||||
return 0
|
||||
case '*'
|
||||
set projname $item
|
||||
end
|
||||
end
|
||||
if [ "$projname" = "" ]
|
||||
if [ "$conanprojname" = "" ]
|
||||
echo "Missing argument: PROJECT"
|
||||
return -1
|
||||
end
|
||||
end
|
||||
if [ "$projname" = "" ]
|
||||
set projname $conanprojname
|
||||
end
|
||||
if [ "$conanproj" = "true" ]
|
||||
cp -r ~/dotfiles/dev/conan-project $projname
|
||||
else
|
||||
cp -r ~/dotfiles/dev/templateC++ $projname
|
||||
end
|
||||
cd $projname
|
||||
sed -i "s/PROJECTNAME/$projname/g" README.org
|
||||
sed -i "s/PROJECTNAME/$projname/g" CMakeLists.txt
|
||||
if [ "$conanproj" = "true" ]
|
||||
sed -i "s/PROJECTNAME/$projname/g" conanfile.py
|
||||
end
|
||||
sed -i "s/CPPPROJECTNAME/$projname/g" doc/Doxyfile
|
||||
git init
|
||||
git add .
|
||||
git commit -m "initial commit"
|
||||
cd ..
|
||||
else
|
||||
echo "Missing argument: PROJECT"
|
||||
return -1
|
||||
end
|
||||
end
|
||||
complete -c cppnew -s c -l conan -d 'Conan Project'
|
||||
complete -c cppnew -s h -l help -d 'Print Help'
|
||||
@@ -1,4 +0,0 @@
|
||||
function mkcd -d "Create directory and cd to it"
|
||||
mkdir -p $argv[1]
|
||||
cd $argv[1]
|
||||
end
|
||||
@@ -1,22 +0,0 @@
|
||||
function rainymood
|
||||
set volume 50
|
||||
getopts $argv | while read -l key option
|
||||
switch $key
|
||||
case v
|
||||
set volume $option
|
||||
case volume
|
||||
set volume $option
|
||||
end
|
||||
end
|
||||
if [ "$volume" != "" ]
|
||||
set FILE (math (random) % 4)
|
||||
set URL "https://rainymood.com/audio1112/$FILE.ogg"
|
||||
mpv $URL --force-window=no --volume=$volume; and rainymood
|
||||
else
|
||||
echo "Missing value after -v/--volume option."
|
||||
echo "Usage example:"
|
||||
printf "\trainymood -v50\n\trainymood --volume 50\n"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
complete -c rainymood -s v -l volume -d 'Volume of the rain (0-100)'
|
||||
@@ -1,93 +1,132 @@
|
||||
# -*- indent-tabs-mode: t; -*-
|
||||
|
||||
[user]
|
||||
email = lucien@phundrak.com
|
||||
name = Lucien Cartier-Tilet
|
||||
signingkey = BD7789E705CB8DCA
|
||||
|
||||
[core]
|
||||
# editor = vim
|
||||
editor = emacsclient -c -a emacs
|
||||
whitespace = fix,-indent-with-non-tab,trailing-space
|
||||
excludesfile = /home/phundrak/dotfiles/.gitignore_global
|
||||
autocrlf = false
|
||||
[web]
|
||||
browser = firefox
|
||||
excludesfile = /home/phundrak/.gitignore_global
|
||||
|
||||
[pull]
|
||||
rebase = true
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[color]
|
||||
ui = auto
|
||||
|
||||
[web]
|
||||
browser = firefox
|
||||
|
||||
[alias]
|
||||
a = add --all
|
||||
####
|
||||
aca = !git add --all && git commit --amend
|
||||
acan = !git add --all && git commit --amend --no-edit
|
||||
b = branch
|
||||
####
|
||||
bd = branch -d
|
||||
bdd = branch -D
|
||||
c = commit -S
|
||||
ca = commit -a
|
||||
cm = commit -m
|
||||
cam = commit -am
|
||||
####
|
||||
ca = commit -Sa
|
||||
can = commit -Sa --no-edit
|
||||
cm = commit -Sm
|
||||
cam = commit -Sam
|
||||
co = checkout
|
||||
cob = checkout -b
|
||||
####
|
||||
cod = checkout develop
|
||||
cl = clone
|
||||
cl1 = clone --depth=1
|
||||
####
|
||||
d = diff -w
|
||||
####
|
||||
l = log --oneline --graph --decorate
|
||||
####
|
||||
cl1 = clone --depth 1
|
||||
f = fetch
|
||||
fp = fetch --prune
|
||||
ps = push
|
||||
psf = push -f
|
||||
psf = push --force-with-lease
|
||||
pso = push origin
|
||||
psfo = push -f origin
|
||||
psom = push origin master
|
||||
psfom = push -f origin master
|
||||
####
|
||||
psfo = push --force-with-lease origin
|
||||
pushall = !git remote | xargs -L1 git push
|
||||
psl = !git remote | xargs -L1 git push
|
||||
pullall = !git remote | xargs -L1 git pull
|
||||
pll = !git remote | xargs -L1 git pull
|
||||
pl = pull
|
||||
pb = pull --rebase
|
||||
####
|
||||
re = reset
|
||||
reh = reset --hard
|
||||
rehh = reset --hard HEAD
|
||||
####
|
||||
r = remote
|
||||
ra = remote add
|
||||
rr = remote rm
|
||||
###
|
||||
r = rebase
|
||||
ra = rebase --abort
|
||||
rc = rebase --continue
|
||||
rd = rebase develop
|
||||
ri = rebase -i
|
||||
rmf = rm -f
|
||||
rmrf = rm -r -f
|
||||
####
|
||||
s = status
|
||||
rmd = rm -r
|
||||
rmdf = rm -rf
|
||||
sm = submodule
|
||||
sms = submodule status
|
||||
sma = submodule add
|
||||
smu = submodule update
|
||||
smui = submodule update --init
|
||||
smuir = submodule update --init --recursive
|
||||
####
|
||||
staged = diff --cached
|
||||
####
|
||||
sc = stash clear
|
||||
sp = stash pop
|
||||
sw = stash show
|
||||
####
|
||||
pushall = !git remote | xargs -L1 git push
|
||||
psl = !git remote | xargs -L1 git push
|
||||
pullall = !git remote | xargs -L1 git pull
|
||||
pll = !git remote | xargs -L1 git pull
|
||||
####
|
||||
st = stash
|
||||
stc = stash clear
|
||||
stp = stash pop
|
||||
stw = stash show
|
||||
u = reset --
|
||||
unstage = reset --
|
||||
d = diff -w
|
||||
l = log --oneline --graph --decorate
|
||||
s = status
|
||||
staged = diff --cached
|
||||
upstream = !git push -u origin HEAD
|
||||
|
||||
[sendemail]
|
||||
smtpserver = mail.phundrak.com
|
||||
smtpuser = lucien@phundrak.com
|
||||
smtpencryption = tls
|
||||
smtpserverport = 587
|
||||
|
||||
[credentials "smtp://lucien@phundrak.com@mail.phundrak.com:587"]
|
||||
helper = "secret-tool lookup password email_lucien-phundrak-com"
|
||||
|
||||
[magithub]
|
||||
online = true
|
||||
[magithub "status"]
|
||||
includeStatusHeader = true
|
||||
includePullRequestsSection = true
|
||||
includeIssuesSection = true
|
||||
|
||||
[gpg]
|
||||
program = gpg2
|
||||
[mergetool.ediff]
|
||||
cmd = emacs --eval \" (progn (defun ediff-write-merge-buffer () (let ((file ediff-merge-store-file)) (set-buffer ediff-buffer-C) (write-region (point-min) (point-max) file) (message \\\"Merge buffer saved in: %s\\\" file) (set-buffer-modified-p nil) (sit-for 1))) (setq ediff-quit-hook 'kill-emacs ediff-quit-merge-hook 'ediff-write-merge-buffer) (ediff-merge-files-with-ancestor \\\"$LOCAL\\\" \\\"$REMOTE\\\" \\\"$BASE\\\" nil \\\"$MERGED\\\"))\"
|
||||
[merge]
|
||||
tool = ediff
|
||||
[github]
|
||||
user = phundrak
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[pull]
|
||||
rebase = false
|
||||
|
||||
[merge]
|
||||
tool = ediff
|
||||
|
||||
[mergetool.ediff]
|
||||
cmd = emacs --eval \" (progn (defun ediff-write-merge-buffer () (let ((file ediff-merge-store-file)) (set-buffer ediff-buffer-C) (write-region (point-min) (point-max) file) (message \\\"Merge buffer saved in: %s\\\" file) (set-buffer-modified-p nil) (sit-for 1))) (setq ediff-quit-hook 'kill-emacs ediff-quit-merge-hook 'ediff-write-merge-buffer) (ediff-merge-files-with-ancestor \\\"$LOCAL\\\" \\\"$REMOTE\\\" \\\"$BASE\\\" nil \\\"$MERGED\\\"))\"
|
||||
|
||||
[pager]
|
||||
diff = delta
|
||||
log = delta
|
||||
reflog = delta
|
||||
show = delta
|
||||
|
||||
[delta]
|
||||
features = side-by-side line-numbers decorations
|
||||
whitespace-error-style = 22 reverse
|
||||
|
||||
[delta "decorations"]
|
||||
commit-decoration-style = bold yellow box ul
|
||||
file-style = bold yellow ul
|
||||
file-decoration-style = none
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
|
||||
[github]
|
||||
user = phundrak
|
||||
|
||||
[filter "lfs"]
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
50
.config/kitty/current-theme.conf
Normal file
50
.config/kitty/current-theme.conf
Normal file
@@ -0,0 +1,50 @@
|
||||
# vim:ft=kitty
|
||||
## name: Nord
|
||||
## author: Connor Holyday
|
||||
## license: MIT
|
||||
## upstream: https://raw.githubusercontent.com/connorholyday/nord-kitty/master/nord.conf
|
||||
## blurb: An arctic, north-bluish clean and elegant Kitty theme.
|
||||
|
||||
# Nord Colorscheme for Kitty
|
||||
# Based on:
|
||||
# - https://gist.github.com/marcusramberg/64010234c95a93d953e8c79fdaf94192
|
||||
# - https://github.com/arcticicestudio/nord-hyper
|
||||
|
||||
foreground #D8DEE9
|
||||
background #2E3440
|
||||
selection_foreground #000000
|
||||
selection_background #FFFACD
|
||||
url_color #0087BD
|
||||
cursor #81A1C1
|
||||
|
||||
# black
|
||||
color0 #3B4252
|
||||
color8 #4C566A
|
||||
|
||||
# red
|
||||
color1 #BF616A
|
||||
color9 #BF616A
|
||||
|
||||
# green
|
||||
color2 #A3BE8C
|
||||
color10 #A3BE8C
|
||||
|
||||
# yellow
|
||||
color3 #EBCB8B
|
||||
color11 #EBCB8B
|
||||
|
||||
# blue
|
||||
color4 #81A1C1
|
||||
color12 #81A1C1
|
||||
|
||||
# magenta
|
||||
color5 #B48EAD
|
||||
color13 #B48EAD
|
||||
|
||||
# cyan
|
||||
color6 #88C0D0
|
||||
color14 #8FBCBB
|
||||
|
||||
# white
|
||||
color7 #E5E9F0
|
||||
color15 #ECEFF4
|
||||
1140
.config/kitty/kitty.conf
Normal file
1140
.config/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load Diff
@@ -19,13 +19,13 @@ application/zip=org.gnome.FileRoller.desktop;
|
||||
audio/mpeg=mpv.desktop;
|
||||
audio/x-mod=mpv.desktop;
|
||||
audio/x-wav=mpv.desktop;
|
||||
image/bmp=sxiv.desktop;nomacs.desktop;
|
||||
image/gif=sxiv.desktop;nomacs.desktop;
|
||||
image/jpeg=sxiv.desktop;nomacs.desktop;
|
||||
image/png=sxiv.desktop;nomacs.desktop;
|
||||
image/svg+xml=inkscape.desktop;nomacs.desktop;org.nomacs.ImageLounge.desktop;
|
||||
image/bmp=nsxiv.desktop;nomacs.desktop;
|
||||
image/gif=nsxiv.desktop;nomacs.desktop;
|
||||
image/jpeg=nsxiv.desktop;nomacs.desktop;com.github.weclaw1.ImageRoll.desktop;
|
||||
image/png=nsxiv.desktop;nomacs.desktop;com.github.weclaw1.ImageRoll.desktop;
|
||||
image/svg+xml=nsxiv.desktop;emacsclient.desktop;nomacs.desktop;org.nomacs.ImageLounge.desktop;org.inkscape.Inkscape.desktop;
|
||||
image/vnd.djvu+multipage=org.pwmt.zathura.desktop;
|
||||
image/webp=sxiv.desktop;nomacs.desktop;
|
||||
image/webp=nsxiv.desktop;nomacs.desktop;
|
||||
image/x-canon-cr2=nomacs.desktop;
|
||||
inode/directory=nemo.desktop;
|
||||
text/csv=libreoffice-calc.desktop;emacsclient.desktop;
|
||||
@@ -50,6 +50,9 @@ video/x-msvideo=mpv.desktop;
|
||||
x-scheme-handler/https=firefox.desktop;
|
||||
x-scheme-handler/mailto=mu4e.desktop
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
|
||||
audio/x-ms-wma=mpv.desktop;
|
||||
application/x-mobipocket-ebook=FBReader.desktop;
|
||||
application/json=emacsclient.desktop;
|
||||
|
||||
[Default Applications]
|
||||
application/epub+zip=emacsclient.desktop
|
||||
@@ -61,14 +64,14 @@ application/xml=emacsclient.desktop
|
||||
audio/mpeg=mpv.desktop
|
||||
audio/x-mod=mpv.desktop
|
||||
audio/x-wav=mpv.desktop
|
||||
image/bmp=sxiv.desktop
|
||||
image/gif=sxiv.desktop
|
||||
image/jpeg=sxiv.desktop
|
||||
image/png=sxiv.desktop
|
||||
image/svg+xml=org.nomacs.ImageLounge.desktop
|
||||
image/bmp=com.github.weclaw1.ImageRoll.desktop
|
||||
image/gif=com.github.weclaw1.ImageRoll.desktop
|
||||
image/jpeg=com.github.weclaw1.ImageRoll.desktop
|
||||
image/png=com.github.weclaw1.ImageRoll.desktop
|
||||
image/svg+xml=com.github.weclaw1.ImageRoll.desktop
|
||||
image/vnd.djvu+multipage=org.pwmt.zathura.desktop
|
||||
image/webp=sxiv.desktop
|
||||
image/x-canon-cr2=sxiv.desktop
|
||||
image/webp=com.github.weclaw1.ImageRoll.desktop
|
||||
image/x-canon-cr2=com.github.weclaw1.ImageRoll.desktop
|
||||
inode/directory=nemo.desktop
|
||||
text/csv=emacsclient.desktop
|
||||
text/html=firefox.desktop
|
||||
@@ -90,3 +93,11 @@ x-scheme-handler/magnet=qBittorrent.desktop
|
||||
x-scheme-handler/mailto=mu4e.desktop
|
||||
x-scheme-handler/unknown=firefox.desktop
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop
|
||||
x-scheme-handler/discord-693493612754763907=discord-693493612754763907.desktop
|
||||
audio/x-ms-wma=mpv.desktop
|
||||
x-scheme-handler/flashpoint=flashpoint-launcher.desktop
|
||||
x-scheme-handler/msteams=teams.desktop
|
||||
application/x-mobipocket-ebook=FBReader.desktop
|
||||
application/json=emacsclient.desktop
|
||||
modrinth=modrinth-app-handler.desktop
|
||||
x-scheme-handler/heroic=heroic.desktop
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
# Requested files
|
||||
db_file "~/.config/mpd/database"
|
||||
log_file "~/.config/mpd/log"
|
||||
|
||||
#Optional files
|
||||
music_directory "~/Music"
|
||||
playlist_directory "~/.config/mpd/playlists"
|
||||
pid_file "~/.config/mpd/pid"
|
||||
state_file "~/.config/mpd/state"
|
||||
sticker_file "~/.config/mpd/sticker.sql"
|
||||
bind_to_address "localhost"
|
||||
|
||||
max_output_buffer_size "16304"
|
||||
|
||||
auto_update "yes"
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "my_fifo"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse audio"
|
||||
}
|
||||
@@ -180,3 +180,5 @@ m cycle mute
|
||||
# ? stop # stop playback (quit or enter idle mode)
|
||||
I vf toggle format=yuv420p,vapoursynth=~~/motioninterpolation.vpy:4:4
|
||||
M vf toggle hflip
|
||||
|
||||
Ctrl+r cycle_values video-rotate "90" "180" "270" "0"
|
||||
|
||||
@@ -1,543 +0,0 @@
|
||||
##############################################################
|
||||
## This is the example bindings file. Copy it to ##
|
||||
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
|
||||
## and set up your preferences ##
|
||||
##############################################################
|
||||
##
|
||||
##### General rules #####
|
||||
##
|
||||
## 1) Because each action has runtime checks whether it's
|
||||
## ok to run it, a few actions can be bound to one key.
|
||||
## Actions will be bound in order given in configuration
|
||||
## file. When a key is pressed, first action in order
|
||||
## will test itself whether it's possible to run it. If
|
||||
## test succeeds, action is executed and other actions
|
||||
## bound to this key are ignored. If it doesn't, next
|
||||
## action in order tests itself etc.
|
||||
##
|
||||
## 2) It's possible to bind more that one action at once
|
||||
## to a key. It can be done using the following syntax:
|
||||
##
|
||||
## def_key "key"
|
||||
## action1
|
||||
## action2
|
||||
## ...
|
||||
##
|
||||
## This creates a chain of actions. When such chain is
|
||||
## executed, each action in chain is run until the end of
|
||||
## chain is reached or one of its actions fails to execute
|
||||
## due to its requirements not being met. If multiple actions
|
||||
## and/or chains are bound to the same key, they will be
|
||||
## consecutively run until one of them gets fully executed.
|
||||
##
|
||||
## 3) When ncmpcpp starts, bindings configuration file is
|
||||
## parsed and then ncmpcpp provides "missing pieces"
|
||||
## of default keybindings. If you want to disable some
|
||||
## bindings, there is a special action called 'dummy'
|
||||
## for that purpose. Eg. if you want to disable ability
|
||||
## to crop playlists, you need to put the following
|
||||
## into configuration file:
|
||||
##
|
||||
## def_key "C"
|
||||
## dummy
|
||||
##
|
||||
## After that ncmpcpp will not bind any default action
|
||||
## to this key.
|
||||
##
|
||||
## 4) To let you write simple macros, the following special
|
||||
## actions are provided:
|
||||
##
|
||||
## - push_character "character" - pushes given special
|
||||
## character into input queue, so it will be immediately
|
||||
## picked by ncmpcpp upon next call to readKey function.
|
||||
## Accepted values: mouse, up, down, page_up, page_down,
|
||||
## home, end, space, enter, insert, delete, left, right,
|
||||
## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\,
|
||||
## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace.
|
||||
## In addition, most of these names can be prefixed with
|
||||
## alt-/ctrl-/shift- to be recognized with the appropriate
|
||||
## modifier key(s).
|
||||
##
|
||||
## - push_characters "string" - pushes given string into
|
||||
## input queue.
|
||||
##
|
||||
## - require_runnable "action" - checks whether given action
|
||||
## is runnable and fails if it isn't. This is especially
|
||||
## useful when mixed with previous two functions. Consider
|
||||
## the following macro definition:
|
||||
##
|
||||
## def_key "key"
|
||||
## push_characters "custom_filter"
|
||||
## apply_filter
|
||||
##
|
||||
## If apply_filter can't be currently run, we end up with
|
||||
## sequence of characters in input queue which will be
|
||||
## treated just as we typed them. This may lead to unexpected
|
||||
## results (in this case 'c' will most likely clear current
|
||||
## playlist, 'u' will trigger database update, 's' will stop
|
||||
## playback etc.). To prevent such thing from happening, we
|
||||
## need to change above definition to this one:
|
||||
##
|
||||
## def_key "key"
|
||||
## require_runnable "apply_filter"
|
||||
## push_characters "custom_filter"
|
||||
## apply_filter
|
||||
##
|
||||
## Here, first we test whether apply_filter can be actually run
|
||||
## before we stuff characters into input queue, so if condition
|
||||
## is not met, whole chain is aborted and we're fine.
|
||||
##
|
||||
## - require_screen "screen" - checks whether given screen is
|
||||
## currently active. accepted values: browser, clock, help,
|
||||
## media_library, outputs, playlist, playlist_editor,
|
||||
## search_engine, tag_editor, visualizer, last_fm, lyrics,
|
||||
## selected_items_adder, server_info, song_info,
|
||||
## sort_playlist_dialog, tiny_tag_editor.
|
||||
##
|
||||
## - run_external_command "command" - runs given command using
|
||||
## system() function.
|
||||
##
|
||||
## 5) In addition to binding to a key, you can also bind actions
|
||||
## or chains of actions to a command. If it comes to commands,
|
||||
## syntax is very similar to defining keys. Here goes example
|
||||
## definition of a command:
|
||||
##
|
||||
## def_command "quit" [deferred]
|
||||
## stop
|
||||
## quit
|
||||
##
|
||||
## If you execute the above command (which can be done by
|
||||
## invoking action execute_command, typing 'quit' and pressing
|
||||
## enter), ncmpcpp will stop the player and then quit. Note the
|
||||
## presence of word 'deferred' enclosed in square brackets. It
|
||||
## tells ncmpcpp to wait for confirmation (ie. pressing enter)
|
||||
## after you typed quit. Instead of 'deferred', 'immediate'
|
||||
## could be used. Then ncmpcpp will not wait for confirmation
|
||||
## (enter) and will execute the command the moment it sees it.
|
||||
##
|
||||
## Note: while command chains are executed, internal environment
|
||||
## update (which includes current window refresh and mpd status
|
||||
## update) is not performed for performance reasons. However, it
|
||||
## may be desirable to do so in some situration. Therefore it's
|
||||
## possible to invoke by hand by performing 'update enviroment'
|
||||
## action.
|
||||
##
|
||||
## Note: There is a difference between:
|
||||
##
|
||||
## def_key "key"
|
||||
## action1
|
||||
##
|
||||
## def_key "key"
|
||||
## action2
|
||||
##
|
||||
## and
|
||||
##
|
||||
## def_key "key"
|
||||
## action1
|
||||
## action2
|
||||
##
|
||||
## First one binds two single actions to the same key whilst
|
||||
## second one defines a chain of actions. The behavior of
|
||||
## these two is different and is described in (1) and (2).
|
||||
##
|
||||
## Note: Function def_key accepts non-ascii characters.
|
||||
##
|
||||
##### List of unbound actions #####
|
||||
##
|
||||
## The following actions are not bound to any key/command:
|
||||
##
|
||||
## - set_volume
|
||||
##
|
||||
#
|
||||
#def_key "mouse"
|
||||
# mouse_event
|
||||
#
|
||||
#def_key "up"
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "shift-up"
|
||||
# select_item
|
||||
# scroll_up
|
||||
#
|
||||
#def_key "down"
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "shift-down"
|
||||
# select_item
|
||||
# scroll_down
|
||||
#
|
||||
#def_key "["
|
||||
# scroll_up_album
|
||||
#
|
||||
#def_key "]"
|
||||
# scroll_down_album
|
||||
#
|
||||
#def_key "{"
|
||||
# scroll_up_artist
|
||||
#
|
||||
#def_key "}"
|
||||
# scroll_down_artist
|
||||
#
|
||||
#def_key "page_up"
|
||||
# page_up
|
||||
#
|
||||
#def_key "page_down"
|
||||
# page_down
|
||||
#
|
||||
#def_key "home"
|
||||
# move_home
|
||||
#
|
||||
#def_key "end"
|
||||
# move_end
|
||||
#
|
||||
#def_key "insert"
|
||||
# select_item
|
||||
#
|
||||
#def_key "enter"
|
||||
# enter_directory
|
||||
#
|
||||
#def_key "enter"
|
||||
# toggle_output
|
||||
#
|
||||
#def_key "enter"
|
||||
# run_action
|
||||
#
|
||||
#def_key "enter"
|
||||
# play_item
|
||||
#
|
||||
#def_key "space"
|
||||
# add_item_to_playlist
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_lyrics_update_on_song_change
|
||||
#
|
||||
#def_key "space"
|
||||
# toggle_visualization_type
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_playlist_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_browser_items
|
||||
#
|
||||
#def_key "delete"
|
||||
# delete_stored_playlist
|
||||
#
|
||||
#def_key "right"
|
||||
# next_column
|
||||
#
|
||||
#def_key "right"
|
||||
# slave_screen
|
||||
#
|
||||
#def_key "right"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "+"
|
||||
# volume_up
|
||||
#
|
||||
#def_key "left"
|
||||
# previous_column
|
||||
#
|
||||
#def_key "left"
|
||||
# master_screen
|
||||
#
|
||||
#def_key "left"
|
||||
# volume_down
|
||||
#
|
||||
#def_key "-"
|
||||
# volume_down
|
||||
#
|
||||
#def_key ":"
|
||||
# execute_command
|
||||
#
|
||||
#def_key "tab"
|
||||
# next_screen
|
||||
#
|
||||
#def_key "shift-tab"
|
||||
# previous_screen
|
||||
#
|
||||
#def_key "f1"
|
||||
# show_help
|
||||
#
|
||||
#def_key "1"
|
||||
# show_playlist
|
||||
#
|
||||
#def_key "2"
|
||||
# show_browser
|
||||
#
|
||||
#def_key "2"
|
||||
# change_browse_mode
|
||||
#
|
||||
#def_key "3"
|
||||
# show_search_engine
|
||||
#
|
||||
#def_key "3"
|
||||
# reset_search_engine
|
||||
#
|
||||
#def_key "4"
|
||||
# show_media_library
|
||||
#
|
||||
#def_key "4"
|
||||
# toggle_media_library_columns_mode
|
||||
#
|
||||
#def_key "5"
|
||||
# show_playlist_editor
|
||||
#
|
||||
#def_key "6"
|
||||
# show_tag_editor
|
||||
#
|
||||
#def_key "7"
|
||||
# show_outputs
|
||||
#
|
||||
#def_key "8"
|
||||
# show_visualizer
|
||||
#
|
||||
#def_key "="
|
||||
# show_clock
|
||||
#
|
||||
#def_key "@"
|
||||
# show_server_info
|
||||
#
|
||||
#def_key "s"
|
||||
# stop
|
||||
#
|
||||
#def_key "p"
|
||||
# pause
|
||||
#
|
||||
#def_key ">"
|
||||
# next
|
||||
#
|
||||
#def_key "<"
|
||||
# previous
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "ctrl-h"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "backspace"
|
||||
# jump_to_parent_directory
|
||||
#
|
||||
#def_key "backspace"
|
||||
# replay_song
|
||||
#
|
||||
#def_key "f"
|
||||
# seek_forward
|
||||
#
|
||||
#def_key "b"
|
||||
# seek_backward
|
||||
#
|
||||
#def_key "r"
|
||||
# toggle_repeat
|
||||
#
|
||||
#def_key "z"
|
||||
# toggle_random
|
||||
#
|
||||
#def_key "y"
|
||||
# save_tag_changes
|
||||
#
|
||||
#def_key "y"
|
||||
# start_searching
|
||||
#
|
||||
#def_key "y"
|
||||
# toggle_single
|
||||
#
|
||||
#def_key "R"
|
||||
# toggle_consume
|
||||
#
|
||||
#def_key "Y"
|
||||
# toggle_replay_gain_mode
|
||||
#
|
||||
#def_key "T"
|
||||
# toggle_add_mode
|
||||
#
|
||||
#def_key "|"
|
||||
# toggle_mouse
|
||||
#
|
||||
#def_key "#"
|
||||
# toggle_bitrate_visibility
|
||||
#
|
||||
#def_key "Z"
|
||||
# shuffle
|
||||
#
|
||||
#def_key "x"
|
||||
# toggle_crossfade
|
||||
#
|
||||
#def_key "X"
|
||||
# set_crossfade
|
||||
#
|
||||
#def_key "u"
|
||||
# update_database
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# sort_playlist
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_browser_sort_mode
|
||||
#
|
||||
#def_key "ctrl-s"
|
||||
# toggle_media_library_sort_mode
|
||||
#
|
||||
#def_key "ctrl-r"
|
||||
# reverse_playlist
|
||||
#
|
||||
#def_key "ctrl-f"
|
||||
# apply_filter
|
||||
#
|
||||
#def_key "ctrl-_"
|
||||
# select_found_items
|
||||
#
|
||||
#def_key "/"
|
||||
# find
|
||||
#
|
||||
#def_key "/"
|
||||
# find_item_forward
|
||||
#
|
||||
#def_key "?"
|
||||
# find
|
||||
#
|
||||
#def_key "?"
|
||||
# find_item_backward
|
||||
#
|
||||
#def_key "."
|
||||
# next_found_item
|
||||
#
|
||||
#def_key ","
|
||||
# previous_found_item
|
||||
#
|
||||
#def_key "w"
|
||||
# toggle_find_mode
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_song
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_tag
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_library_album
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_directory_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_playlist_name
|
||||
#
|
||||
#def_key "e"
|
||||
# edit_lyrics
|
||||
#
|
||||
#def_key "i"
|
||||
# show_song_info
|
||||
#
|
||||
#def_key "I"
|
||||
# show_artist_info
|
||||
#
|
||||
#def_key "g"
|
||||
# jump_to_position_in_song
|
||||
#
|
||||
#def_key "l"
|
||||
# show_lyrics
|
||||
#
|
||||
#def_key "ctrl-v"
|
||||
# select_range
|
||||
#
|
||||
#def_key "v"
|
||||
# reverse_selection
|
||||
#
|
||||
#def_key "V"
|
||||
# remove_selection
|
||||
#
|
||||
#def_key "B"
|
||||
# select_album
|
||||
#
|
||||
#def_key "a"
|
||||
# add_selected_items
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_playlist
|
||||
#
|
||||
#def_key "c"
|
||||
# clear_main_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_playlist
|
||||
#
|
||||
#def_key "C"
|
||||
# crop_main_playlist
|
||||
#
|
||||
#def_key "m"
|
||||
# move_sort_order_up
|
||||
#
|
||||
#def_key "m"
|
||||
# move_selected_items_up
|
||||
#
|
||||
#def_key "n"
|
||||
# move_sort_order_down
|
||||
#
|
||||
#def_key "n"
|
||||
# move_selected_items_down
|
||||
#
|
||||
#def_key "M"
|
||||
# move_selected_items_to
|
||||
#
|
||||
#def_key "A"
|
||||
# add
|
||||
#
|
||||
#def_key "S"
|
||||
# save_playlist
|
||||
#
|
||||
#def_key "o"
|
||||
# jump_to_playing_song
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_browser
|
||||
#
|
||||
#def_key "G"
|
||||
# jump_to_playlist_editor
|
||||
#
|
||||
#def_key "~"
|
||||
# jump_to_media_library
|
||||
#
|
||||
#def_key "E"
|
||||
# jump_to_tag_editor
|
||||
#
|
||||
#def_key "U"
|
||||
# toggle_playing_song_centering
|
||||
#
|
||||
#def_key "P"
|
||||
# toggle_display_mode
|
||||
#
|
||||
#def_key "\\"
|
||||
# toggle_interface
|
||||
#
|
||||
#def_key "!"
|
||||
# toggle_separators_between_albums
|
||||
#
|
||||
#def_key "L"
|
||||
# toggle_lyrics_fetcher
|
||||
#
|
||||
#def_key "F"
|
||||
# fetch_lyrics_in_background
|
||||
#
|
||||
#def_key "alt-l"
|
||||
# toggle_fetching_lyrics_in_background
|
||||
#
|
||||
#def_key "ctrl-l"
|
||||
# toggle_screen_lock
|
||||
#
|
||||
#def_key "`"
|
||||
# toggle_library_tag_type
|
||||
#
|
||||
#def_key "`"
|
||||
# refetch_lyrics
|
||||
#
|
||||
#def_key "`"
|
||||
# add_random_items
|
||||
#
|
||||
#def_key "ctrl-p"
|
||||
# set_selected_items_priority
|
||||
#
|
||||
#def_key "q"
|
||||
# quit
|
||||
#
|
||||
@@ -16,10 +16,10 @@ mpd_connection_timeout = 5
|
||||
mpd_crossfade_time = 0
|
||||
|
||||
##### music visualizer #####
|
||||
visualizer_fifo_path = /tmp/mpd.fifo
|
||||
# visualizer_fifo_path = /tmp/mpd.fifo
|
||||
visualizer_output_name = "my_fifo"
|
||||
visualizer_in_stereo = yes
|
||||
visualizer_sync_interval = 30
|
||||
# visualizer_sync_interval = 10
|
||||
visualizer_type = "spectrum" ## Available values: spectrum, wave, wave_filled, ellipse.
|
||||
visualizer_look = "+|"
|
||||
visualizer_color = blue, cyan, green, yellow, magenta, red
|
||||
|
||||
423
.config/newm/config.py
Normal file
423
.config/newm/config.py
Normal file
@@ -0,0 +1,423 @@
|
||||
from __future__ import annotations
|
||||
from typing import Callable, Any
|
||||
|
||||
import os
|
||||
import time
|
||||
import logging
|
||||
import psutil
|
||||
import subprocess
|
||||
import dbus
|
||||
import docker
|
||||
|
||||
docker_client = docker.from_env()
|
||||
|
||||
from newm.layout import Layout
|
||||
from newm.helper import BacklightManager, WobRunner, PaCtl
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
debug_windows = False
|
||||
|
||||
|
||||
def run_shell(command: str):
|
||||
"""Run a shell command asynchronously
|
||||
If the shell command doesn't already end with "&", add it.
|
||||
"""
|
||||
if not command.endswith("&"):
|
||||
command = command + " &"
|
||||
os.system(command)
|
||||
|
||||
|
||||
def command_is_running(command: str):
|
||||
for proc in psutil.process_iter():
|
||||
try:
|
||||
cmdline = proc.cmdline()
|
||||
except psutil.NoSuchProcess:
|
||||
continue
|
||||
if command in cmdline[0]:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def on_reconfigure():
|
||||
run_shell('notify-send newm "Reloaded config"')
|
||||
|
||||
|
||||
def on_startup():
|
||||
run_shell("mpc stop")
|
||||
run_shell("dunst")
|
||||
run_shell("pactl load-module module-switch-on-connect")
|
||||
run_shell("xfce-polkit")
|
||||
run_shell("kdeconnectd")
|
||||
os.system(
|
||||
"systemctl --user import-environment DISPLAY \
|
||||
WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
)
|
||||
os.system(
|
||||
"dbus-update-activation-environment && \
|
||||
dbus-update-activation-environment --systemd DISPLAY \
|
||||
WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
)
|
||||
|
||||
|
||||
with open("{}/.cache/wallpaper".format(os.environ["HOME"])) as wp_cache:
|
||||
background = {
|
||||
"path": wp_cache.read().strip(),
|
||||
"anim": True,
|
||||
}
|
||||
|
||||
pywm = {
|
||||
"xkb_layout": "fr",
|
||||
"xkb_variant": "bepo_afnor",
|
||||
"xkb_options": "caps:ctrl_modifier",
|
||||
"enable_xwayland": True,
|
||||
"natural_scroll": False,
|
||||
"focus_follows_mouse": True,
|
||||
"encourage_csd": False,
|
||||
}
|
||||
|
||||
outputs = [
|
||||
{"name": "eDP-1", "mHz": 120_000},
|
||||
{
|
||||
"name": "HDMI-A-1",
|
||||
"pos_x": -2560,
|
||||
"pos_y": 0,
|
||||
"width": 2560,
|
||||
"height": 1080,
|
||||
},
|
||||
]
|
||||
|
||||
wob_runner = WobRunner("wob -a bottom -M 100")
|
||||
backlight_manager = BacklightManager(anim_time=1.0, bar_display=wob_runner)
|
||||
kbdlight_manager = BacklightManager(
|
||||
args="--device='*::kbd_backlight'", anim_time=1.0, bar_display=wob_runner
|
||||
)
|
||||
|
||||
|
||||
def synchronous_update() -> None:
|
||||
backlight_manager.update()
|
||||
kbdlight_manager.update()
|
||||
|
||||
|
||||
def rules(m_view):
|
||||
blur_apps = ("kitty", "wofi", "rofi", "emacsclient", "emacs")
|
||||
float_apps = ("Rofi", "xfce-polkit")
|
||||
nonfloat_apps = ("discord", "Discord")
|
||||
m_rules = {}
|
||||
if m_view.app_id in blur_apps:
|
||||
m_rules.update({"blur": {"radius": 6, "passes": 2}})
|
||||
if m_view.app_id in float_apps:
|
||||
m_rules.update({"float": True})
|
||||
if m_view.app_id in nonfloat_apps:
|
||||
m_rules.update({"float": False})
|
||||
if debug_windows:
|
||||
with open("/tmp/newm_windows.txt", "a", encoding="utf-8") as file:
|
||||
file.write(f"{str(m_view.app_id)}\t{m_rules}\n")
|
||||
return m_rules
|
||||
|
||||
|
||||
pactl = PaCtl(0, wob_runner)
|
||||
|
||||
focus = {
|
||||
"animate_on_change": False,
|
||||
"distance": 6,
|
||||
"width": 2,
|
||||
"color": "#5E81ACDD",
|
||||
"anim_time": 0.1,
|
||||
}
|
||||
|
||||
view = {
|
||||
"corner_radius": 8,
|
||||
"padding": 20,
|
||||
"rules": rules,
|
||||
"floating_min_size": False,
|
||||
}
|
||||
|
||||
|
||||
leader: str = "L-Spc "
|
||||
|
||||
|
||||
def key_bindings(layout: Layout) -> list[tuple[str, Callable[[], Any]]]:
|
||||
return [
|
||||
("L-Return", lambda: os.system("kitty &")),
|
||||
(leader + "a r b", lambda: run_shell("bluetooth-connect")),
|
||||
(
|
||||
leader + "a r r",
|
||||
lambda: run_shell("rofi -combi-modi drun,window -show combi"),
|
||||
),
|
||||
(leader + "a b", lambda: run_shell("firefox")),
|
||||
(leader + "a d", lambda: run_shell("discord")),
|
||||
(leader + "a e", lambda: run_shell("emacsclient -c")),
|
||||
(leader + "l", layout.ensure_locked),
|
||||
(leader + "w f", layout.toggle_fullscreen),
|
||||
(leader + "w v", layout.toggle_focused_view_floating),
|
||||
(leader + "w +", lambda: layout.basic_scale(1)),
|
||||
(leader + "w -", lambda: layout.basic_scale(-1)),
|
||||
("L-o", layout.move_workspace),
|
||||
("L-O", layout.move_workspace),
|
||||
(leader + "w c", lambda: layout.move(-1, 0)),
|
||||
(leader + "w t", lambda: layout.move(0, 1)),
|
||||
(leader + "w s", lambda: layout.move(0, -1)),
|
||||
(leader + "w r", lambda: layout.move(1, 0)),
|
||||
(leader + "w n", lambda: layout.move_in_stack(1)),
|
||||
("L-Tab", lambda: layout.move_in_stack(1)),
|
||||
(leader + "w p", lambda: layout.move_in_stack(-1)),
|
||||
(leader + "w C", lambda: layout.move_focused_view(-1, 0)),
|
||||
(leader + "w T", lambda: layout.move_focused_view(0, 1)),
|
||||
(leader + "w S", lambda: layout.move_focused_view(0, -1)),
|
||||
(leader + "w R", lambda: layout.move_focused_view(1, 0)),
|
||||
(leader + "b d", layout.close_focused_view),
|
||||
(leader + "q l", lambda: layout.ensure_locked(dim=False)),
|
||||
(leader + "q q", layout.terminate),
|
||||
(leader + "u", layout.update_config),
|
||||
("L-c", lambda: layout.move(-1, 0)),
|
||||
("L-t", lambda: layout.move(0, 1)),
|
||||
("L-s", lambda: layout.move(0, -1)),
|
||||
("L-r", lambda: layout.move(1, 0)),
|
||||
("L-plus", lambda: layout.basic_scale(-1)),
|
||||
("L-minus", lambda: layout.basic_scale(1)),
|
||||
("L-C", lambda: layout.move_focused_view(-1, 0)),
|
||||
("L-T", lambda: layout.move_focused_view(0, 1)),
|
||||
("L-S", lambda: layout.move_focused_view(0, -1)),
|
||||
("L-R", lambda: layout.move_focused_view(1, 0)),
|
||||
(leader + "w r c", lambda: layout.resize_focused_view(-1, 0)),
|
||||
(leader + "w r t", lambda: layout.resize_focused_view(0, 1)),
|
||||
(leader + "w r s", lambda: layout.resize_focused_view(0, -1)),
|
||||
(leader + "w r r", lambda: layout.resize_focused_view(1, 0)),
|
||||
("L-", lambda: layout.toggle_overview(only_active_workspace=True)),
|
||||
(
|
||||
"XF86MonBrightnessUp",
|
||||
lambda: backlight_manager.set(backlight_manager.get() + 0.1),
|
||||
),
|
||||
(
|
||||
"XF86MonBrightnessDown",
|
||||
lambda: backlight_manager.set(backlight_manager.get() - 0.1),
|
||||
),
|
||||
(
|
||||
"XF86KbdBrightnessUp",
|
||||
lambda: kbdlight_manager.set(kbdlight_manager.get() + 0.1),
|
||||
),
|
||||
(
|
||||
"XF86KbdBrightnessDown",
|
||||
lambda: kbdlight_manager.set(kbdlight_manager.get() - 0.1),
|
||||
),
|
||||
("XF86AudioPlay", lambda: run_shell("playerctl play-pause")),
|
||||
("XF86AudioPause", lambda: run_shell("playerctl pause")),
|
||||
("XF86AudioStop", lambda: run_shell("playerctl stop")),
|
||||
("XF86AudioPrev", lambda: run_shell("playerctl previous")),
|
||||
("XF86AudioNext", lambda: run_shell("playerctl next")),
|
||||
("XF86AudioForward", lambda: run_shell("playerctl position +1")),
|
||||
("XF86AudioRewind", lambda: run_shell("playerctl position -1")),
|
||||
("XF86AudioRaiseVolume", lambda: pactl.volume_adj(5)),
|
||||
("XF86AudioLowerVolume", lambda: pactl.volume_adj(-5)),
|
||||
("XF86AudioMute", pactl.mute),
|
||||
("Print", lambda: run_shell("env XDG_CURRENT_DESKTOP=Sway flameshot gui")),
|
||||
]
|
||||
|
||||
|
||||
battery_icons = {
|
||||
100: {True: "", False: ""},
|
||||
90: {True: "", False: ""},
|
||||
80: {True: "", False: ""},
|
||||
70: {True: "", False: ""},
|
||||
60: {True: "", False: ""},
|
||||
50: {True: "", False: ""},
|
||||
40: {True: "", False: ""},
|
||||
30: {True: "", False: ""},
|
||||
20: {True: "", False: ""},
|
||||
10: {True: "", False: ""},
|
||||
0: {True: "", False: ""},
|
||||
}
|
||||
|
||||
|
||||
def battery_status() -> str:
|
||||
battery = psutil.sensors_battery()
|
||||
percent = format(battery.percent, ".1f")
|
||||
minutes = battery.secsleft // 60
|
||||
remaining = "{0:0>2}:{1:0>2}".format(minutes // 60, minutes % 60)
|
||||
icon = battery_icons[(int(float(percent)) // 10) * 10][battery.power_plugged]
|
||||
return f"{icon} {percent}% ({remaining})"
|
||||
|
||||
|
||||
def unread_emails() -> str:
|
||||
unread = subprocess.run(
|
||||
["mu", "find", "flag:unread AND (maildir:/Inbox OR maildir:/Junk)"],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
check=True,
|
||||
).stdout
|
||||
nbr_unread: int = len(str(unread).strip().split("\n"))
|
||||
return f" {nbr_unread}"
|
||||
|
||||
|
||||
def cpu_usage() -> str:
|
||||
cpu: str = format(psutil.cpu_percent(interval=1), ".1f")
|
||||
return f" {cpu}%"
|
||||
|
||||
|
||||
def mem_usage() -> str:
|
||||
mem: str = format(psutil.virtual_memory().percent, ".1f")
|
||||
return f" {mem}%"
|
||||
|
||||
|
||||
def get_bluetooth_devices() -> str:
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
bus = dbus.SystemBus()
|
||||
service_name = "org.bluez"
|
||||
|
||||
# Verify if bluetooth is turned on
|
||||
proxy = bus.get_object(service_name, "/org/bluez/hci0")
|
||||
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
||||
if not props.Get("org.bluez.Adapter1", "Powered"):
|
||||
return ""
|
||||
|
||||
# Grab all known devices
|
||||
bt_intro_iface = dbus.Interface(proxy, "org.freedesktop.DBus.Introspectable")
|
||||
bt_intro = str(bt_intro_iface.Introspect())
|
||||
root_node = ET.fromstring(bt_intro)
|
||||
known_devices = [n.get("name") for n in root_node.findall("node")]
|
||||
|
||||
# Check if all devices are connected
|
||||
counter = 0
|
||||
for device in known_devices:
|
||||
object_path = f"/org/bluez/hci0/{device}"
|
||||
proxy = bus.get_object(service_name, object_path)
|
||||
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
||||
if props.Get("org.bluez.Device1", "Connected"):
|
||||
counter = counter + 1
|
||||
return f" {counter}"
|
||||
|
||||
|
||||
def get_wifi_name(iface) -> str:
|
||||
bus = dbus.SystemBus()
|
||||
service_name = "org.freedesktop.NetworkManager"
|
||||
proxy = bus.get_object(service_name, "/org/freedesktop/NetworkManager/Settings")
|
||||
|
||||
# Get the device object path based on interface name
|
||||
proxy = bus.get_object(service_name, "/org/freedesktop/NetworkManager")
|
||||
nm = dbus.Interface(proxy, "org.freedesktop.NetworkManager")
|
||||
devpath = nm.GetDeviceByIpIface(iface)
|
||||
|
||||
# Get a proxy to the wifi device and get the active access point's object path
|
||||
proxy = bus.get_object(service_name, devpath)
|
||||
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
||||
active_ap_path = props.Get(
|
||||
"org.freedesktop.NetworkManager.Device.Wireless", "ActiveAccessPoint"
|
||||
)
|
||||
if active_ap_path == "/":
|
||||
return ""
|
||||
|
||||
# Get the active access point's SSID and BSSID
|
||||
ap_proxy = bus.get_object(service_name, active_ap_path)
|
||||
ap_props = dbus.Interface(ap_proxy, "org.freedesktop.DBus.Properties")
|
||||
raw_ssid = ap_props.Get("org.freedesktop.NetworkManager.AccessPoint", "Ssid")
|
||||
ssid = b"".join([bytes([v]) for v in raw_ssid]).decode("utf-8")
|
||||
return ssid
|
||||
|
||||
|
||||
def get_local_address(wifi_iface, eth_iface) -> str:
|
||||
if_addrs = psutil.net_if_addrs()
|
||||
wifi = if_addrs.get(wifi_iface)
|
||||
eth = if_addrs.get(eth_iface)
|
||||
wifi_addr = wifi[0].address if wifi else ""
|
||||
eth_addr = eth[0].address if eth else ""
|
||||
wifi_addr = wifi_addr if not ":" in wifi_addr else ""
|
||||
eth_addr = eth_addr if not ":" in eth_addr else ""
|
||||
return wifi_addr or eth_addr
|
||||
|
||||
|
||||
def get_network() -> str:
|
||||
wifi_interface = "wlp8s0"
|
||||
eth_interface = "enp9s0f1"
|
||||
network_name = get_wifi_name(wifi_interface)
|
||||
network_name = f" {network_name}" if network_name else " eth"
|
||||
addr = get_local_address(wifi_interface, eth_interface)
|
||||
return f"{network_name} ({addr})" if addr else "睊 disconnected"
|
||||
|
||||
|
||||
def get_playerctl_bus():
|
||||
bus = dbus.SessionBus()
|
||||
service_name = "org.mpris.MediaPlayer2.playerctld"
|
||||
service_props = "org.mpris.MediaPlayer2.Player"
|
||||
proxy = bus.get_object(service_name, "/org/mpris/MediaPlayer2")
|
||||
return (service_props, proxy)
|
||||
|
||||
|
||||
def get_currently_playing():
|
||||
(service_props, proxy) = get_playerctl_bus()
|
||||
props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
||||
metadata = props.Get(service_props, "Metadata")
|
||||
status = str(props.Get(service_props, "PlaybackStatus"))
|
||||
if status != "Playing":
|
||||
return ""
|
||||
artist = ", ".join(metadata.get("xesam:artist"))
|
||||
title = metadata.get("xesam:title")
|
||||
return f" {artist} — {title}"
|
||||
|
||||
|
||||
def display_docker() -> str:
|
||||
containers = docker_client.containers.list(sparse=True)
|
||||
return f" {len(containers)}"
|
||||
|
||||
|
||||
def get_time() -> str:
|
||||
return time.strftime("%a %Y-%m-%d %X")
|
||||
|
||||
|
||||
def bar_text() -> str:
|
||||
return " | ".join(
|
||||
[
|
||||
f
|
||||
for f in [
|
||||
get_currently_playing(),
|
||||
# get_network(),
|
||||
display_docker(),
|
||||
# get_bluetooth_devices(),
|
||||
unread_emails(),
|
||||
cpu_usage(),
|
||||
mem_usage(),
|
||||
get_time(),
|
||||
battery_status(),
|
||||
]
|
||||
if f
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
def max_width(strings: list[str]) -> int:
|
||||
r_max_width: int = 0
|
||||
for s in strings:
|
||||
if len(s) > r_max_width:
|
||||
r_max_width = len(s)
|
||||
return r_max_width
|
||||
|
||||
|
||||
panels = {
|
||||
"lock": {
|
||||
"cmd": "kitty -e newm-panel-basic lock",
|
||||
},
|
||||
"launcher": {"cmd": "kitty -e newm-panel-basic launcher"},
|
||||
"top_bar": {
|
||||
"native": {
|
||||
"font": "JetBrainsMono Nerd Font",
|
||||
"enabled": True,
|
||||
"texts": lambda: [
|
||||
bar_text(),
|
||||
],
|
||||
},
|
||||
},
|
||||
"bottom_bar": {
|
||||
"native": {
|
||||
"enabled": False,
|
||||
"texts": lambda: ["newm", "powered by pywm"],
|
||||
"color": (0.5, 0.5, 0.5, 0.1),
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
energy = {
|
||||
"idle_callback": backlight_manager.callback,
|
||||
"idle_times": [5 * 60, 30 * 60, 24 * 60 * 60],
|
||||
}
|
||||
96
.config/qutebrowser/completion.py
Normal file
96
.config/qutebrowser/completion.py
Normal file
@@ -0,0 +1,96 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Number of commands to save in the command history. 0: no history / -1:
|
||||
# unlimited
|
||||
# Type: Int
|
||||
c.completion.cmd_history_max_items = 200
|
||||
|
||||
# Delay (in milliseconds) before updating completions after typing a
|
||||
# character.
|
||||
# Type: Int
|
||||
c.completion.delay = 150
|
||||
|
||||
# Default filesystem autocomplete suggestions for :open. The elements of
|
||||
# this list show up in the completion window under the Filesystem
|
||||
# category when the command line contains `:open` but no argument.
|
||||
# Type: List of String
|
||||
c.completion.favorite_paths = []
|
||||
|
||||
# Height (in pixels or as percentage of the window) of the completion.
|
||||
# Type: PercOrInt
|
||||
c.completion.height = '33%'
|
||||
|
||||
# Minimum amount of characters needed to update completions.
|
||||
# Type: Int
|
||||
c.completion.min_chars = 2
|
||||
|
||||
# Which categories to show (in which order) in the :open completion.
|
||||
# Type: FlagList
|
||||
# Valid values:
|
||||
# - searchengines
|
||||
# - quickmarks
|
||||
# - bookmarks
|
||||
# - history
|
||||
# - filesystem
|
||||
c.completion.open_categories = [
|
||||
'searchengines',
|
||||
'quickmarks',
|
||||
'bookmarks',
|
||||
'history',
|
||||
'filesystem'
|
||||
]
|
||||
|
||||
# Move on to the next part when there's only one possible completion
|
||||
# left.
|
||||
# Type: Bool
|
||||
c.completion.quick = True
|
||||
|
||||
# Padding (in pixels) of the scrollbar handle in the completion window.
|
||||
# Type: Int
|
||||
c.completion.scrollbar.padding = 1
|
||||
|
||||
# Width (in pixels) of the scrollbar in the completion window.
|
||||
# Type: Int
|
||||
c.completion.scrollbar.width = 5
|
||||
|
||||
# When to show the autocompletion window.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Whenever a completion is available.
|
||||
# - auto: Whenever a completion is requested.
|
||||
# - never: Never.
|
||||
c.completion.show = 'always'
|
||||
|
||||
# Shrink the completion to be smaller than the configured size if there
|
||||
# are no scrollbars.
|
||||
# Type: Bool
|
||||
c.completion.shrink = True
|
||||
|
||||
# Format of timestamps (e.g. for the history completion). See
|
||||
# https://sqlite.org/lang_datefunc.html and
|
||||
# https://docs.python.org/3/library/datetime.html#strftime-strptime-
|
||||
# behavior for allowed substitutions, qutebrowser uses both sqlite and
|
||||
# Python to format its timestamps.
|
||||
# Type: String
|
||||
c.completion.timestamp_format = '%Y-%m-%d %H:%M'
|
||||
|
||||
# Execute the best-matching command on a partial match.
|
||||
# Type: Bool
|
||||
c.completion.use_best_match = True
|
||||
|
||||
# A list of patterns which should not be shown in the history. This only
|
||||
# affects the completion. Matching URLs are still saved in the history
|
||||
# (and visible on the `:history` page), but hidden in the completion.
|
||||
# Changing this setting will cause the completion history to be
|
||||
# regenerated on the next start, which will take a short while.
|
||||
# Type: List of UrlPattern
|
||||
c.completion.web_history.exclude = []
|
||||
|
||||
# Number of URLs to show in the web history. 0: no history / -1:
|
||||
# unlimited
|
||||
# Type: Int
|
||||
c.completion.web_history.max_items = -1
|
||||
45
.config/qutebrowser/config.py
Normal file
45
.config/qutebrowser/config.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# pylint: disable=C0111
|
||||
|
||||
# This is here so configs done via the GUI are still loaded.
|
||||
# Remove it to not load settings done via the GUI.
|
||||
config.load_autoconfig(False)
|
||||
|
||||
# Aliases for commands. The keys of the given dictionary are the
|
||||
# aliases, while the values are the commands they map to.
|
||||
# Type: Dict
|
||||
c.aliases = {
|
||||
'w': 'session-save',
|
||||
'q': 'close',
|
||||
'qa': 'quit',
|
||||
'wq': 'quit --save',
|
||||
'wqa': 'quit --save'
|
||||
}
|
||||
|
||||
# Time interval (in milliseconds) between auto-saves of
|
||||
# config/cookies/etc.
|
||||
# Type: Int
|
||||
c.auto_save.interval = 15000
|
||||
|
||||
# Enable smooth scrolling for web pages. Note smooth scrolling does not
|
||||
# work with the `:scroll-px` command.
|
||||
# Type: Bool
|
||||
c.scrolling.smooth = True
|
||||
|
||||
c.spellcheck.languages = [
|
||||
'en-US',
|
||||
'fr-FR',
|
||||
]
|
||||
|
||||
config.source('completion.py')
|
||||
config.source('content.py')
|
||||
config.source('downloads.py')
|
||||
config.source('editor.py')
|
||||
config.source('keybinds.py')
|
||||
config.source('fileselect.py')
|
||||
config.source('hints.py')
|
||||
config.source('input.py')
|
||||
config.source('statusbar.py')
|
||||
config.source('tabs.py')
|
||||
config.source('url.py')
|
||||
config.source('window.py')
|
||||
config.source('nord.py')
|
||||
488
.config/qutebrowser/content.py
Normal file
488
.config/qutebrowser/content.py
Normal file
@@ -0,0 +1,488 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Automatically start playing `<video>` elements.
|
||||
# Type: Bool
|
||||
c.content.autoplay = False
|
||||
|
||||
# List of URLs to ABP-style adblocking rulesets. Only used when Brave's
|
||||
# ABP-style adblocker is used (see `content.blocking.method`). You can
|
||||
# find an overview of available lists here:
|
||||
# https://adblockplus.org/en/subscriptions - note that the special
|
||||
# `subscribe.adblockplus.org` links aren't handled by qutebrowser, you
|
||||
# will instead need to find the link to the raw `.txt` file (e.g. by
|
||||
# extracting it from the `location` parameter of the subscribe URL and
|
||||
# URL-decoding it).
|
||||
# Type: List of Url
|
||||
c.content.blocking.adblock.lists = [
|
||||
# AdBlock sources
|
||||
"https://easylist.to/easylist/easylist.txt",
|
||||
"https://easylist.to/easylist/easyprivacy.txt"
|
||||
# uBlock sources
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/annoyances.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badlists.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters-2020.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters-2021.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/lan-block.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/unbreak.txt",
|
||||
]
|
||||
|
||||
# Enable the ad/host blocker
|
||||
# Type: Bool
|
||||
c.content.blocking.enabled = True
|
||||
|
||||
# Block subdomains of blocked hosts. Note: If only a single subdomain is
|
||||
# blocked but should be allowed, consider using
|
||||
# `content.blocking.whitelist` instead.
|
||||
# Type: Bool
|
||||
c.content.blocking.hosts.block_subdomains = True
|
||||
|
||||
# List of URLs to host blocklists for the host blocker. Only used when
|
||||
# the simple host-blocker is used (see `content.blocking.method`). The
|
||||
# file can be in one of the following formats: - An `/etc/hosts`-like
|
||||
# file - One host per line - A zip-file of any of the above, with either
|
||||
# only one file, or a file named `hosts` (with any extension). It's
|
||||
# also possible to add a local file or directory via a `file://` URL. In
|
||||
# case of a directory, all files in the directory are read as adblock
|
||||
# lists. The file `~/.config/qutebrowser/blocked-hosts` is always read
|
||||
# if it exists.
|
||||
# Type: List of Url
|
||||
c.content.blocking.hosts.lists = [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts",
|
||||
]
|
||||
|
||||
# Which method of blocking ads should be used. Support for Adblock Plus
|
||||
# (ABP) syntax blocklists using Brave's Rust library requires the
|
||||
# `adblock` Python package to be installed, which is an optional
|
||||
# dependency of qutebrowser. It is required when either `adblock` or
|
||||
# `both` are selected.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - auto: Use Brave's ABP-style adblocker if available, host blocking otherwise
|
||||
# - adblock: Use Brave's ABP-style adblocker
|
||||
# - hosts: Use hosts blocking
|
||||
# - both: Use both hosts blocking and Brave's ABP-style adblocker
|
||||
c.content.blocking.method = "auto"
|
||||
|
||||
# A list of patterns that should always be loaded, despite being blocked
|
||||
# by the ad-/host-blocker. Local domains are always exempt from
|
||||
# adblocking. Note this whitelists otherwise blocked requests, not
|
||||
# first-party URLs. As an example, if `example.org` loads an ad from
|
||||
# `ads.example.org`, the whitelist entry could be
|
||||
# `https://ads.example.org/*`. If you want to disable the adblocker on a
|
||||
# given page, use the `content.blocking.enabled` setting with a URL
|
||||
# pattern instead.
|
||||
# Type: List of UrlPattern
|
||||
c.content.blocking.whitelist = [
|
||||
"https://*.phundrak.com/*",
|
||||
]
|
||||
|
||||
# Enable support for the HTML 5 web application cache feature. An
|
||||
# application cache acts like an HTTP cache in some sense. For documents
|
||||
# that use the application cache via JavaScript, the loader engine will
|
||||
# first ask the application cache for the contents, before hitting the
|
||||
# network.
|
||||
# Type: Bool
|
||||
c.content.cache.appcache = True
|
||||
|
||||
# Maximum number of pages to hold in the global memory page cache. The
|
||||
# page cache allows for a nicer user experience when navigating forth or
|
||||
# back to pages in the forward/back history, by pausing and resuming up
|
||||
# to _n_ pages. For more information about the feature, please refer to:
|
||||
# https://webkit.org/blog/427/webkit-page-cache-i-the-basics/
|
||||
# Type: Int
|
||||
c.content.cache.maximum_pages = 0
|
||||
|
||||
# Size (in bytes) of the HTTP network cache. Null to use the default
|
||||
# value. With QtWebEngine, the maximum supported value is 2147483647 (~2
|
||||
# GB).
|
||||
# Type: Int
|
||||
c.content.cache.size = None
|
||||
|
||||
# Allow websites to read canvas elements. Note this is needed for some
|
||||
# websites to work properly.
|
||||
# Type: Bool
|
||||
c.content.canvas_reading = True
|
||||
|
||||
# Which cookies to accept. With QtWebEngine, this setting also controls
|
||||
# other features with tracking capabilities similar to those of cookies;
|
||||
# including IndexedDB, DOM storage, filesystem API, service workers, and
|
||||
# AppCache. Note that with QtWebKit, only `all` and `never` are
|
||||
# supported as per-domain values. Setting `no-3rdparty` or `no-
|
||||
# unknown-3rdparty` per-domain on QtWebKit will have the same effect as
|
||||
# `all`. If this setting is used with URL patterns, the pattern gets
|
||||
# applied to the origin/first party URL of the page making the request,
|
||||
# not the request URL. With QtWebEngine 5.15.0+, paths will be stripped
|
||||
# from URLs, so URL patterns using paths will not match. With
|
||||
# QtWebEngine 5.15.2+, subdomains are additionally stripped as well, so
|
||||
# you will typically need to set this setting for `example.com` when the
|
||||
# cookie is set on `somesubdomain.example.com` for it to work properly.
|
||||
# To debug issues with this setting, start qutebrowser with `--debug
|
||||
# --logfilter network --debug-flag log-cookies` which will show all
|
||||
# cookies being set.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - all: Accept all cookies.
|
||||
# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail.
|
||||
# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.
|
||||
# - never: Don't accept cookies at all.
|
||||
c.content.cookies.accept = "all"
|
||||
|
||||
# Store cookies.
|
||||
# Type: Bool
|
||||
c.content.cookies.store = True
|
||||
|
||||
# Default encoding to use for websites. The encoding must be a string
|
||||
# describing an encoding such as _utf-8_, _iso-8859-1_, etc.
|
||||
# Type: String
|
||||
c.content.default_encoding = "utf-8"
|
||||
|
||||
# Allow websites to share screen content.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.desktop_capture = "ask"
|
||||
|
||||
# Try to pre-fetch DNS entries to speed up browsing.
|
||||
# Type: Bool
|
||||
c.content.dns_prefetch = True
|
||||
|
||||
# Expand each subframe to its contents. This will flatten all the frames
|
||||
# to become one scrollable page.
|
||||
# Type: Bool
|
||||
c.content.frame_flattening = False
|
||||
|
||||
# Set fullscreen notification overlay timeout in milliseconds. If set to
|
||||
# 0, no overlay will be displayed.
|
||||
# Type: Int
|
||||
c.content.fullscreen.overlay_timeout = 3000
|
||||
|
||||
# Limit fullscreen to the browser window (does not expand to fill the
|
||||
# screen).
|
||||
# Type: Bool
|
||||
c.content.fullscreen.window = True
|
||||
|
||||
# Allow websites to request geolocations.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.geolocation = "ask"
|
||||
|
||||
# Value to send in the `Accept-Language` header. Note that the value
|
||||
# read from JavaScript is always the global value.
|
||||
# Type: String
|
||||
c.content.headers.accept_language = (
|
||||
"en-US,en-UK,en-GB,en;q=0.9, fr-Fr,fr;q=0.8, ja,es;q=0.5, *;q=0.2"
|
||||
)
|
||||
|
||||
# Custom headers for qutebrowser HTTP requests.
|
||||
# Type: Dict
|
||||
c.content.headers.custom = {}
|
||||
|
||||
# Value to send in the `DNT` header. When this is set to true,
|
||||
# qutebrowser asks websites to not track your identity. If set to null,
|
||||
# the DNT header is not sent at all.
|
||||
# Type: Bool
|
||||
c.content.headers.do_not_track = True
|
||||
|
||||
# When to send the Referer header. The Referer header tells websites
|
||||
# from which website you were coming from when visiting them. Note that
|
||||
# with QtWebEngine, websites can override this preference by setting the
|
||||
# `Referrer-Policy:` header, so that any websites visited from them get
|
||||
# the full referer. No restart is needed with QtWebKit.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Always send the Referer.
|
||||
# - never: Never send the Referer. This is not recommended, as some sites may break.
|
||||
# - same-domain: Only send the Referer for the same domain. This will still protect your privacy, but shouldn't break any sites. With QtWebEngine, the referer will still be sent for other domains, but with stripped path information.
|
||||
c.content.headers.referer = "same-domain"
|
||||
|
||||
# User agent to send. The following placeholders are defined: *
|
||||
# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`:
|
||||
# The underlying WebKit version (set to a fixed value with
|
||||
# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for
|
||||
# QtWebEngine. * `{qt_version}`: The underlying Qt version. *
|
||||
# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for
|
||||
# QtWebEngine. * `{upstream_browser_version}`: The corresponding
|
||||
# Safari/Chrome version. * `{qutebrowser_version}`: The currently
|
||||
# running qutebrowser version. The default value is equal to the
|
||||
# unchanged user agent of QtWebKit/QtWebEngine. Note that the value
|
||||
# read from JavaScript is always the global value. With QtWebEngine
|
||||
# between 5.12 and 5.14 (inclusive), changing the value exposed to
|
||||
# JavaScript requires a restart.
|
||||
# Type: FormatString
|
||||
c.content.headers.user_agent = "Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {qt_key}/{qt_version} {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}"
|
||||
|
||||
# Enable hyperlink auditing (`<a ping>`).
|
||||
# Type: Bool
|
||||
c.content.hyperlink_auditing = False
|
||||
|
||||
# Load images automatically in web pages.
|
||||
# Type: Bool
|
||||
c.content.images = True
|
||||
|
||||
# Show javascript alerts.
|
||||
# Type: Bool
|
||||
c.content.javascript.alert = True
|
||||
|
||||
# Allow JavaScript to close tabs.
|
||||
# Type: Bool
|
||||
c.content.javascript.can_close_tabs = False
|
||||
|
||||
# Allow JavaScript to open new tabs without user interaction.
|
||||
# Type: Bool
|
||||
c.content.javascript.can_open_tabs_automatically = False
|
||||
|
||||
# Enable JavaScript.
|
||||
# Type: Bool
|
||||
c.content.javascript.enabled = True
|
||||
|
||||
# Log levels to use for JavaScript console logging messages. When a
|
||||
# JavaScript message with the level given in the dictionary key is
|
||||
# logged, the corresponding dictionary value selects the qutebrowser
|
||||
# logger to use. On QtWebKit, the "unknown" setting is always used. The
|
||||
# following levels are valid: `none`, `debug`, `info`, `warning`,
|
||||
# `error`.
|
||||
# Type: Dict
|
||||
c.content.javascript.log = {
|
||||
"unknown": "debug",
|
||||
"info": "debug",
|
||||
"warning": "debug",
|
||||
"error": "debug",
|
||||
}
|
||||
|
||||
# Use the standard JavaScript modal dialog for `alert()` and
|
||||
# `confirm()`.
|
||||
# Type: Bool
|
||||
c.content.javascript.modal_dialog = False
|
||||
|
||||
# Show javascript prompts.
|
||||
# Type: Bool
|
||||
c.content.javascript.prompt = True
|
||||
|
||||
# Allow locally loaded documents to access other local URLs.
|
||||
# Type: Bool
|
||||
c.content.local_content_can_access_file_urls = True
|
||||
|
||||
# Allow locally loaded documents to access remote URLs.
|
||||
# Type: Bool
|
||||
c.content.local_content_can_access_remote_urls = False
|
||||
|
||||
# Enable support for HTML 5 local storage and Web SQL.
|
||||
# Type: Bool
|
||||
c.content.local_storage = True
|
||||
|
||||
# Allow websites to record audio.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.media.audio_capture = "ask"
|
||||
|
||||
# Allow websites to record audio and video.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.media.audio_video_capture = "ask"
|
||||
|
||||
# Allow websites to record video.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.media.video_capture = "ask"
|
||||
|
||||
# Allow websites to lock your mouse pointer.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.mouse_lock = "ask"
|
||||
|
||||
# Automatically mute tabs. Note that if the `:tab-mute` command is used,
|
||||
# the mute status for the affected tab is now controlled manually, and
|
||||
# this setting doesn't have any effect.
|
||||
# Type: Bool
|
||||
c.content.mute = False
|
||||
|
||||
# Netrc-file for HTTP authentication. If unset, `~/.netrc` is used.
|
||||
# Type: File
|
||||
c.content.netrc_file = None
|
||||
|
||||
# Allow websites to show notifications.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.notifications.enabled = "ask"
|
||||
|
||||
# What notification presenter to use for web notifications. Note that
|
||||
# not all implementations support all features of notifications: - With
|
||||
# PyQt 5.14, any setting other than `qt` does not support the `click`
|
||||
# and `close` events, as well as the `tag` option to replace existing
|
||||
# notifications. - The `qt` and `systray` options only support showing
|
||||
# one notification at the time and ignore the `tag` option to replace
|
||||
# existing notifications. - The `herbe` option only supports showing one
|
||||
# notification at the time and doesn't show icons. - The `messages`
|
||||
# option doesn't show icons and doesn't support the `click` and
|
||||
# `close` events.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - auto: Tries `libnotify`, `systray` and `messages`, uses the first one available without showing error messages.
|
||||
# - qt: Use Qt's native notification presenter, based on a system tray icon. Switching from or to this value requires a restart of qutebrowser. Recommended over `systray` on PyQt 5.14.
|
||||
# - libnotify: Shows messages via DBus in a libnotify-compatible way. If DBus isn't available, falls back to `systray` or `messages`, but shows an error message.
|
||||
# - systray: Use a notification presenter based on a systray icon. Falls back to `libnotify` or `messages` if not systray is available. This is a reimplementation of the `qt` setting value, but with the possibility to switch to it at runtime.
|
||||
# - messages: Show notifications as qutebrowser messages. Most notification features aren't available.
|
||||
# - herbe: (experimental!) Show notifications using herbe (github.com/dudik/herbe). Most notification features aren't available.
|
||||
c.content.notifications.presenter = "auto"
|
||||
|
||||
# Whether to show the origin URL for notifications. Note that URL
|
||||
# patterns with this setting only get matched against the origin part of
|
||||
# the URL, so e.g. paths in patterns will never match. Note that with
|
||||
# the `qt` presenter, origins are never shown.
|
||||
# Type: Bool
|
||||
c.content.notifications.show_origin = True
|
||||
|
||||
# Allow pdf.js to view PDF files in the browser. Note that the files can
|
||||
# still be downloaded by clicking the download button in the pdf.js
|
||||
# viewer.
|
||||
# Type: Bool
|
||||
c.content.pdfjs = True
|
||||
|
||||
# Allow websites to request persistent storage quota via
|
||||
# `navigator.webkitPersistentStorage.requestQuota`.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.persistent_storage = "ask"
|
||||
|
||||
# Enable plugins in Web pages.
|
||||
# Type: Bool
|
||||
c.content.plugins = False
|
||||
|
||||
# Request websites to minimize non-essentials animations and motion.
|
||||
# This results in the `prefers-reduced-motion` CSS media query to
|
||||
# evaluate to `reduce` (rather than `no-preference`). On Windows, if
|
||||
# this setting is set to False, the system-wide animation setting is
|
||||
# considered.
|
||||
# Type: Bool
|
||||
c.content.prefers_reduced_motion = False
|
||||
|
||||
# Draw the background color and images also when the page is printed.
|
||||
# Type: Bool
|
||||
c.content.print_element_backgrounds = True
|
||||
|
||||
# Open new windows in private browsing mode which does not record
|
||||
# visited pages.
|
||||
# Type: Bool
|
||||
c.content.private_browsing = False
|
||||
|
||||
# Proxy to use. In addition to the listed values, you can use a
|
||||
# `socks://...` or `http://...` URL. Note that with QtWebEngine, it will
|
||||
# take a couple of seconds until the change is applied, if this value is
|
||||
# changed at runtime. Authentication for SOCKS proxies isn't supported
|
||||
# due to Chromium limitations.
|
||||
# Type: Proxy
|
||||
# Valid values:
|
||||
# - system: Use the system wide proxy.
|
||||
# - none: Don't use any proxy
|
||||
c.content.proxy = "system"
|
||||
|
||||
# Send DNS requests over the configured proxy.
|
||||
# Type: Bool
|
||||
c.content.proxy_dns_requests = True
|
||||
|
||||
# Allow websites to register protocol handlers via
|
||||
# `navigator.registerProtocolHandler`.
|
||||
# Type: BoolAsk
|
||||
# Valid values:
|
||||
# - true
|
||||
# - false
|
||||
# - ask
|
||||
c.content.register_protocol_handler = "ask"
|
||||
|
||||
# Enable quirks (such as faked user agent headers) needed to get
|
||||
# specific sites to work properly.
|
||||
# Type: Bool
|
||||
c.content.site_specific_quirks.enabled = True
|
||||
|
||||
# Disable a list of named quirks. The js-string-replaceall quirk is
|
||||
# needed for Nextcloud Calendar < 2.2.0 with QtWebEngine < 5.15.3.
|
||||
# However, the workaround is not fully compliant to the ECMAScript spec
|
||||
# and might cause issues on other websites, so it's disabled by default.
|
||||
# Type: FlagList
|
||||
# Valid values:
|
||||
# - ua-whatsapp
|
||||
# - ua-google
|
||||
# - ua-slack
|
||||
# - ua-googledocs
|
||||
# - js-whatsapp-web
|
||||
# - js-discord
|
||||
# - js-string-replaceall
|
||||
# - js-globalthis
|
||||
# - js-object-fromentries
|
||||
# - misc-krunker
|
||||
# - misc-mathml-darkmode
|
||||
c.content.site_specific_quirks.skip = ["js-string-replaceall"]
|
||||
|
||||
# How to proceed on TLS certificate errors.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - ask: Ask how to proceed for every certificate error (unless non-overridable due to HSTS).
|
||||
# - ask-block-thirdparty: Ask how to proceed for normal page loads, but silently block resource loads.
|
||||
# - block: Automatically block loading on certificate errors.
|
||||
# - load-insecurely: Force loading pages despite certificate errors. This is *insecure* and should be avoided. Instead of using this, consider fixing the underlying issue or importing a self-signed certificate via `certutil` (or Chromium) instead.
|
||||
c.content.tls.certificate_errors = "ask"
|
||||
|
||||
# How navigation requests to URLs with unknown schemes are handled.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - disallow: Disallows all navigation requests to URLs with unknown schemes.
|
||||
# - allow-from-user-interaction: Allows navigation requests to URLs with unknown schemes that are issued from user-interaction (like a mouse-click), whereas other navigation requests (for example from JavaScript) are suppressed.
|
||||
# - allow-all: Allows all navigation requests to URLs with unknown schemes.
|
||||
c.content.unknown_url_scheme_policy = "allow-from-user-interaction"
|
||||
|
||||
# List of user stylesheet filenames to use.
|
||||
# Type: List of File, or File
|
||||
c.content.user_stylesheets = []
|
||||
|
||||
# Enable WebGL.
|
||||
# Type: Bool
|
||||
c.content.webgl = True
|
||||
|
||||
# Which interfaces to expose via WebRTC.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - all-interfaces: WebRTC has the right to enumerate all interfaces and bind them to discover public interfaces.
|
||||
# - default-public-and-private-interfaces: WebRTC should only use the default route used by http. This also exposes the associated default private address. Default route is the route chosen by the OS on a multi-homed endpoint.
|
||||
# - default-public-interface-only: WebRTC should only use the default route used by http. This doesn't expose any local addresses.
|
||||
# - disable-non-proxied-udp: WebRTC should only use TCP to contact peers or servers unless the proxy server supports UDP. This doesn't expose any local addresses either.
|
||||
c.content.webrtc_ip_handling_policy = "all-interfaces"
|
||||
|
||||
# Monitor load requests for cross-site scripting attempts. Suspicious
|
||||
# scripts will be blocked and reported in the devtools JavaScript
|
||||
# console. Note that bypasses for the XSS auditor are widely known and
|
||||
# it can be abused for cross-site info leaks in some scenarios, see:
|
||||
# https://www.chromium.org/developers/design-documents/xss-auditor
|
||||
# Type: Bool
|
||||
c.content.xss_auditing = False
|
||||
52
.config/qutebrowser/downloads.py
Normal file
52
.config/qutebrowser/downloads.py
Normal file
@@ -0,0 +1,52 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Directory to save downloads to. If unset, a sensible OS-specific
|
||||
# default is used.
|
||||
# Type: Directory
|
||||
c.downloads.location.directory = None
|
||||
|
||||
# Prompt the user for the download location. If set to false,
|
||||
# `downloads.location.directory` will be used.
|
||||
# Type: Bool
|
||||
c.downloads.location.prompt = True
|
||||
|
||||
# Remember the last used download directory.
|
||||
# Type: Bool
|
||||
c.downloads.location.remember = True
|
||||
|
||||
# What to display in the download filename input.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - path: Show only the download path.
|
||||
# - filename: Show only download filename.
|
||||
# - both: Show download path and filename.
|
||||
c.downloads.location.suggestion = 'path'
|
||||
|
||||
# Default program used to open downloads. If null, the default internal
|
||||
# handler is used. Any `{}` in the string will be expanded to the
|
||||
# filename, else the filename will be appended.
|
||||
# Type: String
|
||||
c.downloads.open_dispatcher = None
|
||||
|
||||
# Where to show the downloaded files.
|
||||
# Type: VerticalPosition
|
||||
# Valid values:
|
||||
# - top
|
||||
# - bottom
|
||||
c.downloads.position = 'bottom'
|
||||
|
||||
# Automatically abort insecure (HTTP) downloads originating from secure
|
||||
# (HTTPS) pages. For per-domain settings, the relevant URL is the URL
|
||||
# initiating the download, not the URL the download itself is coming
|
||||
# from. It's not recommended to set this setting to false globally.
|
||||
# Type: Bool
|
||||
c.downloads.prevent_mixed_content = True
|
||||
|
||||
# Duration (in milliseconds) to wait before removing finished downloads.
|
||||
# If set to -1, downloads are never removed.
|
||||
# Type: Int
|
||||
c.downloads.remove_finished = 30000
|
||||
18
.config/qutebrowser/editor.py
Normal file
18
.config/qutebrowser/editor.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Editor (and arguments) to use for the `edit-*` commands. The following
|
||||
# placeholders are defined: * `{file}`: Filename of the file to be
|
||||
# edited. * `{line}`: Line in which the caret is found in the text. *
|
||||
# `{column}`: Column in which the caret is found in the text. *
|
||||
# `{line0}`: Same as `{line}`, but starting from index 0. * `{column0}`:
|
||||
# Same as `{column}`, but starting from index 0.
|
||||
# Type: ShellCommand
|
||||
c.editor.command = ['emacsclient', '-c', '+{line}:{column0}', '{file}']
|
||||
|
||||
# Encoding to use for the editor.
|
||||
# Type: Encoding
|
||||
c.editor.encoding = 'utf-8'
|
||||
42
.config/qutebrowser/fileselect.py
Normal file
42
.config/qutebrowser/fileselect.py
Normal file
@@ -0,0 +1,42 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
terminal = 'kitty'
|
||||
|
||||
# Command (and arguments) to use for selecting a single folder in forms.
|
||||
# The command should write the selected folder path to the specified
|
||||
# file or stdout. The following placeholders are defined: * `{}`:
|
||||
# Filename of the file to be written to. If not contained in any
|
||||
# argument, the standard output of the command is read instead.
|
||||
# Type: ShellCommand
|
||||
c.fileselect.folder.command = [terminal, '-e', 'ranger', '--choosedir={}']
|
||||
|
||||
# Handler for selecting file(s) in forms. If `external`, then the
|
||||
# commands specified by `fileselect.single_file.command` and
|
||||
# `fileselect.multiple_files.command` are used to select one or multiple
|
||||
# files respectively.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - default: Use the default file selector.
|
||||
# - external: Use an external command.
|
||||
c.fileselect.handler = 'default'
|
||||
|
||||
# Command (and arguments) to use for selecting multiple files in forms.
|
||||
# The command should write the selected file paths to the specified file
|
||||
# or to stdout, separated by newlines. The following placeholders are
|
||||
# defined: * `{}`: Filename of the file to be written to. If not
|
||||
# contained in any argument, the standard output of the command is
|
||||
# read instead.
|
||||
# Type: ShellCommand
|
||||
c.fileselect.multiple_files.command = ['xterm', '-e', 'ranger', '--choosefiles={}']
|
||||
|
||||
# Command (and arguments) to use for selecting a single file in forms.
|
||||
# The command should write the selected file path to the specified file
|
||||
# or stdout. The following placeholders are defined: * `{}`: Filename of
|
||||
# the file to be written to. If not contained in any argument, the
|
||||
# standard output of the command is read instead.
|
||||
# Type: ShellCommand
|
||||
c.fileselect.single_file.command = ['xterm', '-e', 'ranger', '--choosefile={}']
|
||||
165
.config/qutebrowser/hints.py
Normal file
165
.config/qutebrowser/hints.py
Normal file
@@ -0,0 +1,165 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# When a hint can be automatically followed without pressing Enter.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Auto-follow whenever there is only a single hint on a page.
|
||||
# - unique-match: Auto-follow whenever there is a unique non-empty match in either the hint string (word mode) or filter (number mode).
|
||||
# - full-match: Follow the hint when the user typed the whole hint (letter, word or number mode) or the element's text (only in number mode).
|
||||
# - never: The user will always need to press Enter to follow a hint.
|
||||
c.hints.auto_follow = 'unique-match'
|
||||
|
||||
# Duration (in milliseconds) to ignore normal-mode key bindings after a
|
||||
# successful auto-follow.
|
||||
# Type: Int
|
||||
c.hints.auto_follow_timeout = 0
|
||||
|
||||
# CSS border value for hints.
|
||||
# Type: String
|
||||
c.hints.border = '1px solid #ebcb8b'
|
||||
|
||||
# Characters used for hint strings.
|
||||
# Type: UniqueCharString
|
||||
c.hints.chars = 'auie,ctsr'
|
||||
|
||||
# Dictionary file to be used by the word hints.
|
||||
# Type: File
|
||||
c.hints.dictionary = '/usr/share/dict/words'
|
||||
|
||||
# Which implementation to use to find elements to hint.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - javascript: Better but slower
|
||||
# - python: Slightly worse but faster
|
||||
c.hints.find_implementation = 'python'
|
||||
|
||||
# Hide unmatched hints in rapid mode.
|
||||
# Type: Bool
|
||||
c.hints.hide_unmatched_rapid_hints = True
|
||||
|
||||
# Leave hint mode when starting a new page load.
|
||||
# Type: Bool
|
||||
c.hints.leave_on_load = False
|
||||
|
||||
# Minimum number of characters used for hint strings.
|
||||
# Type: Int
|
||||
c.hints.min_chars = 2
|
||||
|
||||
# Mode to use for hints.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - number: Use numeric hints. (In this mode you can also type letters from the hinted element to filter and reduce the number of elements that are hinted.)
|
||||
# - letter: Use the characters in the `hints.chars` setting.
|
||||
# - word: Use hints words based on the html elements and the extra words.
|
||||
c.hints.mode = 'letter'
|
||||
|
||||
# Comma-separated list of regular expressions to use for 'next' links.
|
||||
# Type: List of Regex
|
||||
c.hints.next_regexes = [
|
||||
'\\bnext\\b',
|
||||
'\\bmore\\b',
|
||||
'\\bnewer\\b',
|
||||
'\\b[>→≫]\\b',
|
||||
'\\b(>>|»)\\b',
|
||||
'\\bcontinue\\b'
|
||||
]
|
||||
|
||||
# Padding (in pixels) for hints.
|
||||
# Type: Padding
|
||||
c.hints.padding = {
|
||||
'top': 0,
|
||||
'bottom': 0,
|
||||
'left': 3,
|
||||
'right': 3
|
||||
}
|
||||
|
||||
# Comma-separated list of regular expressions to use for 'prev' links.
|
||||
# Type: List of Regex
|
||||
c.hints.prev_regexes = [
|
||||
'\\bprev(ious)?\\b',
|
||||
'\\bback\\b',
|
||||
'\\bolder\\b',
|
||||
'\\b[<←≪]\\b',
|
||||
'\\b(<<|«)\\b'
|
||||
]
|
||||
|
||||
# Rounding radius (in pixels) for the edges of hints.
|
||||
# Type: Int
|
||||
c.hints.radius = 3
|
||||
|
||||
# Scatter hint key chains (like Vimium) or not (like dwb). Ignored for
|
||||
# number hints.
|
||||
# Type: Bool
|
||||
c.hints.scatter = True
|
||||
|
||||
# CSS selectors used to determine which elements on a page should have
|
||||
# hints.
|
||||
# Type: Dict
|
||||
c.hints.selectors = {
|
||||
'all': [
|
||||
'a',
|
||||
'area',
|
||||
'textarea',
|
||||
'select',
|
||||
'input:not([type="hidden"])',
|
||||
'button',
|
||||
'frame',
|
||||
'iframe',
|
||||
'img',
|
||||
'link',
|
||||
'summary',
|
||||
'[contenteditable]:not([contenteditable="false"])',
|
||||
'[onclick]',
|
||||
'[onmousedown]',
|
||||
'[role="link"]',
|
||||
'[role="option"]',
|
||||
'[role="button"]',
|
||||
'[ng-click]',
|
||||
'[ngClick]',
|
||||
'[data-ng-click]',
|
||||
'[x-ng-click]',
|
||||
'[tabindex]'
|
||||
],
|
||||
'links': [
|
||||
'a[href]',
|
||||
'area[href]',
|
||||
'link[href]',
|
||||
'[role="link"][href]'
|
||||
],
|
||||
'images': [
|
||||
'img'
|
||||
],
|
||||
'media': [
|
||||
'audio',
|
||||
'img',
|
||||
'video'
|
||||
],
|
||||
'url': [
|
||||
'[src]',
|
||||
'[href]'
|
||||
],
|
||||
'inputs': [
|
||||
'input[type="text"]',
|
||||
'input[type="date"]',
|
||||
'input[type="datetime-local"]',
|
||||
'input[type="email"]',
|
||||
'input[type="month"]',
|
||||
'input[type="number"]',
|
||||
'input[type="password"]',
|
||||
'input[type="search"]',
|
||||
'input[type="tel"]',
|
||||
'input[type="time"]',
|
||||
'input[type="url"]',
|
||||
'input[type="week"]',
|
||||
'input:not([type])',
|
||||
'[contenteditable]:not([contenteditable="false"])',
|
||||
'textarea'
|
||||
]}
|
||||
|
||||
# Make characters in hint strings uppercase.
|
||||
# Type: Bool
|
||||
c.hints.uppercase = False
|
||||
70
.config/qutebrowser/input.py
Normal file
70
.config/qutebrowser/input.py
Normal file
@@ -0,0 +1,70 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Which unbound keys to forward to the webview in normal mode.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - all: Forward all unbound keys.
|
||||
# - auto: Forward unbound non-alphanumeric keys.
|
||||
# - none: Don't forward any keys.
|
||||
c.input.forward_unbound_keys = 'auto'
|
||||
|
||||
# Enter insert mode if an editable element is clicked.
|
||||
# Type: Bool
|
||||
c.input.insert_mode.auto_enter = True
|
||||
|
||||
# Leave insert mode if a non-editable element is clicked.
|
||||
# Type: Bool
|
||||
c.input.insert_mode.auto_leave = True
|
||||
|
||||
# Automatically enter insert mode if an editable element is focused
|
||||
# after loading the page.
|
||||
# Type: Bool
|
||||
c.input.insert_mode.auto_load = False
|
||||
|
||||
# Leave insert mode when starting a new page load. Patterns may be
|
||||
# unreliable on this setting, and they may match the url you are
|
||||
# navigating to, or the URL you are navigating from.
|
||||
# Type: Bool
|
||||
c.input.insert_mode.leave_on_load = True
|
||||
|
||||
# Switch to insert mode when clicking flash and other plugins.
|
||||
# Type: Bool
|
||||
c.input.insert_mode.plugins = True
|
||||
|
||||
# Include hyperlinks in the keyboard focus chain when tabbing.
|
||||
# Type: Bool
|
||||
c.input.links_included_in_focus_chain = True
|
||||
|
||||
# Whether the underlying Chromium should handle media keys. On Linux,
|
||||
# disabling this also disables Chromium's MPRIS integration.
|
||||
# Type: Bool
|
||||
c.input.media_keys = True
|
||||
|
||||
# Enable back and forward buttons on the mouse.
|
||||
# Type: Bool
|
||||
c.input.mouse.back_forward_buttons = True
|
||||
|
||||
# Enable Opera-like mouse rocker gestures. This disables the context
|
||||
# menu.
|
||||
# Type: Bool
|
||||
c.input.mouse.rocker_gestures = False
|
||||
|
||||
# Timeout (in milliseconds) for partially typed key bindings. If the
|
||||
# current input forms only partial matches, the keystring will be
|
||||
# cleared after this time. If set to 0, partially typed bindings are
|
||||
# never cleared.
|
||||
# Type: Int
|
||||
c.input.partial_timeout = 0
|
||||
|
||||
# Enable spatial navigation. Spatial navigation consists in the ability
|
||||
# to navigate between focusable elements in a Web page, such as
|
||||
# hyperlinks and form controls, by using Left, Right, Up and Down arrow
|
||||
# keys. For example, if the user presses the Right key, heuristics
|
||||
# determine whether there is an element he might be trying to reach
|
||||
# towards the right and which element he probably wants.
|
||||
# Type: Bool
|
||||
c.input.spatial_navigation = False
|
||||
393
.config/qutebrowser/keybinds.py
Normal file
393
.config/qutebrowser/keybinds.py
Normal file
@@ -0,0 +1,393 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# config.bind(',v', 'spawn mpv {url}')
|
||||
# config.bind(',d', 'spawn ytdl {url}')
|
||||
|
||||
# bookmarks
|
||||
config.bind(",ba", "bookmark-add")
|
||||
config.bind(",bb", "cmd-set-text -s :bookmark-load")
|
||||
config.bind(",bl", "bookmark-list")
|
||||
config.bind(",bj", "bookmark-list --jump")
|
||||
config.bind(",bt", "cmd-set-text -s :bookmark-load -t")
|
||||
config.bind(",bw", "cmd-set-text -s :bookmark-load -w")
|
||||
config.bind(",bql", "cmd-set-text -s :quickmark-load")
|
||||
config.bind(",bqL", "cmd-set-text -s :quickmark-load -t")
|
||||
config.bind(",bqs", "quickmark-save")
|
||||
config.bind(",bqw", "cmd-set-text -s :quickmark-load -w")
|
||||
|
||||
# config cycle
|
||||
config.bind(
|
||||
",cCH",
|
||||
"config-cycle -p -u *://*.{url:host}/* content.cookies.accept all no-3rdparty never ;; reload",
|
||||
)
|
||||
config.bind(
|
||||
",cCh",
|
||||
"config-cycle -p -u *://{url:host}/* content.cookies.accept all no-3rdparty never ;; reload",
|
||||
)
|
||||
config.bind(
|
||||
",cCu",
|
||||
"config-cycle -p -u {url} content.cookies.accept all no-3rdparty never ;; reload",
|
||||
)
|
||||
config.bind(",cIH", "config-cycle -p -u *://*.{url:host}/* content.images ;; reload")
|
||||
config.bind(",cIh", "config-cycle -p -u *://{url:host}/* content.images ;; reload")
|
||||
config.bind(",cIu", "config-cycle -p -u {url} content.images ;; reload")
|
||||
config.bind(",cPH", "config-cycle -p -u *://*.{url:host}/* content.plugins ;; reload")
|
||||
config.bind(",cPh", "config-cycle -p -u *://{url:host}/* content.plugins ;; reload")
|
||||
config.bind(",cPu", "config-cycle -p -u {url} content.plugins ;; reload")
|
||||
config.bind(
|
||||
",cSH", "config-cycle -p -u *://*.{url:host}/* content.javascript.enabled ;; reload"
|
||||
)
|
||||
config.bind(
|
||||
",cSh", "config-cycle -p -u *://{url:host}/* content.javascript.enabled ;; reload"
|
||||
)
|
||||
config.bind(",cSu", "config-cycle -p -u {url} content.javascript.enabled ;; reload")
|
||||
config.bind(
|
||||
",ccH",
|
||||
"config-cycle -p -t -u *://*.{url:host}/* content.cookies.accept all no-3rdparty never ;; reload",
|
||||
)
|
||||
config.bind(
|
||||
",cch",
|
||||
"config-cycle -p -t -u *://{url:host}/* content.cookies.accept all no-3rdparty never ;; reload",
|
||||
)
|
||||
config.bind(
|
||||
",ccu",
|
||||
"config-cycle -p -t -u {url} content.cookies.accept all no-3rdparty never ;; reload",
|
||||
)
|
||||
config.bind(",ch", "back -t")
|
||||
config.bind(",ciH", "config-cycle -p -t -u *://*.{url:host}/* content.images ;; reload")
|
||||
config.bind(",cih", "config-cycle -p -t -u *://{url:host}/* content.images ;; reload")
|
||||
config.bind(",ciu", "config-cycle -p -t -u {url} content.images ;; reload")
|
||||
config.bind(",cl", "forward -t")
|
||||
config.bind(
|
||||
",cpH", "config-cycle -p -t -u *://*.{url:host}/* content.plugins ;; reload"
|
||||
)
|
||||
config.bind(",cph", "config-cycle -p -t -u *://{url:host}/* content.plugins ;; reload")
|
||||
config.bind(",cpu", "config-cycle -p -t -u {url} content.plugins ;; reload")
|
||||
config.bind(
|
||||
",csH",
|
||||
"config-cycle -p -t -u *://*.{url:host}/* content.javascript.enabled ;; reload",
|
||||
)
|
||||
config.bind(
|
||||
",csh",
|
||||
"config-cycle -p -t -u *://{url:host}/* content.javascript.enabled ;; reload",
|
||||
)
|
||||
config.bind(",csu", "config-cycle -p -t -u {url} content.javascript.enabled ;; reload")
|
||||
|
||||
# downloads
|
||||
config.bind(",da", "download-cancel")
|
||||
config.bind(",dd", "download")
|
||||
config.bind(",dc", "download-clear")
|
||||
config.bind(",dy", "spawn ytdl {url}")
|
||||
|
||||
# dev tools
|
||||
config.bind(",Dd", "devtools")
|
||||
config.bind(",Df", "devtools-focus")
|
||||
config.bind(",Dc", "devtools left")
|
||||
config.bind(",Dt", "devtools bottom")
|
||||
config.bind(",Ds", "devtools top")
|
||||
config.bind(",Dr", "devtools right")
|
||||
config.bind(",Dw", "devtools window")
|
||||
|
||||
# save
|
||||
config.bind("fs", "save")
|
||||
|
||||
# hints
|
||||
config.bind(",hd", "hint links download")
|
||||
config.bind(",hh", "hint")
|
||||
config.bind(",hH", "hint all hover")
|
||||
config.bind(",hii", "hint images")
|
||||
config.bind(",hiI", "hint images tab")
|
||||
config.bind(",hIi", "hint inputs")
|
||||
config.bind(",hIf", "hint inputs --first")
|
||||
config.bind(",hO", "hint links fill :open -t -r {hint-url}")
|
||||
config.bind(",ho", "hint links fill :open {hint-url}")
|
||||
config.bind(",hR", "hint --rapid links window")
|
||||
config.bind(",hr", "hint --rapid links tab-bg")
|
||||
config.bind(",htb", "hint all tab-bg")
|
||||
config.bind(",htf", "hint all tab-fg")
|
||||
config.bind(",htt", "hint all tab")
|
||||
config.bind(",hw", "hint all window")
|
||||
config.bind(",hy", "hint links yank")
|
||||
config.bind(",hY", "hint links yank-primary")
|
||||
# Bindings for hint mode
|
||||
config.bind("<Ctrl-B>", "hint all tab-bg", mode="hint")
|
||||
config.bind("<Ctrl-F>", "hint links", mode="hint")
|
||||
config.bind("<Ctrl-R>", "hint --rapid links tab-bg", mode="hint")
|
||||
config.bind("<Escape>", "mode-leave", mode="hint")
|
||||
config.bind("<Return>", "hint-follow", mode="hint")
|
||||
|
||||
# Move
|
||||
config.bind("<Ctrl-PgDown>", "tab-next")
|
||||
config.bind("<Ctrl-C>", "back -w")
|
||||
config.bind("<Ctrl-R>", "forward -w")
|
||||
config.bind("<Ctrl-h>", "home")
|
||||
config.bind("T", "tab-next")
|
||||
config.bind("S", "tab-prev")
|
||||
config.bind("C", "back")
|
||||
config.bind("R", "forward")
|
||||
|
||||
# cmd
|
||||
config.bind(",sb", "cmd-set-text -s :bind")
|
||||
config.bind(",st", "cmd-set-text -s :set -t")
|
||||
config.bind(",ss", "set")
|
||||
config.bind(",sS", "cmd-set-text -s :set")
|
||||
|
||||
# open
|
||||
config.bind("<Ctrl-N>", "open -w")
|
||||
config.bind("<Ctrl-Shift-N>", "open -p")
|
||||
config.bind("<Ctrl-T>", "open -t")
|
||||
config.bind(",ob", "cmd-set-text -s :open -b")
|
||||
config.bind(",oB", "cmd-set-text :open -b -r {url:pretty}")
|
||||
config.bind(",oP", "cmd-set-text :open -t -r {url:pretty}")
|
||||
config.bind(",ott", "open -t")
|
||||
config.bind(",otT", "cmd-set-text -s :open -t")
|
||||
config.bind(",ow", "cmd-set-text -s :open -w")
|
||||
config.bind(",oW", "cmd-set-text :open -w {url:pretty}")
|
||||
config.bind(",occ", "open -- {clipboard}")
|
||||
config.bind(",ocC", "open -t -- {clipboard}")
|
||||
config.bind(",ocp", "open -- {primary}")
|
||||
config.bind(",ocP", "open -t -- {primary}")
|
||||
config.bind(",ocw", "open -w -- {clipboard}")
|
||||
config.bind(",ocW", "open -w -- {primary}")
|
||||
config.bind("o", "cmd-set-text -s :open")
|
||||
config.bind("O", "cmd-set-text :open {url:pretty}")
|
||||
|
||||
# tabs
|
||||
config.bind("<Alt-1>", "tab-focus 1")
|
||||
config.bind("<Alt-2>", "tab-focus 2")
|
||||
config.bind("<Alt-3>", "tab-focus 3")
|
||||
config.bind("<Alt-4>", "tab-focus 4")
|
||||
config.bind("<Alt-5>", "tab-focus 5")
|
||||
config.bind("<Alt-6>", "tab-focus 6")
|
||||
config.bind("<Alt-7>", "tab-focus 7")
|
||||
config.bind("<Alt-8>", "tab-focus 8")
|
||||
config.bind("<Alt-9>", "tab-focus -1")
|
||||
config.bind("<Alt-m>", "tab-mute")
|
||||
config.bind("<Ctrl-Tab>", "tab-focus last")
|
||||
config.bind("<Ctrl-W>", "tab-close")
|
||||
config.bind(",tT", "tab-move +")
|
||||
config.bind(",tS", "tab-move -")
|
||||
config.bind(",tn", "tab-next")
|
||||
config.bind(",tp", "tab-prev")
|
||||
config.bind(",t«", "tab-focus -1")
|
||||
config.bind(",t»", "tab-focus 1")
|
||||
config.bind(",tC", "tab-clone")
|
||||
config.bind(",tD", "tab-only")
|
||||
config.bind(",td", "tab-close")
|
||||
config.bind(",tf", "cmd-set-text -sr :tab-focus")
|
||||
config.bind(",tg", "tab-give")
|
||||
config.bind(",tl", "tab-focus last")
|
||||
config.bind(",tm", "tab-move")
|
||||
config.bind(",tP", "tab-pin")
|
||||
config.bind(",ts", "cmd-set-text -s :tab-select")
|
||||
|
||||
# scoll
|
||||
config.bind("G", "scroll-to-perc")
|
||||
config.bind("gg", "scroll-to-perc 0")
|
||||
config.bind("c", "scroll left")
|
||||
config.bind("t", "scroll down")
|
||||
config.bind("s", "scroll up")
|
||||
config.bind("r", "scroll right")
|
||||
config.bind("<Ctrl-F>", "scroll-page 0 1")
|
||||
config.bind("<Ctrl-B>", "scroll-page 0 -1")
|
||||
config.bind("<Ctrl-D>", "scroll-page 0 0.5")
|
||||
config.bind("<Ctrl-U>", "scroll-page 0 -0.5")
|
||||
|
||||
# navigate
|
||||
config.bind(",nd", "navigate decrement")
|
||||
config.bind(",ni", "navigate increment")
|
||||
config.bind(",nn", "navigate prev")
|
||||
config.bind(",nN", "navigate next -t")
|
||||
config.bind(",np", "navigate next")
|
||||
config.bind(",nP", "navigate prev -t")
|
||||
config.bind(",nu", "navigate up")
|
||||
config.bind(",nU", "navigate up -t")
|
||||
|
||||
# search
|
||||
config.bind("n", "search-next")
|
||||
config.bind("N", "search-prev")
|
||||
|
||||
# print
|
||||
config.bind("<Ctrl-Alt-p>", "print")
|
||||
|
||||
config.bind(",qq", "quit")
|
||||
config.bind(",qs", "quit --save")
|
||||
config.bind(",qw", "close")
|
||||
config.bind("<Ctrl-Q>", "quit")
|
||||
|
||||
# reload
|
||||
config.bind(",rr", "reload")
|
||||
config.bind(",rR", "reload -f")
|
||||
config.bind("<F5>", "reload")
|
||||
config.bind("<Ctrl-F5>", "reload -f")
|
||||
|
||||
# view
|
||||
config.bind(",vh", "history")
|
||||
config.bind(",vs", "view-source")
|
||||
config.bind(",vm", "spawn mpv {url}")
|
||||
|
||||
# yank
|
||||
config.bind("yd", "yank domain")
|
||||
config.bind("yD", "yank domain -s")
|
||||
config.bind("yi", "yank inline [{title}]({url})")
|
||||
config.bind("yI", "yank inline [{title}]({url}) -s")
|
||||
config.bind("yp", "yank pretty-url")
|
||||
config.bind("yP", "yank pretty-url -s")
|
||||
config.bind("yt", "yank title")
|
||||
config.bind("yT", "yank title -s")
|
||||
config.bind("yy", "yank")
|
||||
config.bind("yY", "yank -s")
|
||||
|
||||
config.bind("<Escape>", "clear-keychain ;; search ;; fullscreen --leave")
|
||||
|
||||
config.bind("+", "zoom-in")
|
||||
config.bind("-", "zoom-out")
|
||||
config.bind("=", "zoom")
|
||||
|
||||
config.bind("?", "cmd-set-text ?")
|
||||
config.bind("/", "cmd-set-text /")
|
||||
config.bind(":", "cmd-set-text :")
|
||||
config.bind(".", "repeat-command")
|
||||
|
||||
config.bind("<Ctrl-Shift-Tab>", "nop")
|
||||
config.bind("<Ctrl-s>", "stop")
|
||||
config.bind("<F11>", "fullscreen")
|
||||
|
||||
config.bind("<Return>", "selection-follow")
|
||||
config.bind("<Ctrl-Return>", "selection-follow -t")
|
||||
|
||||
config.bind("<back>", "back")
|
||||
config.bind("<forward>", "forward")
|
||||
|
||||
|
||||
config.bind("<Ctrl-V>", "mode-enter passthrough")
|
||||
config.bind("'", "mode-enter jump_mark")
|
||||
config.bind("v", "mode-enter caret")
|
||||
config.bind("V", "mode-enter caret ;; selection-toggle --line")
|
||||
config.bind("`", "mode-enter set_mark")
|
||||
config.bind("i", "mode-enter insert")
|
||||
|
||||
config.bind("q", "macro-record")
|
||||
config.bind("@", "macro-run")
|
||||
|
||||
config.bind("U", "undo -w")
|
||||
config.bind("<Ctrl-Shift-T>", "undo")
|
||||
config.bind("u", "undo")
|
||||
|
||||
# Bindings for caret mode
|
||||
config.bind("C", "scroll left", mode="caret")
|
||||
config.bind("T", "scroll down", mode="caret")
|
||||
config.bind("S", "scroll up", mode="caret")
|
||||
config.bind("R", "scroll right", mode="caret")
|
||||
config.bind("c", "move-to-prev-char", mode="caret")
|
||||
config.bind("t", "move-to-next-line", mode="caret")
|
||||
config.bind("s", "move-to-prev-line", mode="caret")
|
||||
config.bind("r", "move-to-next-char", mode="caret")
|
||||
|
||||
config.bind("$", "move-to-end-of-line", mode="caret")
|
||||
config.bind("0", "move-to-start-of-line", mode="caret")
|
||||
config.bind("<Ctrl-Space>", "selection-drop", mode="caret")
|
||||
config.bind("<Escape>", "mode-leave", mode="caret")
|
||||
config.bind("<Return>", "yank selection", mode="caret")
|
||||
config.bind("<Space>", "selection-toggle", mode="caret")
|
||||
config.bind("v", "selection-toggle", mode="caret")
|
||||
config.bind("V", "selection-toggle --line", mode="caret")
|
||||
config.bind("y", "yank selection", mode="caret")
|
||||
config.bind("Y", "yank selection -s", mode="caret")
|
||||
config.bind("[", "move-to-start-of-prev-block", mode="caret")
|
||||
config.bind("]", "move-to-start-of-next-block", mode="caret")
|
||||
config.bind("{", "move-to-end-of-prev-block", mode="caret")
|
||||
config.bind("}", "move-to-end-of-next-block", mode="caret")
|
||||
config.bind("b", "move-to-prev-word", mode="caret")
|
||||
config.bind("e", "move-to-end-of-word", mode="caret")
|
||||
config.bind("gg", "move-to-start-of-document", mode="caret")
|
||||
config.bind("G", "move-to-end-of-document", mode="caret")
|
||||
config.bind("n", "mode-enter normal", mode="caret")
|
||||
config.bind("o", "selection-reverse", mode="caret")
|
||||
config.bind("w", "move-to-next-word", mode="caret")
|
||||
|
||||
# Bindings for command mode
|
||||
config.bind("<Alt-B>", "rl-backward-word", mode="command")
|
||||
config.bind("<Alt-Backspace>", "rl-backward-kill-word", mode="command")
|
||||
config.bind("<Alt-D>", "rl-kill-word", mode="command")
|
||||
config.bind("<Alt-F>", "rl-forward-word", mode="command")
|
||||
config.bind("<Ctrl-?>", "rl-delete-char", mode="command")
|
||||
config.bind("<Ctrl-A>", "rl-beginning-of-line", mode="command")
|
||||
config.bind("<Ctrl-B>", "rl-backward-char", mode="command")
|
||||
config.bind("<Ctrl-C>", "completion-item-yank", mode="command")
|
||||
config.bind("<Ctrl-D>", "completion-item-del", mode="command")
|
||||
config.bind("<Ctrl-E>", "rl-end-of-line", mode="command")
|
||||
config.bind("<Ctrl-F>", "rl-forward-char", mode="command")
|
||||
config.bind("<Ctrl-H>", "rl-backward-delete-char", mode="command")
|
||||
config.bind("<Ctrl-K>", "rl-kill-line", mode="command")
|
||||
config.bind("<Ctrl-N>", "command-history-next", mode="command")
|
||||
config.bind("<Ctrl-P>", "command-history-prev", mode="command")
|
||||
config.bind("<Ctrl-Return>", "command-accept --rapid", mode="command")
|
||||
config.bind("<Ctrl-Shift-C>", "completion-item-yank --sel", mode="command")
|
||||
config.bind("<Ctrl-Shift-Tab>", "completion-item-focus prev-category", mode="command")
|
||||
config.bind("<Ctrl-Tab>", "completion-item-focus next-category", mode="command")
|
||||
config.bind("<Ctrl-U>", "rl-unix-line-discard", mode="command")
|
||||
config.bind("<Ctrl-W>", "rl-unix-word-rubout", mode="command")
|
||||
config.bind("<Ctrl-Y>", "rl-yank", mode="command")
|
||||
config.bind("<Down>", "completion-item-focus --history next", mode="command")
|
||||
config.bind("<Escape>", "mode-leave", mode="command")
|
||||
config.bind("<PgDown>", "completion-item-focus next-page", mode="command")
|
||||
config.bind("<PgUp>", "completion-item-focus prev-page", mode="command")
|
||||
config.bind("<Return>", "command-accept", mode="command")
|
||||
config.bind("<Shift-Delete>", "completion-item-del", mode="command")
|
||||
config.bind("<Shift-Tab>", "completion-item-focus prev", mode="command")
|
||||
config.bind("<Tab>", "completion-item-focus next", mode="command")
|
||||
config.bind("<Up>", "completion-item-focus --history prev", mode="command")
|
||||
|
||||
# Bindings for insert mode
|
||||
config.bind("<Ctrl-E>", "edit-text", mode="insert")
|
||||
config.bind("<Escape>", "mode-leave", mode="insert")
|
||||
config.bind("<Shift-Escape>", "fake-key <Escape>", mode="insert")
|
||||
config.bind("<Shift-Ins>", "insert-text -- {primary}", mode="insert")
|
||||
|
||||
# Bindings for passthrough mode
|
||||
config.bind("<Shift-Escape>", "mode-leave", mode="passthrough")
|
||||
|
||||
# Bindings for prompt mode
|
||||
config.bind("<Alt-B>", "rl-backward-word", mode="prompt")
|
||||
config.bind("<Alt-Backspace>", "rl-backward-kill-word", mode="prompt")
|
||||
config.bind("<Alt-D>", "rl-kill-word", mode="prompt")
|
||||
config.bind("<Alt-F>", "rl-forward-word", mode="prompt")
|
||||
config.bind("<Alt-Shift-Y>", "prompt-yank --sel", mode="prompt")
|
||||
config.bind("<Alt-Y>", "prompt-yank", mode="prompt")
|
||||
config.bind("<Ctrl-?>", "rl-delete-char", mode="prompt")
|
||||
config.bind("<Ctrl-A>", "rl-beginning-of-line", mode="prompt")
|
||||
config.bind("<Ctrl-B>", "rl-backward-char", mode="prompt")
|
||||
config.bind("<Ctrl-E>", "rl-end-of-line", mode="prompt")
|
||||
config.bind("<Ctrl-F>", "rl-forward-char", mode="prompt")
|
||||
config.bind("<Ctrl-H>", "rl-backward-delete-char", mode="prompt")
|
||||
config.bind("<Ctrl-K>", "rl-kill-line", mode="prompt")
|
||||
config.bind("<Ctrl-P>", "prompt-open-download --pdfjs", mode="prompt")
|
||||
config.bind("<Ctrl-U>", "rl-unix-line-discard", mode="prompt")
|
||||
config.bind("<Ctrl-W>", "rl-unix-word-rubout", mode="prompt")
|
||||
config.bind("<Ctrl-X>", "prompt-open-download", mode="prompt")
|
||||
config.bind("<Ctrl-Y>", "rl-yank", mode="prompt")
|
||||
config.bind("<Down>", "prompt-item-focus next", mode="prompt")
|
||||
config.bind("<Escape>", "mode-leave", mode="prompt")
|
||||
config.bind("<Return>", "prompt-accept", mode="prompt")
|
||||
config.bind("<Shift-Tab>", "prompt-item-focus prev", mode="prompt")
|
||||
config.bind("<Tab>", "prompt-item-focus next", mode="prompt")
|
||||
config.bind("<Up>", "prompt-item-focus prev", mode="prompt")
|
||||
|
||||
# Bindings for register mode
|
||||
config.bind("<Escape>", "mode-leave", mode="register")
|
||||
|
||||
# Bindings for yesno mode
|
||||
config.bind("<Alt-Shift-Y>", "prompt-yank --sel", mode="yesno")
|
||||
config.bind("<Alt-Y>", "prompt-yank", mode="yesno")
|
||||
config.bind("<Escape>", "mode-leave", mode="yesno")
|
||||
config.bind("<Return>", "prompt-accept", mode="yesno")
|
||||
config.bind("N", "prompt-accept --save no", mode="yesno")
|
||||
config.bind("Y", "prompt-accept --save yes", mode="yesno")
|
||||
config.bind("n", "prompt-accept no", mode="yesno")
|
||||
config.bind("y", "prompt-accept yes", mode="yesno")
|
||||
1
.config/qutebrowser/nord.py
Symbolic link
1
.config/qutebrowser/nord.py
Symbolic link
@@ -0,0 +1 @@
|
||||
../../fromGIT/qutebrowser-nord/nord-qutebrowser.py
|
||||
44
.config/qutebrowser/statusbar.py
Normal file
44
.config/qutebrowser/statusbar.py
Normal file
@@ -0,0 +1,44 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Padding (in pixels) for the statusbar.
|
||||
# Type: Padding
|
||||
c.statusbar.padding = {'top': 1, 'bottom': 1, 'left': 0, 'right': 0}
|
||||
|
||||
# Position of the status bar.
|
||||
# Type: VerticalPosition
|
||||
# Valid values:
|
||||
# - top
|
||||
# - bottom
|
||||
c.statusbar.position = 'bottom'
|
||||
|
||||
# When to show the statusbar.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Always show the statusbar.
|
||||
# - never: Always hide the statusbar.
|
||||
# - in-mode: Show the statusbar when in modes other than normal mode.
|
||||
c.statusbar.show = 'in-mode'
|
||||
|
||||
# List of widgets displayed in the statusbar.
|
||||
# Type: List of StatusbarWidget
|
||||
# Valid values:
|
||||
# - url: Current page URL.
|
||||
# - scroll: Percentage of the current page position like `10%`.
|
||||
# - scroll_raw: Raw percentage of the current page position like `10`.
|
||||
# - history: Display an arrow when possible to go back/forward in history.
|
||||
# - tabs: Current active tab, e.g. `2`.
|
||||
# - keypress: Display pressed keys when composing a vi command.
|
||||
# - progress: Progress bar for the current page loading.
|
||||
# - text:foo: Display the static text after the colon, `foo` in the example.
|
||||
c.statusbar.widgets = [
|
||||
'keypress',
|
||||
'url',
|
||||
'scroll',
|
||||
'history',
|
||||
'progress',
|
||||
'tabs',
|
||||
]
|
||||
212
.config/qutebrowser/tabs.py
Normal file
212
.config/qutebrowser/tabs.py
Normal file
@@ -0,0 +1,212 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Open new tabs (middleclick/ctrl+click) in the background.
|
||||
# Type: Bool
|
||||
c.tabs.background = True
|
||||
|
||||
# Mouse button with which to close tabs.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - right: Close tabs on right-click.
|
||||
# - middle: Close tabs on middle-click.
|
||||
# - none: Don't close tabs using the mouse.
|
||||
c.tabs.close_mouse_button = 'middle'
|
||||
|
||||
# How to behave when the close mouse button is pressed on the tab bar.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - new-tab: Open a new tab.
|
||||
# - close-current: Close the current tab.
|
||||
# - close-last: Close the last tab.
|
||||
# - ignore: Don't do anything.
|
||||
c.tabs.close_mouse_button_on_bar = 'new-tab'
|
||||
|
||||
# Scaling factor for favicons in the tab bar. The tab size is unchanged,
|
||||
# so big favicons also require extra `tabs.padding`.
|
||||
# Type: Float
|
||||
c.tabs.favicons.scale = 1.0
|
||||
|
||||
# When to show favicons in the tab bar. When switching this from never
|
||||
# to always/pinned, note that favicons might not be loaded yet, thus
|
||||
# tabs might require a reload to display them.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Always show favicons.
|
||||
# - never: Always hide favicons.
|
||||
# - pinned: Show favicons only on pinned tabs.
|
||||
c.tabs.favicons.show = 'pinned'
|
||||
|
||||
# Maximum stack size to remember for tab switches (-1 for no maximum).
|
||||
# Type: Int
|
||||
c.tabs.focus_stack_size = 10
|
||||
|
||||
# Padding (in pixels) for tab indicators.
|
||||
# Type: Padding
|
||||
c.tabs.indicator.padding = {'top': 2, 'bottom': 2, 'left': 0, 'right': 4}
|
||||
|
||||
# Width (in pixels) of the progress indicator (0 to disable).
|
||||
# Type: Int
|
||||
c.tabs.indicator.width = 3
|
||||
|
||||
# How to behave when the last tab is closed. If the
|
||||
# `tabs.tabs_are_windows` setting is set, this is ignored and the
|
||||
# behavior is always identical to the `close` value.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - ignore: Don't do anything.
|
||||
# - blank: Load a blank page.
|
||||
# - startpage: Load the start page.
|
||||
# - default-page: Load the default page.
|
||||
# - close: Close the window.
|
||||
c.tabs.last_close = 'blank'
|
||||
|
||||
# Maximum width (in pixels) of tabs (-1 for no maximum). This setting
|
||||
# only applies when tabs are horizontal. This setting does not apply to
|
||||
# pinned tabs, unless `tabs.pinned.shrink` is False. This setting may
|
||||
# not apply properly if max_width is smaller than the minimum size of
|
||||
# tab contents, or smaller than tabs.min_width.
|
||||
# Type: Int
|
||||
c.tabs.max_width = -1
|
||||
|
||||
# Minimum width (in pixels) of tabs (-1 for the default minimum size
|
||||
# behavior). This setting only applies when tabs are horizontal. This
|
||||
# setting does not apply to pinned tabs, unless `tabs.pinned.shrink` is
|
||||
# False.
|
||||
# Type: Int
|
||||
c.tabs.min_width = -1
|
||||
|
||||
# When switching tabs, what input mode is applied.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - persist: Retain the current mode.
|
||||
# - restore: Restore previously saved mode.
|
||||
# - normal: Always revert to normal mode.
|
||||
c.tabs.mode_on_change = 'normal'
|
||||
|
||||
# Switch between tabs using the mouse wheel.
|
||||
# Type: Bool
|
||||
c.tabs.mousewheel_switching = False
|
||||
|
||||
# Position of new tabs opened from another tab. See
|
||||
# `tabs.new_position.stacking` for controlling stacking behavior.
|
||||
# Type: NewTabPosition
|
||||
# Valid values:
|
||||
# - prev: Before the current tab.
|
||||
# - next: After the current tab.
|
||||
# - first: At the beginning.
|
||||
# - last: At the end.
|
||||
c.tabs.new_position.related = 'next'
|
||||
|
||||
# Stack related tabs on top of each other when opened consecutively.
|
||||
# Only applies for `next` and `prev` values of
|
||||
# `tabs.new_position.related` and `tabs.new_position.unrelated`.
|
||||
# Type: Bool
|
||||
c.tabs.new_position.stacking = True
|
||||
|
||||
# Position of new tabs which are not opened from another tab. See
|
||||
# `tabs.new_position.stacking` for controlling stacking behavior.
|
||||
# Type: NewTabPosition
|
||||
# Valid values:
|
||||
# - prev: Before the current tab.
|
||||
# - next: After the current tab.
|
||||
# - first: At the beginning.
|
||||
# - last: At the end.
|
||||
c.tabs.new_position.unrelated = 'last'
|
||||
|
||||
# Padding (in pixels) around text for tabs.
|
||||
# Type: Padding
|
||||
c.tabs.padding = {'top': 0, 'bottom': 0, 'left': 5, 'right': 5}
|
||||
|
||||
# Force pinned tabs to stay at fixed URL.
|
||||
# Type: Bool
|
||||
c.tabs.pinned.frozen = True
|
||||
|
||||
# Shrink pinned tabs down to their contents.
|
||||
# Type: Bool
|
||||
c.tabs.pinned.shrink = True
|
||||
|
||||
# Position of the tab bar.
|
||||
# Type: Position
|
||||
# Valid values:
|
||||
# - top
|
||||
# - bottom
|
||||
# - left
|
||||
# - right
|
||||
c.tabs.position = 'bottom'
|
||||
|
||||
# Which tab to select when the focused tab is removed.
|
||||
# Type: SelectOnRemove
|
||||
# Valid values:
|
||||
# - prev: Select the tab which came before the closed one (left in horizontal, above in vertical).
|
||||
# - next: Select the tab which came after the closed one (right in horizontal, below in vertical).
|
||||
# - last-used: Select the previously selected tab.
|
||||
c.tabs.select_on_remove = 'next'
|
||||
|
||||
# When to show the tab bar.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - always: Always show the tab bar.
|
||||
# - never: Always hide the tab bar.
|
||||
# - multiple: Hide the tab bar if only one tab is open.
|
||||
# - switching: Show the tab bar when switching tabs.
|
||||
c.tabs.show = 'multiple'
|
||||
|
||||
# Duration (in milliseconds) to show the tab bar before hiding it when
|
||||
# tabs.show is set to 'switching'.
|
||||
# Type: Int
|
||||
c.tabs.show_switching_delay = 800
|
||||
|
||||
# Open a new window for every tab.
|
||||
# Type: Bool
|
||||
c.tabs.tabs_are_windows = False
|
||||
|
||||
# Alignment of the text inside of tabs.
|
||||
# Type: TextAlignment
|
||||
# Valid values:
|
||||
# - left
|
||||
# - right
|
||||
# - center
|
||||
c.tabs.title.alignment = 'center'
|
||||
|
||||
# Format to use for the tab title. The following placeholders are
|
||||
# defined: * `{perc}`: Percentage as a string like `[10%]`. *
|
||||
# `{perc_raw}`: Raw percentage, e.g. `10`. * `{current_title}`: Title of
|
||||
# the current web page. * `{title_sep}`: The string `" - "` if a title
|
||||
# is set, empty otherwise. * `{index}`: Index of this tab. *
|
||||
# `{aligned_index}`: Index of this tab padded with spaces to have the
|
||||
# same width. * `{id}`: Internal tab ID of this tab. * `{scroll_pos}`:
|
||||
# Page scroll position. * `{host}`: Host of the current web page. *
|
||||
# `{backend}`: Either `webkit` or `webengine` * `{private}`: Indicates
|
||||
# when private mode is enabled. * `{current_url}`: URL of the current
|
||||
# web page. * `{protocol}`: Protocol (http/https/...) of the current web
|
||||
# page. * `{audio}`: Indicator for audio/mute status.
|
||||
# Type: FormatString
|
||||
c.tabs.title.format = '{audio}{index}: {current_title}'
|
||||
|
||||
# Format to use for the tab title for pinned tabs. The same placeholders
|
||||
# like for `tabs.title.format` are defined.
|
||||
# Type: FormatString
|
||||
c.tabs.title.format_pinned = '{index}'
|
||||
|
||||
# Show tooltips on tabs. Note this setting only affects windows opened
|
||||
# after it has been set.
|
||||
# Type: Bool
|
||||
c.tabs.tooltips = True
|
||||
|
||||
# Number of closed tabs (per window) and closed windows to remember for
|
||||
# :undo (-1 for no maximum).
|
||||
# Type: Int
|
||||
c.tabs.undo_stack_size = 100
|
||||
|
||||
# Width (in pixels or as percentage of the window) of the tab bar if
|
||||
# it's vertical.
|
||||
# Type: PercOrInt
|
||||
c.tabs.width = '15%'
|
||||
|
||||
# Wrap when changing tabs.
|
||||
# Type: Bool
|
||||
c.tabs.wrap = True
|
||||
80
.config/qutebrowser/url.py
Normal file
80
.config/qutebrowser/url.py
Normal file
@@ -0,0 +1,80 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# What search to start when something else than a URL is entered.
|
||||
# Type: String
|
||||
# Valid values:
|
||||
# - naive: Use simple/naive check.
|
||||
# - dns: Use DNS requests (might be slow!).
|
||||
# - never: Never search automatically.
|
||||
# - schemeless: Always search automatically unless URL explicitly contains a scheme.
|
||||
c.url.auto_search = 'naive'
|
||||
|
||||
# Page to open if :open -t/-b/-w is used without URL. Use `about:blank`
|
||||
# for a blank page.
|
||||
# Type: FuzzyUrl
|
||||
c.url.default_page = 'about:blank'
|
||||
|
||||
# URL segments where `:navigate increment/decrement` will search for a
|
||||
# number.
|
||||
# Type: FlagList
|
||||
# Valid values:
|
||||
# - host
|
||||
# - port
|
||||
# - path
|
||||
# - query
|
||||
# - anchor
|
||||
c.url.incdec_segments = ['path', 'query']
|
||||
|
||||
# Open base URL of the searchengine if a searchengine shortcut is
|
||||
# invoked without parameters.
|
||||
# Type: Bool
|
||||
c.url.open_base_url = False
|
||||
|
||||
# Search engines which can be used via the address bar. Maps a search
|
||||
# engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}`
|
||||
# placeholder. The placeholder will be replaced by the search term, use
|
||||
# `{{` and `}}` for literal `{`/`}` braces. The following further
|
||||
# placeholds are defined to configure how special characters in the
|
||||
# search terms are replaced by safe characters (called 'quoting'): *
|
||||
# `{}` and `{semiquoted}` quote everything except slashes; this is the
|
||||
# most sensible choice for almost all search engines (for the search
|
||||
# term `slash/and&` this placeholder expands to `slash/and%26amp`).
|
||||
# * `{quoted}` quotes all characters (for `slash/and&` this
|
||||
# placeholder expands to `slash%2Fand%26amp`). * `{unquoted}` quotes
|
||||
# nothing (for `slash/and&` this placeholder expands to
|
||||
# `slash/and&`). * `{0}` means the same as `{}`, but can be used
|
||||
# multiple times. The search engine named `DEFAULT` is used when
|
||||
# `url.auto_search` is turned on and something else than a URL was
|
||||
# entered to be opened. Other search engines can be used by prepending
|
||||
# the search engine name to the search term, e.g. `:open google
|
||||
# qutebrowser`.
|
||||
# Type: Dict
|
||||
c.url.searchengines = {
|
||||
'DEFAULT': 'https://duckduckgo.com/?q={}',
|
||||
'afr': 'https://www.amazon.fr/s?k={}',
|
||||
'aw': 'https://wiki.archlinux.org/index.php?title=Special%3ASearch&search={}',
|
||||
'ddg': 'https://duckduckgo.com/?q={}',
|
||||
'g': 'https://www.google.com/search?hl=en&q={}',
|
||||
'yt': 'https://www.youtube.com/results?search_query={}',
|
||||
}
|
||||
|
||||
# Page(s) to open at the start.
|
||||
# Type: List of FuzzyUrl, or FuzzyUrl
|
||||
c.url.start_pages = [
|
||||
'https://labs.phundrak.com'
|
||||
]
|
||||
|
||||
# URL parameters to strip with `:yank url`.
|
||||
# Type: List of String
|
||||
c.url.yank_ignored_parameters = [
|
||||
'ref',
|
||||
'utm_source',
|
||||
'utm_medium',
|
||||
'utm_campaign',
|
||||
'utm_term',
|
||||
'utm_content'
|
||||
]
|
||||
24
.config/qutebrowser/window.py
Normal file
24
.config/qutebrowser/window.py
Normal file
@@ -0,0 +1,24 @@
|
||||
# pylint: disable=C0111
|
||||
from qutebrowser.config.configfiles import ConfigAPI # noqa: F401
|
||||
from qutebrowser.config.config import ConfigContainer # noqa: F401
|
||||
config: ConfigAPI = config # noqa: F821 pylint: disable=E0602,C0103
|
||||
c: ConfigContainer = c # noqa: F821 pylint: disable=E0602,C0103
|
||||
|
||||
# Hide the window decoration. This setting requires a restart on
|
||||
# Wayland.
|
||||
# Type: Bool
|
||||
c.window.hide_decoration = True
|
||||
|
||||
# Format to use for the window title. The same placeholders like for
|
||||
# `tabs.title.format` are defined.
|
||||
# Type: FormatString
|
||||
c.window.title_format = '{current_title}{title_sep}qutebrowser'
|
||||
|
||||
# Set the main window background to transparent. This allows having a
|
||||
# transparent tab- or statusbar (might require a compositor such as
|
||||
# picom). However, it breaks some functionality such as dmenu embedding
|
||||
# via its `-w` option. On some systems, it was additionally reported
|
||||
# that main window transparency negatively affects performance. Note
|
||||
# this setting only affects windows opened after setting it.
|
||||
# Type: Bool
|
||||
c.window.transparent = True
|
||||
@@ -1,119 +1,8 @@
|
||||
/* -*- mode: css -*- */
|
||||
|
||||
/*
|
||||
* sidetab-adapta theme,
|
||||
* based on sidetab theme by deadguy.
|
||||
*
|
||||
* Theme found at https://github.com/shizonic/nord-rofi-theme
|
||||
* Modified by P’undrak
|
||||
*
|
||||
* This theme has been dedicated to the public domain.
|
||||
*
|
||||
*/
|
||||
/* -*- mode: scss -*- */
|
||||
|
||||
configuration {
|
||||
show-icons: true;
|
||||
sidebar-mode: false;
|
||||
modi: "ssh,drun,combi";
|
||||
}
|
||||
|
||||
* {
|
||||
background-color: #2e344030;
|
||||
text-color: #FFFFFF;
|
||||
|
||||
accent-color: #88c0d0;
|
||||
accent2-color: #88c0d0;
|
||||
hover-color: #8fbcbb;
|
||||
urgent-color: #FFFFFF;
|
||||
window-color: #ffffff;
|
||||
|
||||
selected-normal-foreground: @background-color;
|
||||
normal-foreground: @text-color;
|
||||
selected-normal-background: @hover-color;
|
||||
normal-background: @background-color;
|
||||
|
||||
selected-urgent-foreground: @background-color;
|
||||
urgent-foreground: @background-color;
|
||||
selected-urgent-background: @urgent-color;
|
||||
urgent-background: @background-color;
|
||||
|
||||
selected-active-foreground: @background-color;
|
||||
active-foreground: @background-color;
|
||||
selected-active-background: @hover-color;
|
||||
active-background: @accent-color;
|
||||
}
|
||||
|
||||
#window {
|
||||
anchor: center;
|
||||
location: center;
|
||||
width: 800px;
|
||||
height: 80%;
|
||||
}
|
||||
|
||||
#mainbox {
|
||||
children: [ entry, listview, mode-switcher ];
|
||||
}
|
||||
|
||||
entry {
|
||||
expand: false;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
element normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
element normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
|
||||
element normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
border: 0 4px solid 0 0;
|
||||
border-color: @accent2-color;
|
||||
}
|
||||
|
||||
element selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
|
||||
element selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
|
||||
element alternate.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
element alternate.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
|
||||
element alternate.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @active-background;
|
||||
text-color: @background-color;
|
||||
}
|
||||
@theme "nord"
|
||||
|
||||
142
.config/rofi/nord.rasi
Normal file
142
.config/rofi/nord.rasi
Normal file
@@ -0,0 +1,142 @@
|
||||
/* -*- mode: css -*- */
|
||||
/**
|
||||
* Nordic rofi theme
|
||||
* Adapted by undiabler <undiabler@gmail.com>
|
||||
*
|
||||
* Nord Color palette imported from https://www.nordtheme.com/
|
||||
*
|
||||
*/
|
||||
|
||||
configuration {
|
||||
|
||||
font: "Envy Code R 10";
|
||||
width: 30;
|
||||
line-margin: 10;
|
||||
lines: 6;
|
||||
columns: 2;
|
||||
|
||||
display-ssh: "";
|
||||
display-run: "";
|
||||
display-drun: "";
|
||||
display-window: "";
|
||||
display-combi: "";
|
||||
show-icons: true;
|
||||
}
|
||||
|
||||
* {
|
||||
nord0: #2e3440;
|
||||
nord1: #3b4252;
|
||||
nord2: #434c5e;
|
||||
nord3: #4c566a;
|
||||
|
||||
nord4: #d8dee9;
|
||||
nord5: #e5e9f0;
|
||||
nord6: #eceff4;
|
||||
|
||||
nord7: #8fbcbb;
|
||||
nord8: #88c0d0;
|
||||
nord9: #81a1c1;
|
||||
nord10: #5e81ac;
|
||||
nord11: #bf616a;
|
||||
|
||||
nord12: #d08770;
|
||||
nord13: #ebcb8b;
|
||||
nord14: #a3be8c;
|
||||
nord15: #b48ead;
|
||||
|
||||
foreground: @nord9;
|
||||
backlight: #ccffeedd;
|
||||
background-color: transparent;
|
||||
|
||||
highlight: underline bold #eceff4;
|
||||
|
||||
transparent: rgba(46,52,64,0);
|
||||
}
|
||||
|
||||
window {
|
||||
location: center;
|
||||
anchor: center;
|
||||
transparency: "screenshot";
|
||||
border: 0px;
|
||||
border-radius: 6px;
|
||||
|
||||
background-color: @transparent;
|
||||
spacing: 0;
|
||||
children: [mainbox];
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
spacing: 0;
|
||||
children: [ inputbar, message, listview ];
|
||||
}
|
||||
|
||||
message {
|
||||
color: @nord0;
|
||||
padding: 5;
|
||||
border-color: @foreground;
|
||||
border: 0px 2px 2px 2px;
|
||||
background-color: @nord7;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
color: @nord6;
|
||||
padding: 11px;
|
||||
background-color: #3b4252;
|
||||
|
||||
border: 1px;
|
||||
border-radius: 6px 6px 0px 0px;
|
||||
border-color: @nord10;
|
||||
}
|
||||
|
||||
entry, prompt, case-indicator {
|
||||
text-font: inherit;
|
||||
text-color:inherit;
|
||||
}
|
||||
|
||||
prompt {
|
||||
margin: 0px 0.3em 0em 0em ;
|
||||
}
|
||||
|
||||
listview {
|
||||
padding: 8px;
|
||||
border-radius: 0px 0px 6px 6px;
|
||||
border-color: @nord10;
|
||||
border: 0px 1px 1px 1px;
|
||||
background-color: rgba(46,52,64,0.9);
|
||||
dynamic: false;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 3px;
|
||||
vertical-align: 0.5;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
color: @foreground;
|
||||
text-color: rgb(216, 222, 233);
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @nord7;
|
||||
text-color: #2e3440;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 6px;
|
||||
color: @foreground;
|
||||
horizontal-align: 0.5;
|
||||
|
||||
border: 2px 0px 2px 2px;
|
||||
border-radius: 4px 0px 0px 4px;
|
||||
border-color: @foreground;
|
||||
}
|
||||
|
||||
button selected normal {
|
||||
border: 2px 0px 2px 2px;
|
||||
border-color: @foreground;
|
||||
}
|
||||
303
.config/sway/config
Normal file
303
.config/sway/config
Normal file
@@ -0,0 +1,303 @@
|
||||
set $nord0 #2E3440
|
||||
set $nord1 #3B4252
|
||||
set $nord2 #434C5E
|
||||
set $nord3 #4C566A
|
||||
set $nord4 #D8DEE9
|
||||
set $nord5 #E5E9F0
|
||||
set $nord6 #ECEFF4
|
||||
set $nord7 #8FBCBB
|
||||
set $nord8 #88C0D0
|
||||
set $nord9 #81A1C1
|
||||
set $nord10 #5E81AC
|
||||
set $nord11 #BF616A
|
||||
set $nord12 #D08770
|
||||
set $nord13 #EBCB8B
|
||||
set $nord14 #A3BE8C
|
||||
set $nord15 #B48EAD
|
||||
set $bg $nord3
|
||||
set $fg $nord5
|
||||
|
||||
|
||||
set $mod Mod4
|
||||
set $left c
|
||||
set $down t
|
||||
set $up s
|
||||
set $right r
|
||||
set $term kitty
|
||||
set $menu "rofi -combi-modi drun -show combi"
|
||||
|
||||
output eDP-1 {
|
||||
mode 1920x1080@120Hz
|
||||
position 2560,0
|
||||
bg /home/phundrak/Pictures/Wallpapers/nord/spacemars.jpg fill
|
||||
}
|
||||
|
||||
output HDMI-A-1 {
|
||||
mode 2560x1080@60Hz
|
||||
position 0,0
|
||||
bg /home/phundrak/Pictures/Wallpapers/nord/spacemars.jpg fill
|
||||
}
|
||||
|
||||
exec swayidle -w \
|
||||
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||
timeout 601 'plock' \
|
||||
before-sleep 'playerctl pause' \
|
||||
before-sleep 'plock'
|
||||
|
||||
input "2:14:ETPS/2_Elantech_Touchpad" {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll disabled
|
||||
middle_emulation enabled
|
||||
}
|
||||
|
||||
input "1267:12642:ELAN0412:00_04F3:3162_Touchpad" {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll disabled
|
||||
middle_emulation enabled
|
||||
}
|
||||
|
||||
input "1386:792:Wacom_USB_Bamboo_PAD_Finger" {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
middle_emulation enabled
|
||||
}
|
||||
|
||||
input "1386:792:Wacom_USB_Bamboo_PAD_Pen" {
|
||||
map_to_output HDMI-A-1
|
||||
}
|
||||
|
||||
input * {
|
||||
xkb_layout "fr"
|
||||
xkb_variant "bepo_afnor"
|
||||
xkb_options "caps:ctrl_modifier"
|
||||
}
|
||||
|
||||
input type:keyboard xkb_numlock enabled
|
||||
|
||||
|
||||
mode "resize" {
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
bindsym q mode "default"
|
||||
}
|
||||
|
||||
mode "buffers" {
|
||||
bindsym d kill; mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
bindsym q mode "default"
|
||||
}
|
||||
|
||||
mode "rofi" {
|
||||
bindsym a exec awiki; mode "default"
|
||||
bindsym b exec bluetooth-connect; mode "default"
|
||||
bindsym e exec rofi-emoji; mode "default"
|
||||
bindsym r exec $menu; mode "default"
|
||||
bindsym s exec rofi -show ssh; mode "default"
|
||||
bindsym y exec ytplay; mode "default"
|
||||
bindsym Shift+y exec rofi-ytdl; mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
bindsym q mode "default"
|
||||
}
|
||||
|
||||
mode "apps" {
|
||||
bindsym b exec firefox; mode "default"
|
||||
bindsym Shift+b exec qutebrowser; mode "default"
|
||||
bindsym d exec discord; mode "default"
|
||||
bindsym e exec emacsclient -c; mode "default"
|
||||
bindsym g exec gimp; mode "default"
|
||||
bindsym n exec nemo; mode "default"
|
||||
bindsym r mode "rofi"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
bindsym q mode "default"
|
||||
}
|
||||
|
||||
mode "windows" {
|
||||
bindsym period mode "resize"
|
||||
|
||||
bindsym $left focus left; mode "default"
|
||||
bindsym $right focus right; mode "default"
|
||||
bindsym $up focus up; mode "default"
|
||||
bindsym $down focus down; mode "default"
|
||||
bindsym Shift+$left move left; mode "default"
|
||||
bindsym Shift+$right move right; mode "default"
|
||||
bindsym Shift+$up move up; mode "default"
|
||||
bindsym Shift+$down move down; mode "default"
|
||||
bindsym Ctrl+$left move workspace to output left; mode "default"
|
||||
bindsym Ctrl+$right move workspace to output right; mode "default"
|
||||
bindsym Ctrl+$up move workspace to output up; mode "default"
|
||||
bindsym Ctrl+$down move workspace to output down; mode "default"
|
||||
|
||||
bindsym slash splith; mode "default"
|
||||
bindsym minus splitv; mode "default"
|
||||
|
||||
bindsym a focus parent; mode "default"
|
||||
bindsym d kill; mode "default"
|
||||
bindsym f fullscreen; mode "default"
|
||||
bindsym Shift+f floating toggle; mode "default"
|
||||
bindsym Space focus mode_toggle; mode "default"
|
||||
|
||||
bindsym e layout toggle split; mode "default"
|
||||
bindsym i layout tabbed; mode "default"
|
||||
bindsym u layout stacking; mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
bindsym q mode "default"
|
||||
}
|
||||
|
||||
mode "sway" {
|
||||
bindsym r reload
|
||||
bindsym q exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
}
|
||||
|
||||
mode "leader" {
|
||||
bindsym minus move scratchpad; mode "default"
|
||||
bindsym plus scratchpad show; mode "default"
|
||||
|
||||
bindsym a mode "apps"
|
||||
bindsym b mode "buffers"
|
||||
bindsym l exec "plock"; mode "default"
|
||||
bindsym q mode "sway"
|
||||
bindsym w mode "windows"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$right focus right
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$down focus down
|
||||
bindgesture swipe:3:left focus left
|
||||
bindgesture swipe:3:right focus right
|
||||
bindgesture swipe:3:up focus up
|
||||
bindgesture swipe:3:down focus down
|
||||
bindsym Shift+$mod+$left move left
|
||||
bindsym Shift+$mod+$right move right
|
||||
bindsym Shift+$mod+$up move up
|
||||
bindsym Shift+$mod+$down move down
|
||||
bindgesture swipe:4:left move left
|
||||
bindgesture swipe:4:right move right
|
||||
bindgesture swipe:4:up move up
|
||||
bindgesture swipe:4:down move down
|
||||
|
||||
mode "screenshot" {
|
||||
bindsym Print exec "screenshot"; mode "default"
|
||||
bindsym c exec "screenshot -c"; mode "default"
|
||||
bindsym s exec "screenshot -s"; mode "default"
|
||||
bindsym g exec "screenshot -g"; mode "default"
|
||||
bindsym d exec "screenshot -d 3"; mode "default"
|
||||
bindsym Shift+s exec "screenshot -sc"; mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Ctrl+g mode "default"
|
||||
bindsym q mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+Space mode "leader"
|
||||
bindsym $mod+Return exec $term
|
||||
bindsym $mod+d exec $menu
|
||||
bindsym Print mode "screenshot"
|
||||
bindsym $mod+Print exec "screenshot -c"
|
||||
|
||||
bindsym $mod+quotedbl workspace number 1
|
||||
bindsym $mod+guillemotleft workspace number 2
|
||||
bindsym $mod+guillemotright workspace number 3
|
||||
bindsym $mod+parenleft workspace number 4
|
||||
bindsym $mod+parenright workspace number 5
|
||||
bindsym $mod+at workspace number 6
|
||||
bindsym $mod+plus workspace number 7
|
||||
bindsym $mod+minus workspace number 8
|
||||
bindsym $mod+slash workspace number 9
|
||||
bindsym $mod+asterisk workspace number 0
|
||||
|
||||
bindsym $mod+Shift+quotedbl move container to workspace number 1
|
||||
bindsym $mod+Shift+guillemotleft move container to workspace number 2
|
||||
bindsym $mod+Shift+guillemotright move container to workspace number 3
|
||||
bindsym $mod+Shift+parenleft move container to workspace number 4
|
||||
bindsym $mod+Shift+parenright move container to workspace number 5
|
||||
bindsym $mod+Shift+at move container to workspace number 6
|
||||
bindsym $mod+Shift+plus move container to workspace number 7
|
||||
bindsym $mod+Shift+minus move container to workspace number 8
|
||||
bindsym $mod+Shift+slash move container to workspace number 9
|
||||
bindsym $mod+Shift+asterisk move container to workspace number 0
|
||||
|
||||
bindsym --locked XF86AudioPlay exec playerctl play-pause
|
||||
bindsym --locked XF86AudioPause exec playerctl pause
|
||||
bindsym --locked XF86AudioStop exec playerctl stop
|
||||
bindsym --locked XF86AudioPrev exec playerctl previous
|
||||
bindsym --locked XF86AudioNext exec playerctl next
|
||||
bindsym --locked XF86AudioForward exec playerctl position +1
|
||||
bindsym --locked XF86AudioRewind exec playerctl position -1
|
||||
bindsym --locked XF86AudioRaiseVolume exec pamixer -i 2
|
||||
bindsym --locked XF86AudioLowerVolume exec pamixer -d 2
|
||||
bindsym XF86MonBrightnessUp exec xbacklight -perceived -inc 2
|
||||
bindsym XF86MonBrightnessDown exec xbacklight -perceived -dec 2
|
||||
bindsym XF86KbdBrightnessUp exec xbacklight -perceived -inc 2
|
||||
bindsym XF86KbdBrightnessDown exec xbacklight -perceived -dec 2
|
||||
|
||||
floating_modifier $mod normal
|
||||
|
||||
gaps outer 15px
|
||||
gaps inner 20px
|
||||
default_border pixel 2
|
||||
smart_borders on
|
||||
|
||||
# class border background text indicator child_border
|
||||
client.urgent $nord11 $nord11 $nord6 $nord11 $nord1
|
||||
client.focused $nord3 $nord3 $nord5 $nord3 $nord3
|
||||
client.focused_inactive $nord2 $nord2 $nord5 $nord2 $nord2
|
||||
client.unfocused $nord0 $nord0 $nord4 $nord0 $nord0
|
||||
client.placeholder $nord7 $nord7 $nord6 $nord7 nord7
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
|
||||
# When the status_command prints a new line to stdout, swaybar updates.
|
||||
# The default just shows the current date and time.
|
||||
height 20
|
||||
status_command while swaybar-cmd; do sleep 1; done
|
||||
font FantasqueSansMono Nerd Font Mono 10
|
||||
|
||||
colors {
|
||||
statusline $nord5
|
||||
background $nord3
|
||||
|
||||
# border bg text
|
||||
focused_workspace $nord10 $nord10 $nord5
|
||||
active_workspace $nord9 $nord9 $nord5
|
||||
inactive_workspace $nord7 $nord7 $nord5
|
||||
urgent_workspace $nord11 $nord11 $nord6
|
||||
binding_mode $nord14 $nord14 $nord6
|
||||
}
|
||||
}
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
11
.config/systemd/user/mpd-mpris.service
Normal file
11
.config/systemd/user/mpd-mpris.service
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=MPRIS implementation for MPD
|
||||
Requires=mpd.service
|
||||
After=mpd.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/mpd-mpris
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
12
.config/systemd/user/pipewire-input-filter-chain.service
Normal file
12
.config/systemd/user/pipewire-input-filter-chain.service
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=PipeWire Input Filter Chain
|
||||
After=pipewire.service
|
||||
BindsTo=pipewire.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/pipewire -c /usr/share/pipewire/filter-chain/source-rnnoise.conf
|
||||
Type=simple
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=pipewire.service
|
||||
10
.config/systemd/user/playerctl.service
Normal file
10
.config/systemd/user/playerctl.service
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Keep track of media player activity
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
ExecStart=/usr/bin/playerctld daemon
|
||||
BusName=org.mpris.MediaPlayer2.playerctld
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
9
.config/systemd/user/pumopm.service
Normal file
9
.config/systemd/user/pumopm.service
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Lightweight and dead simple power manager
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/pumopm
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Submodule .config/tmux deleted from f4fc2730cf
84
.config/topgrade.toml
Normal file
84
.config/topgrade.toml
Normal file
@@ -0,0 +1,84 @@
|
||||
[misc]
|
||||
# Don't ask for confirmations
|
||||
#assume_yes = true
|
||||
|
||||
# Disable specific steps - same options as the command line flag
|
||||
disable = ["emacs", "flutter", "deno", "shell"]
|
||||
|
||||
# Ignore failures for these steps
|
||||
ignore_failures = ["system"]
|
||||
|
||||
# Run specific steps - same options as the command line flag
|
||||
#only = ["system", "emacs"]
|
||||
|
||||
# Do not ask to retry failed steps (default: false)
|
||||
#no_retry = true
|
||||
|
||||
# Run inside tmux
|
||||
#run_in_tmux = true
|
||||
|
||||
# List of remote machines with Topgrade installed on them
|
||||
#remote_topgrades = ["toothless", "pi", "parnas"]
|
||||
|
||||
# Arguments to pass SSH when upgrading remote systems
|
||||
#ssh_arguments = "-o ConnectTimeout=2"
|
||||
|
||||
# Path to Topgrade executable on remote machines
|
||||
#remote_topgrade_path = ".cargo/bin/topgrade"
|
||||
|
||||
# Arguments to pass tmux when pulling Repositories
|
||||
#tmux_arguments = "-S /var/tmux.sock"
|
||||
|
||||
# Do not set the terminal title
|
||||
#set_title = false
|
||||
|
||||
# Cleanup temporary or old files
|
||||
#cleanup = true
|
||||
|
||||
[git]
|
||||
# max_concurrency = 5
|
||||
# Additional git repositories to pull
|
||||
repos = [
|
||||
# "~/fromGIT/emacs-packages/*",
|
||||
"~/.config/emacs/straight/repos/*",
|
||||
"~/fromGIT/stumpwm/*",
|
||||
"~/fromGIT/tectonics",
|
||||
"~/fromGIT/reveal.js/"
|
||||
]
|
||||
|
||||
# Don't pull the predefined git repos
|
||||
#predefined_repos = false
|
||||
|
||||
# Arguments to pass Git when pulling Repositories
|
||||
arguments = "--rebase --autostash"
|
||||
|
||||
#[composer]
|
||||
#self_update = true
|
||||
|
||||
# Commands to run before anything
|
||||
#[pre_commands]
|
||||
#"Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
|
||||
|
||||
# Custom commands
|
||||
#[commands]
|
||||
#"Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
|
||||
|
||||
#[brew]
|
||||
#greedy_cask = true
|
||||
|
||||
[linux]
|
||||
# Arguments to pass yay when updating packages
|
||||
yay_arguments = "--nodevel"
|
||||
#trizen_arguments = "--devel"
|
||||
#enable_tlmgr = true
|
||||
#emerge_sync_flags = "-q"
|
||||
#emerge_update_flags = "-uDNa --with-bdeps=y world"
|
||||
|
||||
#[windows]
|
||||
# Manually select Windows updates
|
||||
#accept_all_updates = false
|
||||
|
||||
# Causes Topgrade to rename itself during the run to allow package managers
|
||||
# to upgrade it. Use this only if you installed Topgrade by using a package
|
||||
# manager such as Scoop to Cargo
|
||||
#self_rename = true
|
||||
@@ -24,7 +24,6 @@ end
|
||||
set mylocales "en_US.UTF-8 UTF-8" "fr_FR.UTF-8 UTF-8" "ja_JP.UTF-8 UTF-8"
|
||||
|
||||
printf "\n# Set locale ##################################################################\n\n"
|
||||
|
||||
for item in $mylocales
|
||||
whiptail --yesno "Set the \"$item\" locale?" 8 40
|
||||
if test $status -eq 0 -a (grep -e "#$item" /etc/locale.gen)
|
||||
@@ -32,16 +31,14 @@ for item in $mylocales
|
||||
end
|
||||
end
|
||||
|
||||
set localeconf "LANG=en_US.UTF-8
|
||||
set localeconf "LANG=en_DK.UTF-8
|
||||
LC_COLLATE=C
|
||||
LC_NAME=fr_FR.UTF-8
|
||||
LC_NUMERIC=fr_FR.UTF-8
|
||||
LC_IDENTIFICATION=fr_FR.UTF-8
|
||||
LC_TELEPHONE=fr_FR.UTF-8
|
||||
LC_MONETARY=fr_FR.UTF-8
|
||||
LC_PAPER=fr_FR.UTF-8
|
||||
LC_ADDRESS=fr_FR.UTF-8
|
||||
LC_TIME=fr_FR.UTF-8
|
||||
LC_MEASUREMENT=fr_FR.UTF-8"
|
||||
|
||||
whiptail --yesno "Do you agree to have the following locale set?\n\n $localeconf" 20 43
|
||||
@@ -62,50 +59,195 @@ if test $status -eq 0 -a ! "$SHELL" = '/usr/bin/fish'
|
||||
chsh -s /usr/bin/fish
|
||||
end
|
||||
|
||||
set PACKAGES \
|
||||
acpi acpilight adobe-source-han-sans-jp-fonts arc-gtk-theme asar ascii \
|
||||
aspell-en aspell-fr awesome awesome-terminal-fonts awesome-freedesktop-git \
|
||||
base-devel bashtop bat biber bitwarden-bin bluez-firmware bluez-utils bzip2 \
|
||||
chicken chromium clisp corrupter-git cppcheck cppreference \
|
||||
cppreference-devhelp cpupower discord-canary discount docker docker-compose \
|
||||
dockerfile-language-server-bin doxygen emacs emacs-org-mode exa exfat-utils \
|
||||
farbfeld fd ffmpegthumbnailer findutils firefox flake8 flat-remix-gtk freeglut \
|
||||
fzf gcc-libs gdb gimp gnome-disk-utility gnome-epub-thumbnailer gnu-free-fonts \
|
||||
gnuplot go go-tools golangci-lint-bin graphviz htop hugo i3lock-color \
|
||||
inetutils isync inter-font javascript-typescript-langserver js-beautify \
|
||||
jfsutils jmtpfs lain-git libxft-bgra linux-headers lldb logrotate ly meson \
|
||||
minted man-db man-pages mpc mpd mpd-rich-presence-discord-git mpv mupdf-tools \
|
||||
nano ncdu ncmpcpp nemo-fileroller nemo-preview neofetch netctl \
|
||||
network-manager-applet networkmanager networkmanager-openvpn nitrogen \
|
||||
nm-connection-editor nodejs-vmd nomacs nordic-theme-git nordvpn-bin \
|
||||
noto-fonts-emoji npm ntfs-3g numlockx obs-studio openssh otf-fandol \
|
||||
otf-ipafont p7zip pacman-contrib pandoc-bin pass pavucontrol pdfpc \
|
||||
picom-ibhagwan-git powerline-fonts prettier pulseaudio-bluetooth \
|
||||
python-autoflake python-epc python-importmagic python-language-server \
|
||||
python-nose python-pip python-poetry python-ptvsd python-pytest \
|
||||
qt5-imageformats qemu r raw-thumbnailer reflector ripgrep rofi rsync rtv \
|
||||
ruby-rb-fsevent ruby-sass rustup samba scrot sent shadow siji-git \
|
||||
simplescreenrecorder sshfs st-luke-git sxiv texlive-bin texlive-langchinese \
|
||||
texlive-langcyrillic texlive-langgreek texlive-langjapanese texlive-langkorean \
|
||||
texlive-latexextra texlive-localmanager-git texlive-most tmux tree \
|
||||
ttf-arphic-uming ttf-baekmuk ttf-charis-sil ttf-dejavu \
|
||||
ttf-google-fonts-opinionated-git ttf-hanazono ttf-joypixels ttf-koruri \
|
||||
ttf-liberation ttf-monapo ttf-sazanami ttf-tibetan-machine typescript \
|
||||
typescript-language-server-bin unicode-emoji unrar usbutils valgrind \
|
||||
vscode-css-languageserver-bin vscode-html-languageserver-bin w3m wget \
|
||||
x11-ssh-askpass xclip xdg-user-dirs-gtk xfce-polkit xidlehook xfsprogs \
|
||||
xorg-drivers xorg-server xorg-xinit xss-lock xvkbd yaml-language-server-bin \
|
||||
zeal
|
||||
set SYSTEMPKG acpi \
|
||||
acpilight \
|
||||
bluez-firmware \
|
||||
bluez-utils \
|
||||
bzip2 \
|
||||
cpupower \
|
||||
exfat-utils \
|
||||
ffmpegthumbnailer \
|
||||
freeglut \
|
||||
gcc-libs \
|
||||
gdb \
|
||||
gnome-disk-utility \
|
||||
gnome-epub-thumbnailer \
|
||||
i3lock-color \
|
||||
corrupter-git \
|
||||
inetutils \
|
||||
jfsutils \
|
||||
jmtpfs \
|
||||
kitty \
|
||||
logrotate \
|
||||
man-pages \
|
||||
man-db \
|
||||
netctl \
|
||||
network-manager-applet \
|
||||
networkmanager-openvpn \
|
||||
nm-connection-editor \
|
||||
ntfs-3g \
|
||||
openssh \
|
||||
pavucontrol \
|
||||
wireplumber \
|
||||
pipewire-pulse \
|
||||
gst-plugin-pipewire \
|
||||
noise-suppression-for-voice \
|
||||
raw-thumbnailer \
|
||||
reflector \
|
||||
shadow \
|
||||
sshfs \
|
||||
usbutils \
|
||||
xdg-user-dirs-gtk \
|
||||
xfce-polkit \
|
||||
xidlehook \
|
||||
xfsprogs \
|
||||
xorg-xinit \
|
||||
xss-lock \
|
||||
xwallpaper
|
||||
|
||||
printf "\n# Installing needed packages ##################################################\n\n"
|
||||
sudo pacman -Syu
|
||||
for pkg in $PACKAGES
|
||||
yay -S --needed $pkg
|
||||
printf "\n# Installing SYSTEMPKG ##################################################\n\n"
|
||||
for pkg in $SYSTEMPKG
|
||||
paru -S --skipreview --needed $pkg
|
||||
end
|
||||
|
||||
mkdir -p $HOME/.config/awesome
|
||||
mkdir -p $HOME/.config/awesome/theme
|
||||
mkdir -p $HOME/.config/emacs/private
|
||||
|
||||
set DEVELPKG asar \
|
||||
base-devel \
|
||||
clang \
|
||||
cppcheck \
|
||||
cppreference \
|
||||
cppreference-devhelp \
|
||||
docker \
|
||||
docker-compose \
|
||||
dockerfile-language-server-bin \
|
||||
doxygen \
|
||||
emacs \
|
||||
farbfeld \
|
||||
flake8 \
|
||||
gnuplot \
|
||||
go \
|
||||
go-tools \
|
||||
graphviz \
|
||||
hugo \
|
||||
javascript-typescript-langserver \
|
||||
js-beautify \
|
||||
linux-headers \
|
||||
lldb \
|
||||
meson \
|
||||
mupdf-tools \
|
||||
npm \
|
||||
pacman-contrib \
|
||||
pandoc-bin \
|
||||
prettier \
|
||||
python-autoflake \
|
||||
python-epc \
|
||||
python-importmagic \
|
||||
pyright \
|
||||
python-nose \
|
||||
python-pip \
|
||||
python-poetry \
|
||||
python-ptvsd \
|
||||
python-pytest \
|
||||
qemu \
|
||||
r \
|
||||
rustup \
|
||||
sbcl \
|
||||
typescript \
|
||||
typescript-language-server-bin \
|
||||
valgrind \
|
||||
vscode-css-languageserver-bin \
|
||||
vscode-html-languageserver-bin \
|
||||
yaml-language-server-bin \
|
||||
zeal
|
||||
|
||||
printf "\n# Installing DEVELPKG ##################################################\n\n"
|
||||
for pkg in $DEVELPKG
|
||||
paru -S --skipreview --needed $pkg
|
||||
end
|
||||
|
||||
|
||||
set LATEXPKG biber \
|
||||
minted \
|
||||
texlive-bibtexextra \
|
||||
texlive-fontsextra \
|
||||
texlive-formatsextra \
|
||||
texlive-humanities \
|
||||
texlive-langjapanese \
|
||||
texlive-pictures \
|
||||
texlive-pstricks \
|
||||
texlive-publishers \
|
||||
texlive-science
|
||||
|
||||
printf "\n# Installing LATEXPKG ##################################################\n\n"
|
||||
for pkg in $LATEXPKG
|
||||
paru -S --skipreview --needed $pkg
|
||||
end
|
||||
|
||||
|
||||
set TERMINALPKG ascii \
|
||||
aspell-en \
|
||||
aspell-fr \
|
||||
bat \
|
||||
bitwarden-cli \
|
||||
bpytop \
|
||||
exa \
|
||||
fd \
|
||||
findutils \
|
||||
fzf \
|
||||
htop \
|
||||
isync \
|
||||
mpc \
|
||||
mpd \
|
||||
mpv \
|
||||
nano \
|
||||
ncdu \
|
||||
ncmpcpp \
|
||||
neofetch \
|
||||
nordvpn-bin \
|
||||
numlockx \
|
||||
p7zip \
|
||||
pass \
|
||||
pdfpc \
|
||||
ripgrep \
|
||||
rsync \
|
||||
flameshot \
|
||||
tealdeer \
|
||||
tmux \
|
||||
tree \
|
||||
unrar \
|
||||
w3m \
|
||||
wget \
|
||||
x11-ssh-askpass \
|
||||
xclip \
|
||||
yt-dlp-drop-in
|
||||
|
||||
printf "\n# Installing TERMINALPKG ##################################################\n\n"
|
||||
for pkg in $TERMINALPKG
|
||||
paru -S --skipreview --needed $pkg
|
||||
end
|
||||
|
||||
|
||||
set APPSPKG bitwarden \
|
||||
discord \
|
||||
firefox \
|
||||
gimp \
|
||||
helvum \
|
||||
nemo \
|
||||
nemo-fileroller \
|
||||
nemo-preview \
|
||||
obs-studio \
|
||||
rofi
|
||||
|
||||
printf "\n# Installing APPSPKG ##################################################\n\n"
|
||||
for pkg in $APPSPKG
|
||||
paru -S --skipreview --needed $pkg
|
||||
end
|
||||
|
||||
cd /home/phundrak/Documents/code/PKGBUILDs/emacs && makepkg -si && cd
|
||||
cd /home/phundrak/Documents/code/PKGBUILDs/nsxiv && makepkg -si && cd
|
||||
cd /home/phundrak/Documents/code/PKGBUILDs/pumopm-git && makepkg -si && cd
|
||||
cd /home/phundrak/Documents/code/PKGBUILDs/sent && makepkg -si && cd
|
||||
|
||||
mkdir -p $HOME/.config/fish
|
||||
mkdir -p $HOME/.config/gtk-2.0
|
||||
mkdir -p $HOME/.config/gtk-3.0
|
||||
@@ -114,14 +256,10 @@ mkdir -p $HOME/.config/neofetch
|
||||
mkdir -p $HOME/.config/picom
|
||||
mkdir -p $HOME/.config/yadm
|
||||
mkdir -p $HOME/.local/bin
|
||||
mkdir -p $HOME/.stumpwm.d
|
||||
mkdir -p $HOME/org/capture
|
||||
|
||||
printf "\n# Tangling org files ##########################################################\n\n"
|
||||
printf '\n\n==== Tangling awesome.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/awesome.org")'
|
||||
|
||||
printf '\n\n==== Tangling bin.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
@@ -142,33 +280,35 @@ emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/index.org")'
|
||||
|
||||
printf '\n\n==== Tangling mpd.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/mpd.org")'
|
||||
|
||||
printf '\n\n==== Tangling neofetch.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/neofetch.org")'
|
||||
|
||||
printf '\n\n==== Tangling picom.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/picom.org")'
|
||||
|
||||
printf '\n\n==== Tangling rustfmt.org\n\n' && \
|
||||
printf '\n\n==== Tangling stumpwm.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/rustfmt.org")'
|
||||
--eval '(org-babel-tangle-file "~/org/config/stumpwm.org")'
|
||||
|
||||
printf '\n\n==== Tangling tmux.org\n\n' && \
|
||||
emacs -q --batch --eval '(require \'ob-tangle)' \
|
||||
--eval '(setq org-confirm-babel-evaluate nil)' \
|
||||
--eval '(org-babel-tangle-file "~/org/config/tmux.org")'
|
||||
|
||||
printf "\n# Installing Spacemacs ########################################################\n\n"
|
||||
rm -rf $HOME/.config/emacs $HOME/.emacs* .spacemacs
|
||||
|
||||
git clone --branch develop https://github.com/syl20bnr/spacemacs ~/.config/emacs
|
||||
|
||||
yadm checkout -- ~/.config/emacs/private/
|
||||
|
||||
if test "$USER" = 'phundrak'
|
||||
|
||||
printf "\n# Update yadm’s remotes #######################################################\n\n"
|
||||
yadm remote set-url origin git@labs.phundrak.com:phundrak/dotfiles.git
|
||||
yadm remote add github git@github.com:phundrak/dotfiles.git
|
||||
|
||||
printf "\n# Decrypt encrypted dotfiles ##################################################\n\n"
|
||||
yadm decrypt
|
||||
@@ -183,6 +323,8 @@ sudo systemctl enable --now systemd-timesyncd
|
||||
|
||||
sudo timedatectl set-ntp true
|
||||
|
||||
sudo usermod -aG video $USER
|
||||
|
||||
printf "\n# Enabling and starting Docker ################################################\n\n"
|
||||
sudo systemctl enable --now docker
|
||||
|
||||
@@ -198,27 +340,24 @@ printf "\n# Enabling Mpd as a user service #####################################
|
||||
mkdir -p ~/.config/mpd/playlists
|
||||
systemctl --user enable --now mpd
|
||||
|
||||
sudo systemctl enable --now nordvpnd
|
||||
|
||||
nordvpn s protocol tcp
|
||||
|
||||
nordvpn set notify enabled
|
||||
nordvpn set ipv6 enabled
|
||||
|
||||
systemctl --user enable --now pipewire-pulse.service
|
||||
|
||||
systemctl --user enable --now pipewire-input-filter-chain.service
|
||||
|
||||
whiptail --yesno 'Do you want to activate the ssh server?' 8 50
|
||||
if test $status -eq 0
|
||||
printf "\n# Enabling ssh server #########################################################\n\n"
|
||||
sudo systemctl enable --now sshd
|
||||
end
|
||||
|
||||
sudo systemctl disable getty@tty2
|
||||
sudo systemctl enable --now ly
|
||||
|
||||
sudo usermod -aG video $USER
|
||||
|
||||
sudo systemctl enable --now nordvpnd
|
||||
|
||||
nordvpn s protocol tcp
|
||||
|
||||
for f in (find ~/.etc -type f)
|
||||
set dest (echo $f | sed -n 's|^.*etc\(.*\)$|/etc\1|p')
|
||||
sudo ln -s $f $dest
|
||||
end
|
||||
|
||||
sudo ln -s (which plock) /usr/bin/plock
|
||||
sudo ln -s ~/.local/bin/plock /usr/bin/plock
|
||||
|
||||
mkdir -p ~/fromGIT
|
||||
|
||||
@@ -232,30 +371,18 @@ rustup default stable
|
||||
rustup toolchain install nightly
|
||||
|
||||
printf "\n# Add rust utilities ##########################################################\n\n"
|
||||
cargo install rustfmt racer
|
||||
cargo install rustfmt
|
||||
|
||||
rustup component add rust-src
|
||||
rustup component add rls
|
||||
rustup component add clippy
|
||||
|
||||
printf "\n# Installing Python packages ##################################################\n\n"
|
||||
pip install --user python-language-server[all] pyls-isort pyls-mypy pyls-black
|
||||
|
||||
printf "\n# Setting up Chicken ##########################################################\n\n"
|
||||
chicken-install -s apropos chicken-doc
|
||||
|
||||
cd (chicken-csi -b -e "(import (chicken platform))" -p "(chicken-home)")
|
||||
curl https://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx
|
||||
|
||||
printf "\n# Installing fisher ###########################################################\n\n"
|
||||
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
|
||||
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
|
||||
|
||||
printf "\n# Installing Fisher Extensions ################################################\n\n"
|
||||
fisher add decors/fish-colored-man
|
||||
fisher add franciscolourenco/done
|
||||
fisher add jethrokuan/fzf
|
||||
fisher add jethrokuan/z
|
||||
fisher add jorgebucaran/fish-bax
|
||||
fisher add jorgebucaran/fish-getopts
|
||||
fisher add laughedelic/pisces
|
||||
fisher add oh-my-fish/theme-bobthefish
|
||||
fisher install decors/fish-colored-man
|
||||
fisher install franciscolourenco/done
|
||||
fisher install jethrokuan/fzf
|
||||
fisher install jorgebucaran/fish-bax
|
||||
fisher install jorgebucaran/fish-getopts
|
||||
fisher install laughedelic/pisces
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
.authinfo.gpg
|
||||
.ssh/*
|
||||
.config/emacs/private/private_emacs.el
|
||||
.config/fish/private.fish
|
||||
.config/isync/mbsyncrc
|
||||
.local/share/gnupg/*
|
||||
.mailrc
|
||||
.profile.private
|
||||
.ssh/*
|
||||
org/*.org
|
||||
org/roam/*
|
||||
|
||||
Binary file not shown.
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"aururl": "https://aur.archlinux.org",
|
||||
"buildDir": "/home/phundrak/.cache/yay",
|
||||
"editor": "",
|
||||
"editorflags": "",
|
||||
"makepkgbin": "makepkg",
|
||||
"makepkgconf": "",
|
||||
"pacmanbin": "pacman",
|
||||
"pacmanconf": "/etc/pacman.conf",
|
||||
"tarbin": "bsdtar",
|
||||
"redownload": "ask",
|
||||
"rebuild": "ask",
|
||||
"answerclean": "",
|
||||
"answerdiff": "",
|
||||
"answeredit": "",
|
||||
"answerupgrade": "",
|
||||
"gitbin": "git",
|
||||
"gpgbin": "gpg",
|
||||
"gpgflags": "",
|
||||
"mflags": "",
|
||||
"sortby": "votes",
|
||||
"gitflags": "",
|
||||
"removemake": "ask",
|
||||
"requestsplitn": 150,
|
||||
"sortmode": 0,
|
||||
"completionrefreshtime": 7,
|
||||
"sudoloop": true,
|
||||
"timeupdate": true,
|
||||
"devel": false,
|
||||
"cleanAfter": false,
|
||||
"gitclone": true,
|
||||
"provides": true,
|
||||
"pgpfetch": true,
|
||||
"upgrademenu": true,
|
||||
"cleanmenu": true,
|
||||
"diffmenu": false,
|
||||
"editmenu": true,
|
||||
"combinedupgrade": false,
|
||||
"useask": false
|
||||
}
|
||||
@@ -37,54 +37,57 @@ set recolor true
|
||||
set recolor-darkcolor '#eceff4'
|
||||
set recolor-lightcolor '#2e3440'
|
||||
set recolor-keephue
|
||||
set recolor-reverse-video
|
||||
|
||||
set guioptions ""
|
||||
|
||||
# keybindings
|
||||
unmap a
|
||||
unmap <C-c>
|
||||
unmap <C-d>
|
||||
unmap <C-j>
|
||||
unmap <C-k>
|
||||
unmap <C-r>
|
||||
unmap <C-t>
|
||||
unmap <C-u>
|
||||
unmap <C-y>
|
||||
unmap <F5>
|
||||
unmap H
|
||||
unmap J
|
||||
unmap K
|
||||
unmap L
|
||||
unmap R
|
||||
unmap a
|
||||
unmap h
|
||||
unmap j
|
||||
unmap k
|
||||
unmap l
|
||||
unmap r
|
||||
unmap s
|
||||
unmap t
|
||||
unmap y
|
||||
|
||||
map c scroll left
|
||||
map C scroll full-left
|
||||
map <C-c> scroll half-left
|
||||
unmap <C-d>
|
||||
map <C-g> abort
|
||||
unmap h
|
||||
unmap H
|
||||
unmap j
|
||||
unmap J
|
||||
unmap <C-j>
|
||||
unmap k
|
||||
unmap K
|
||||
unmap <C-k>
|
||||
unmap l
|
||||
unmap L
|
||||
map <A-p> print
|
||||
unmap r
|
||||
unmap R
|
||||
unmap <C-r>
|
||||
map r scroll right
|
||||
map R scroll full-right
|
||||
map <C-r> scroll half-right
|
||||
unmap s
|
||||
map s scroll up
|
||||
map S navigate previous
|
||||
map <C-s> scroll half-up
|
||||
map <A-s> scroll page-top
|
||||
unmap t
|
||||
unmap <C-t>
|
||||
map t scroll down
|
||||
map T navigate next
|
||||
map <C-t> scroll half-down
|
||||
map <A-t> scroll page-bottom
|
||||
unmap <C-u>
|
||||
map s scroll up
|
||||
map S navigate previous
|
||||
map <C-s> scroll half-up
|
||||
map <A-s> scroll page-top
|
||||
map r scroll right
|
||||
map R scroll full-right
|
||||
map <C-r> scroll half-right
|
||||
|
||||
map <C-g> abort
|
||||
map <A-p> print
|
||||
map w adjust_window width
|
||||
map W adjust_window best-fit
|
||||
unmap y
|
||||
unmap <C-y>
|
||||
map <F2> rotate rotate-ccw
|
||||
map <F3> rotate rotate-cw
|
||||
map <F4> recolor
|
||||
unmap <F5>
|
||||
map <F5> reload
|
||||
map <F6> jumplist backward
|
||||
map <F7> jumplist forward
|
||||
@@ -103,14 +106,14 @@ map fullscreen t navigate next
|
||||
map fullscreen <F11> change_mode normal
|
||||
|
||||
# Index mode
|
||||
map index c navigate_index collapse
|
||||
map index C navigate_index collapse-al
|
||||
unmap index h
|
||||
unmap index H
|
||||
unmap index j
|
||||
unmap index k
|
||||
unmap index l
|
||||
unmap index L
|
||||
map index c navigate_index collapse
|
||||
map index C navigate_index collapse-al
|
||||
map index r navigate_index expand
|
||||
map index R navigate_index expand-all
|
||||
map index s navigate_index up
|
||||
|
||||
38
.drone.yml
38
.drone.yml
@@ -1,38 +0,0 @@
|
||||
kind: pipeline
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: silex/emacs:27-alpine
|
||||
commands:
|
||||
- emacs --script export.el
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
|
||||
- name: deploy
|
||||
image: appleboy/drone-scp
|
||||
settings:
|
||||
host:
|
||||
from_secret: ssh_host
|
||||
target:
|
||||
from_secret: ssh_target
|
||||
source:
|
||||
- !org/config/LICENSE.md
|
||||
- org/config/*.html
|
||||
strip_components: 2
|
||||
username:
|
||||
from_secret: ssh_username
|
||||
password:
|
||||
from_secret: ssh_password
|
||||
port:
|
||||
from_secret: ssh_port
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
exclude:
|
||||
- pull_request
|
||||
@@ -1,99 +0,0 @@
|
||||
# animation enabled
|
||||
animate = false
|
||||
#animate = true
|
||||
|
||||
# the active animation (only animation '0' available for now)
|
||||
#animation = 0
|
||||
|
||||
# the char used to mask the password
|
||||
asterisk = *
|
||||
#asterisk = o
|
||||
|
||||
# background color id
|
||||
#bg = 0
|
||||
|
||||
# blank main box
|
||||
#blank_box = true
|
||||
|
||||
# erase password input on failure
|
||||
blank_password = true
|
||||
|
||||
# console path
|
||||
#console_dev = /dev/console
|
||||
|
||||
# input active by default on startup
|
||||
#default_input = 2
|
||||
|
||||
# foreground color id
|
||||
#fg = 9
|
||||
|
||||
# remove main box borders
|
||||
#hide_borders = false
|
||||
hide_borders = true
|
||||
|
||||
# number of visible chars on an input
|
||||
#input_len = 34
|
||||
|
||||
# active language
|
||||
lang = en
|
||||
#lang = fr
|
||||
|
||||
# load the saved desktop and login
|
||||
load = true
|
||||
|
||||
# main box margins
|
||||
#margin_box_h = 2
|
||||
#margin_box_v = 1
|
||||
|
||||
# total input sizes
|
||||
#max_desktop_len = 100
|
||||
#max_login_len = 255
|
||||
#max_password_len = 255
|
||||
|
||||
# cookie generator
|
||||
#mcookie_cmd = /usr/bin/mcookie
|
||||
|
||||
# event timeout in milliseconds
|
||||
#min_refresh_delta = 5
|
||||
|
||||
# default path
|
||||
#path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/env
|
||||
|
||||
# command executed when pressing F2
|
||||
restart_cmd = /usr/bin/reboot
|
||||
|
||||
# save the current desktop and login as defaults
|
||||
save = true
|
||||
|
||||
# file in which to save and load the default desktop and login
|
||||
#save_file = /etc/ly/save
|
||||
|
||||
# service name (pam needs this set to login)
|
||||
#service_name = login
|
||||
|
||||
# command executed when pressing F1
|
||||
shutdown_cmd = /usr/bin/poweroff
|
||||
|
||||
# terminal reset command (tput is faster)
|
||||
#term_reset_cmd = /usr/bin/tput reset
|
||||
|
||||
# tty in use
|
||||
#tty = 2
|
||||
|
||||
# wayland setup command
|
||||
#wayland_cmd = /etc/ly/wsetup.sh
|
||||
|
||||
# wayland desktop environments
|
||||
#waylandsessions = /usr/share/wayland-sessions
|
||||
|
||||
# xorg server command
|
||||
#x_cmd = /usr/bin/X
|
||||
|
||||
# xorg setup command
|
||||
#x_cmd_setup = /etc/ly/xsetup.sh
|
||||
|
||||
# xorg xauthority edition tool
|
||||
#xauth_cmd = /usr/bin/xauth
|
||||
|
||||
# xorg desktop environments
|
||||
#xsessions = /usr/share/xsessions
|
||||
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1 +0,0 @@
|
||||
*.org linguist-detectable=true
|
||||
15
.gitea/workflows/test.yaml
Normal file
15
.gitea/workflows/test.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
jobs:
|
||||
Explore-Gitea-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
|
||||
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
|
||||
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
|
||||
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||||
- name: List files in the repository
|
||||
run: |
|
||||
ls ${{ gitea.workspace }}
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
9
.gitmodules
vendored
9
.gitmodules
vendored
@@ -1,9 +0,0 @@
|
||||
[submodule ".config/tmux"]
|
||||
path = .config/tmux
|
||||
url = https://github.com/gpakosz/.tmux.git
|
||||
[submodule ".config/emacs/private/conlanging"]
|
||||
path = fromGIT/emacs-packages/conlanging
|
||||
url = https://labs.phundrak.com/phundrak/conlang-layer
|
||||
[submodule ".mozilla/firefox/lruehqec.default/chrome"]
|
||||
path = .mozilla/firefox/lruehqec.default/chrome
|
||||
url = git@labs.phundrak.com:phundrak/blurredfox-nord.git
|
||||
@@ -1,2 +0,0 @@
|
||||
keyserver hkp://keys.gnupg.net
|
||||
keyserver-options auto-key-retrieve
|
||||
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.5
|
||||
Name=FlowScape
|
||||
Comment=Create gorgeous 3D landscapes with ease.
|
||||
Exec=/usr/bin/prime-run /home/phundrak/FlowScape/FlowScape.x86_64
|
||||
Path=/home/phundrak/FlowScape
|
||||
Icon=/home/phundrak/FlowScape/icon.jpg
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Graphics
|
||||
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0.1
|
||||
Name=OtherWorldMapper
|
||||
Comment=OtherWorldMapper is a powerful yet intuitive fantasy map creation tool.
|
||||
Exec=/usr/bin/prime-run /home/phundrak/OtherWorldMapper/OWM
|
||||
Path=/home/phundrak/OtherWorldMapper
|
||||
Icon=/home/phundrak/OtherWorldMapper/owm.ico
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Graphics
|
||||
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.1.3.2
|
||||
Name=Wonderdraft
|
||||
Comment=Wonderdraft is a powerful yet intuitive fantasy map creation tool.
|
||||
Exec=/usr/bin/prime-run /home/phundrak/Wonderdraft/Wonderdraft.x86_64
|
||||
Path=/home/phundrak/Wonderdraft
|
||||
Icon=/home/phundrak/Wonderdraft/Wonderdraft.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Graphics
|
||||
@@ -1,12 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Emacs
|
||||
GenericName=Text Editor
|
||||
Comment=Edit text
|
||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||
Exec=emacsclient -c %F
|
||||
Icon=emacs
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Development;TextEditor;
|
||||
StartupWMClass=Emacs
|
||||
Keywords=Text;Editor;
|
||||
@@ -1,12 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Mu4e
|
||||
GenericName=Mu4e
|
||||
Comment=Maildir Utils for Emacs
|
||||
MimeType=x-scheme-handler/mailto;
|
||||
Exec=/home/phundrak/.local/bin/emacsmail %U
|
||||
Icon=emacs
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Network;Email;TextEditor
|
||||
StartupWMClass=Gnus
|
||||
Keywords=Text;Editor;
|
||||
BIN
.local/share/yadm/archive
Normal file
BIN
.local/share/yadm/archive
Normal file
Binary file not shown.
Submodule .mozilla/firefox/lruehqec.default/chrome deleted from c907f26786
105
.profile
Executable file
105
.profile
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/bin/sh
|
||||
# shellcheck source=/dev/null
|
||||
. "$HOME"/.profile.private
|
||||
|
||||
export EMAIL=lucien@phundrak.com
|
||||
export NAME="Lucien Cartier-Tilet"
|
||||
|
||||
export XDG_CACHE_HOME="$HOME"/.cache
|
||||
export XDG_CONFIG_HOME="$HOME"/.config
|
||||
export XDG_DATA_HOME="$HOME"/.local/share
|
||||
export XDG_STATE_HOME="$HOME"/.local/state
|
||||
|
||||
SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||
export SSH_AUTH_SOCK
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":/usr/local/lib
|
||||
export LSP_USE_PLISTS=true
|
||||
export DIFFPROG=ediff
|
||||
export SUDO_ASKPASS="$HOME"/.local/bin/askpass
|
||||
export MANPAGER=less
|
||||
|
||||
export DART_SDK=/opt/dart-sdk/bin
|
||||
export ANDROID_HOME="$HOME"/Android/Sdk
|
||||
export CHROME_EXECUTABLE=/usr/bin/chromium
|
||||
|
||||
LESS_TERMCAP_mb=$(printf '\e[1;32m')
|
||||
export LESS_TERMCAP_mb
|
||||
LESS_TERMCAP_md=$(printf '\e[1;32m')
|
||||
export LESS_TERMCAP_md
|
||||
LESS_TERMCAP_me=$(printf '\e[0m')
|
||||
export LESS_TERMCAP_me
|
||||
LESS_TERMCAP_se=$(printf '\e[0m')
|
||||
export LESS_TERMCAP_se
|
||||
LESS_TERMCAP_so=$(printf '\e[01;33m')
|
||||
export LESS_TERMCAP_so
|
||||
LESS_TERMCAP_ue=$(printf '\e[0m')
|
||||
export LESS_TERMCAP_ue
|
||||
LESS_TERMCAP_us=$(printf '\e[1;4;31m')
|
||||
export LESS_TERMCAP_us
|
||||
|
||||
export BROWSER=firefox
|
||||
|
||||
export EDITOR="emacsclient -c"
|
||||
export VISUAL="emacsclient -c"
|
||||
|
||||
export GTK_THEME=Nordic
|
||||
export GTK_ICON_THEME="Flat-Remix-Dark"
|
||||
|
||||
export __GL_SHADER_DISK_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||||
export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java -Djavafx.cachedir=${XDG_CACHE_HOME}/openjfx"
|
||||
export _Z_DATA="$XDG_DATA_HOME"/z
|
||||
export BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle
|
||||
export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle
|
||||
export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
|
||||
export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
||||
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||||
export DENO_DIR="$HOME"/.config/deno
|
||||
export DENO_INSTALL_ROOT="$HOME"/.local/bin/deno
|
||||
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
|
||||
export GEM_HOME="$XDG_DATA_HOME"/gem
|
||||
export GEM_SPEC_CACHE="$XDG_CACHE_HOME"/gem
|
||||
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
|
||||
export GOPATH="$XDG_DATA_HOME"/go
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||
export HISTFILE="$XDG_STATE_HOME/bash/history"
|
||||
export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
|
||||
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
|
||||
export MBSYNCRC="$XDG_CONFIG_HOME"/isync/mbsyncrc
|
||||
export MPLAYER_HOME="$XDG_CONFIG_HOME"/mplayer
|
||||
export MYPY_CACHE_DIR="$XDG_CACHE_HOME"/mypy
|
||||
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
||||
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
|
||||
export NVM_DIR="$XDG_DATA_HOME"/nvm
|
||||
export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
||||
export PKG_CACHE_PATH="$XDG_CACHE_HOME"/pkg-cache
|
||||
export PSQL_HISTORY="$XDG_DATA_HOME/psql_history"
|
||||
export PYENV_ROOT="$XDG_DATA_HOME"/pyenv
|
||||
export PYLINTHOME="$XDG_CACHE_HOME"/pylint
|
||||
export PYTHONSTARTUP="$HOME"/python/pythonrc
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
|
||||
export TERMINFO="$XDG_DATA_HOME"/terminfo
|
||||
export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
|
||||
export TEXMFVAR="$XDG_CACHE_HOME"/texlive/texmf-var
|
||||
export W3M_DIR="$XDG_DATA_HOME"/w3m
|
||||
export WINEPREFIX="$XDG_DATA_HOME"/wine
|
||||
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||||
export XCOMPOSEFILE="$XDG_CONFIG_HOME"/X11/xcompose
|
||||
export XCURSOR_PATH=/usr/share/icons:$XDG_DATA_HOME/icons
|
||||
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
|
||||
export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet
|
||||
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||||
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
|
||||
|
||||
PATH="/usr/lib/xfce-polkit/:$PATH"
|
||||
PATH="$HOME/.cabal/bin:$PATH"
|
||||
PATH="$GEM_HOME/ruby/2.6.0/bin:$PATH"
|
||||
PATH="$GEM_HOME/ruby/3.0.0/bin:$PATH"
|
||||
PATH="$GOPATH/bin:$PATH"
|
||||
PATH="${CARGO_HOME}/bin:$PATH"
|
||||
PATH="$HOME/Android/Sdk/tools/bin:$PATH"
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
PATH="$HOME/.config/plover/plugins/linux/bin:$PATH"
|
||||
PATH="$HOME/.nix-profile/bin:$PATH"
|
||||
export PATH
|
||||
7
.sbclrc
Normal file
7
.sbclrc
Normal file
@@ -0,0 +1,7 @@
|
||||
;;; -*- mode: lisp; -*-
|
||||
;;; The following lines added by ql:add-to-init-file:
|
||||
#-quicklisp
|
||||
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
|
||||
(user-homedir-pathname))))
|
||||
(when (probe-file quicklisp-init)
|
||||
(load quicklisp-init)))
|
||||
209
.spacemacs
209
.spacemacs
@@ -1,209 +0,0 @@
|
||||
;; -*- mode: emacs-lisp; lexical-binding: t -*-
|
||||
(defvar phundrak//dotspacemacs-src-dir "~/.config/emacs/private/"
|
||||
"Directory for my exported Elisp configuration files")
|
||||
(defvar phundrak//dotspacemacs-src "~/org/config/emacs.org"
|
||||
"My litterate config file for Emacs")
|
||||
(defvar phundrak//dotspacemacs-si (concat phundrak//dotspacemacs-src-dir "spacemacs-init"))
|
||||
(defvar phundrak//dotspacemacs-sl (concat phundrak//dotspacemacs-src-dir "spacemacs-layers"))
|
||||
(defvar phundrak//dotspacemacs-uc (concat phundrak//dotspacemacs-src-dir "user-config"))
|
||||
(defvar phundrak//dotspacemacs-ui (concat phundrak//dotspacemacs-src-dir "user-init"))
|
||||
(defvar phundrak//dotspacemacs-files (list phundrak//dotspacemacs-si phundrak//dotspacemacs-sl
|
||||
phundrak//dotspacemacs-uc phundrak//dotspacemacs-ui))
|
||||
|
||||
(defun phundrak/update-config-files-p (&optional compiled?)
|
||||
"Verify if any of my exported Elisp configuration files are
|
||||
newer than my litterate configuration.
|
||||
|
||||
If `compiled?' is `t', check the `.elc' files instead of the
|
||||
`.el' files."
|
||||
(catch 'ret
|
||||
(dolist (file phundrak//dotspacemacs-files)
|
||||
(when (file-newer-than-file-p phundrak//dotspacemacs-src
|
||||
(format "%s.%s"
|
||||
file
|
||||
(if compiled? "elc" "el")))
|
||||
(throw 'ret t)))))
|
||||
|
||||
(defun dotspacemacs/init ()
|
||||
"Initialization:
|
||||
This function is called at the very beginning of Spacemacs startup,
|
||||
before layer configuration.
|
||||
It should only modify the values of Spacemacs settings."
|
||||
|
||||
(when (phundrak/update-config-files-p)
|
||||
(message "Exporting new Emacs configuration from spacemacs.org through org-babel...")
|
||||
(require 'ob-tangle)
|
||||
(let ((org-confirm-babel-evaluate nil))
|
||||
(org-babel-tangle-file phundrak//dotspacemacs-src))
|
||||
(message "Exporting new Emacs configuration from spacemacs.org through org-babel...done"))
|
||||
(when (phundrak/update-config-files-p t)
|
||||
(with-temp-buffer
|
||||
(byte-recompile-directory phundrak//dotspacemacs-src-dir
|
||||
0 t)))
|
||||
(load phundrak//dotspacemacs-si))
|
||||
|
||||
(defun dotspacemacs/layers ()
|
||||
"Layer configuration:
|
||||
This function should only modify configuration layer settings."
|
||||
(load phundrak//dotspacemacs-sl))
|
||||
|
||||
(defun dotspacemacs/user-env ()
|
||||
"Environment variables setup.
|
||||
This function defines the environment variables for your Emacs session. By
|
||||
default it calls `spacemacs/load-spacemacs-env' which loads the environment
|
||||
variables declared in `~/.spacemacs.env' or `~/.spacemacs.d/.spacemacs.env'.
|
||||
See the header of this file for more information."
|
||||
(spacemacs/load-spacemacs-env))
|
||||
|
||||
(defun dotspacemacs/user-init ()
|
||||
"Initialization for user code:
|
||||
This function is called immediately after `dotspacemacs/init', before layer
|
||||
configuration.
|
||||
It is mostly for variables that should be set before packages are loaded.
|
||||
If you are unsure, try setting them in `dotspacemacs/user-config' first."
|
||||
(load phundrak//dotspacemacs-ui))
|
||||
|
||||
(defun dotspacemacs/user-load ()
|
||||
"Library to load while dumping.
|
||||
This function is called only while dumping Spacemacs configuration. You can
|
||||
`require' or `load' the libraries of your choice that will be included in the
|
||||
dump."
|
||||
)
|
||||
|
||||
(defun dotspacemacs/user-config ()
|
||||
"Configuration for user code:
|
||||
This function is called at the very end of Spacemacs startup, after layer
|
||||
configuration.
|
||||
Put your configuration code here, except for variables that should be set
|
||||
before packages are loaded."
|
||||
(load phundrak//dotspacemacs-uc))
|
||||
|
||||
|
||||
;; Do not write anything past this comment. This is where Emacs will
|
||||
;; auto-generate custom variable definitions.
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-faces-vector
|
||||
[default default default italic underline success warning error])
|
||||
'(ansi-color-names-vector
|
||||
["black" "red3" "ForestGreen" "yellow3" "blue" "magenta3" "DeepSkyBlue" "gray50"])
|
||||
'(evil-want-Y-yank-to-eol nil)
|
||||
'(org-export-headline-levels 4)
|
||||
'(package-selected-packages
|
||||
'(xkcd vmd-mode visual-fill-column typit mmt sudoku restclient-helm pony-mode pacmacs ox-reveal outorg ob-restclient ob-http meson-mode ibuffer-projectile lv helm-w3m w3m graphviz-dot-mode flycheck-gometalinter transient ess-smart-equals ess-R-data-view ctable ess julia-mode eshell-git-prompt emoji-cheat-sheet-plus edit-indirect dockerfile-mode docker docker-tramp company-restclient restclient know-your-http-well company-quickhelp company-emoji company-emacs-eclim eclim atomic-chrome websocket 2048-game ox-gfm slime-company slime common-lisp-snippets erlang insert-shebang fish-mode company-shell faceup racket-mode treepy graphql yapfify yaml-mode xterm-color web-beautify twittering-mode toml-mode tagedit stickyfunc-enhance smeargle slim-mode shell-pop selectric-mode scss-mode sass-mode ranger rainbow-identifiers pytest pyenv-mode py-isort pug-mode plantuml-mode phpunit phpcbf php-auto-yasnippets pdf-tools tablist ox-pandoc orgit org-present org-pomodoro alert log4e gntp ob-elixir multi-term markdown-toc magit-gitflow magit-gh-pulls livid-mode live-py-mode json-snatcher js2-refactor js-doc htmlize hlint-refactor hindent helm-pydoc helm-hoogle helm-gitignore helm-css-scss haskell-snippets haml-mode gnuplot glsl-mode gitignore-mode github-search github-clone github-browse-file gitconfig-mode gitattributes-mode git-messenger gist gh marshal logito pcache ht gh-md flyspell-correct-helm flyspell-correct flycheck-rust pos-tip flycheck-mix flycheck-credo eshell-z eshell-prompt-extras esh-help drupal-mode disaster cython-mode dash-functional tern company-ghci company-ghc ghc color-identifiers-mode cmm-mode clang-format cargo auto-dictionary alchemist modern-cpp-font-lock yasnippet-snippets x86-lookup web-mode srefactor racer pyvenv pip-requirements pandoc-mode org-projectile org-category-capture org-mime org-download nasm-mode json-reformat intero imenu-list hy-mode git-timemachine git-link geiser flycheck-pos-tip flycheck-haskell evil-magit emmet-mode cmake-mode anaconda-mode rust-mode elixir-mode flycheck haskell-mode multiple-cursors skewer-mode simple-httpd markdown-mode magit magit-popup git-commit ghub with-editor pythonic emms gmail-message-mode ham-mode html-to-markdown flymd edit-server image-dired+ go-guru go-eldoc company-go go-mode unfill mwim company-web web-completion-data company-tern company-cabal company-c-headers company-auctex company-anaconda elcord xresources-theme sql-indent rainbow-mode php-extras php-mode mmm-mode json-mode js2-mode csv-mode coffee-mode auctex helm-company helm-c-yasnippet fuzzy company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async)))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
||||
(defun dotspacemacs/emacs-custom-settings ()
|
||||
"Emacs custom settings.
|
||||
This is an auto-generated function, do not modify its content directly, use
|
||||
Emacs customize menu instead.
|
||||
This function is called at the very end of Spacemacs initialization."
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-faces-vector
|
||||
[default default default italic underline success warning error])
|
||||
'(ansi-color-names-vector
|
||||
["black" "red3" "ForestGreen" "yellow3" "blue" "magenta3" "DeepSkyBlue" "gray50"])
|
||||
'(default-input-method "ipa-x-sampa")
|
||||
'(eshell-aliases-file "/home/phundrak/.emacs.d/private/eshell-alias")
|
||||
'(evil-want-Y-yank-to-eol nil)
|
||||
'(fci-rule-color "#5B6268")
|
||||
'(hl-todo-keyword-faces
|
||||
'(("TODO" . "#dc752f")
|
||||
("NEXT" . "#dc752f")
|
||||
("THEM" . "#2d9574")
|
||||
("PROG" . "#3a81c3")
|
||||
("OKAY" . "#3a81c3")
|
||||
("DONT" . "#f2241f")
|
||||
("FAIL" . "#f2241f")
|
||||
("DONE" . "#42ae2c")
|
||||
("NOTE" . "#b1951d")
|
||||
("KLUDGE" . "#b1951d")
|
||||
("HACK" . "#b1951d")
|
||||
("TEMP" . "#b1951d")
|
||||
("FIXME" . "#dc752f")
|
||||
("XXX" . "#dc752f")
|
||||
("XXXX" . "#dc752f")))
|
||||
'(jdee-db-active-breakpoint-face-colors (cons "#1B2229" "#51afef"))
|
||||
'(jdee-db-requested-breakpoint-face-colors (cons "#1B2229" "#98be65"))
|
||||
'(jdee-db-spec-breakpoint-face-colors (cons "#1B2229" "#3f444a"))
|
||||
'(objed-cursor-color "#ff6c6b")
|
||||
'(org-export-headline-levels 4)
|
||||
'(package-selected-packages
|
||||
'(diredfl caddyfile-mode ob-swift wttrin wrap-region pinentry org-tree-slide org-sidebar org-ql peg ov org-super-agenda ts dired-du caddyfile-mode loop xkcd vmd-mode visual-fill-column typit mmt sudoku restclient-helm pony-mode pacmacs ox-reveal outorg ob-restclient ob-http meson-mode ibuffer-projectile lv helm-w3m w3m graphviz-dot-mode flycheck-gometalinter transient ess-smart-equals ess-R-data-view ctable ess julia-mode eshell-git-prompt emoji-cheat-sheet-plus edit-indirect dockerfile-mode docker docker-tramp company-restclient restclient know-your-http-well company-quickhelp company-emoji company-emacs-eclim eclim atomic-chrome websocket 2048-game ox-gfm slime-company slime common-lisp-snippets erlang insert-shebang fish-mode company-shell faceup racket-mode treepy graphql yapfify yaml-mode xterm-color web-beautify twittering-mode toml-mode tagedit stickyfunc-enhance smeargle slim-mode shell-pop selectric-mode scss-mode sass-mode ranger rainbow-identifiers pytest pyenv-mode py-isort pug-mode plantuml-mode phpunit phpcbf php-auto-yasnippets pdf-tools tablist ox-pandoc orgit org-present org-pomodoro alert log4e gntp ob-elixir multi-term markdown-toc magit-gitflow magit-gh-pulls livid-mode live-py-mode json-snatcher js2-refactor js-doc htmlize hlint-refactor hindent helm-pydoc helm-hoogle helm-gitignore helm-css-scss haskell-snippets haml-mode gnuplot glsl-mode gitignore-mode github-search github-clone github-browse-file gitconfig-mode gitattributes-mode git-messenger gist gh marshal logito pcache ht gh-md flyspell-correct-helm flyspell-correct flycheck-rust pos-tip flycheck-mix flycheck-credo eshell-z eshell-prompt-extras esh-help drupal-mode disaster cython-mode dash-functional tern company-ghci company-ghc ghc color-identifiers-mode cmm-mode clang-format cargo auto-dictionary alchemist modern-cpp-font-lock yasnippet-snippets x86-lookup web-mode srefactor racer pyvenv pip-requirements pandoc-mode org-projectile org-category-capture org-mime org-download nasm-mode json-reformat intero imenu-list hy-mode git-timemachine git-link geiser flycheck-pos-tip flycheck-haskell evil-magit emmet-mode cmake-mode anaconda-mode rust-mode elixir-mode flycheck haskell-mode multiple-cursors skewer-mode simple-httpd markdown-mode magit magit-popup git-commit ghub with-editor pythonic emms gmail-message-mode ham-mode html-to-markdown flymd edit-server image-dired+ go-guru go-eldoc company-go go-mode unfill mwim company-web web-completion-data company-tern company-cabal company-c-headers company-auctex company-anaconda elcord xresources-theme sql-indent rainbow-mode php-extras php-mode mmm-mode json-mode js2-mode csv-mode coffee-mode auctex helm-company helm-c-yasnippet fuzzy company-statistics company auto-yasnippet yasnippet ac-ispell auto-complete ws-butler winum which-key volatile-highlights vi-tilde-fringe uuidgen use-package toc-org spaceline powerline restart-emacs request rainbow-delimiters popwin persp-mode pcre2el paradox spinner org-plus-contrib org-bullets open-junk-file neotree move-text macrostep lorem-ipsum linum-relative link-hint indent-guide hydra hungry-delete hl-todo highlight-parentheses highlight-numbers parent-mode highlight-indentation helm-themes helm-swoop helm-projectile helm-mode-manager helm-make projectile pkg-info epl helm-flx helm-descbinds helm-ag google-translate golden-ratio flx-ido flx fill-column-indicator fancy-battery eyebrowse expand-region exec-path-from-shell evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-search-highlight-persist evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-lisp-state smartparens evil-indent-plus evil-iedit-state iedit evil-exchange evil-escape evil-ediff evil-args evil-anzu anzu evil goto-chg undo-tree eval-sexp-fu highlight elisp-slime-nav dumb-jump f dash s diminish define-word column-enforce-mode clean-aindent-mode bind-map bind-key auto-highlight-symbol auto-compile packed aggressive-indent adaptive-wrap ace-window ace-link ace-jump-helm-line helm avy helm-core popup async))
|
||||
'(pdf-view-midnight-colors '("#655370" . "#fbf8ef"))
|
||||
'(safe-local-variable-values
|
||||
'((org-confirm-babel-evaluate)
|
||||
(javascript-backend . tern)
|
||||
(javascript-backend . lsp)))
|
||||
'(solaire-mode-auto-swap-bg t)
|
||||
'(vc-annotate-background "#282c34")
|
||||
'(vc-annotate-color-map
|
||||
(list
|
||||
(cons 20 "#98be65")
|
||||
(cons 40 "#b4be6c")
|
||||
(cons 60 "#d0be73")
|
||||
(cons 80 "#ECBE7B")
|
||||
(cons 100 "#e6ab6a")
|
||||
(cons 120 "#e09859")
|
||||
(cons 140 "#da8548")
|
||||
(cons 160 "#d38079")
|
||||
(cons 180 "#cc7cab")
|
||||
(cons 200 "#c678dd")
|
||||
(cons 220 "#d974b7")
|
||||
(cons 240 "#ec7091")
|
||||
(cons 260 "#ff6c6b")
|
||||
(cons 280 "#cf6162")
|
||||
(cons 300 "#9f585a")
|
||||
(cons 320 "#6f4e52")
|
||||
(cons 340 "#5B6268")
|
||||
(cons 360 "#5B6268")))
|
||||
'(vc-annotate-very-old-color nil)
|
||||
'(warning-suppress-log-types '((comp)))
|
||||
'(warning-suppress-types '((comp))))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(mu4e-forwarded-face ((t (:inherit (mu4e-header-highlight-face font-lock-builtin-face) :weight normal :underline nil :background "#2e3440" :foreground "#b48ead"))))
|
||||
'(mu4e-replied-face ((t (:inherit (mu4e-header-highlight-face font-lock-builtin-face) :weight normal :underline nil :background "#2e3440" :foreground "#a3be8c"))))
|
||||
'(org-block ((t (:inherit fixed-pitch :height 0.8))))
|
||||
'(org-block-begin-line ((t (:inherit fixed-pitch :height 0.8))))
|
||||
'(org-checkbox ((t (:inherit (org-todo shadow fixed-pitch)))))
|
||||
'(org-code ((t (:inherit (shadow fixed-pitch)))))
|
||||
'(org-document-info ((t (:foreground "#d08770"))))
|
||||
'(org-document-info-keyword ((t (:inherit (shadow fixed-pitch)))))
|
||||
'(org-document-title ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#bf616a" :height 2.0 :italic t))))
|
||||
'(org-drawer ((t (:inherit fixed-pitch :height 0.8 :foreground "#5e81ac"))))
|
||||
'(org-formula ((t (:inherit fixed-pitch :height 0.8))))
|
||||
'(org-indent ((t (:inherit fixed-pitch :height 0.8))))
|
||||
'(org-level-1 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#b48ead" :height 1.75))))
|
||||
'(org-level-2 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#5e81ac" :height 1.5))))
|
||||
'(org-level-3 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#81a1c1" :height 1.25))))
|
||||
'(org-level-4 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#b48ead" :height 1.1))))
|
||||
'(org-level-5 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#88c0d0"))))
|
||||
'(org-level-6 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#8fbcbb"))))
|
||||
'(org-level-7 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#b48ead"))))
|
||||
'(org-level-8 ((t (:font "Charis SIL" :height 1.0 :inherit default :weight bold :foreground "#eceff4"))))
|
||||
'(org-link ((t (:foreground "#88c0d0" :underline t))))
|
||||
'(org-macro ((t (:inherit fixed-pitch :height 0.8))))
|
||||
'(org-meta-line ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.8))))
|
||||
'(org-property-value ((t (:inherit fixed-pitch :height 0.8))) t)
|
||||
'(org-special-keyword ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.8 :foreground "#b48ead"))))
|
||||
'(org-table ((t (:inherit fixed-pitch :height 0.8 :foreground "#a3be8c"))))
|
||||
'(org-tag ((t (:inherit (shadow fixed-pitch) :weight bold))))
|
||||
'(org-target ((t (:inherit fixed-pitch :height 0.8))))
|
||||
'(org-verbatim ((t (:inherit (shadow fixed-pitch)))))
|
||||
'(variable-pitch ((t (:font "Charis SIL" :height 1.0 :height 1.3 :weight thin)))))
|
||||
)
|
||||
@@ -1 +0,0 @@
|
||||
.config/tmux/.tmux.conf
|
||||
51
README.org
51
README.org
@@ -3,46 +3,31 @@
|
||||
#+EMAIL: lucien@phundrak.com
|
||||
#+CREATOR: Lucien Cartier-Tilet
|
||||
#+LANGUAGE: en
|
||||
#+OPTIONS: auto-id:t H:4 broken_links:mark email:t ^:{}
|
||||
#+OPTIONS: H:4 broken_links:mark email:t ^:{}
|
||||
#+KEYWORDS: dotfiles linux emacs configuration phundrak drakpa
|
||||
|
||||
#+html: <a href="https://archlinux.org/"><img src="https://img.shields.io/badge/OS-Arch%20Linux-10A0CC?logo=Arch%20Linux&logoColor=white&style=flat-square"/></a>
|
||||
|
||||
* Presentation
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: Presentation-e5605995
|
||||
:END:
|
||||
[[https://drone.phundrak.com/phundrak/dotfiles][file:https://drone.phundrak.com/api/badges/phundrak/dotfiles/status.svg]]
|
||||
This repository is where I keep most of my configuration files. With
|
||||
what is stored here, anyone can recreate a working desktop
|
||||
configuration similar to my daily one.
|
||||
|
||||
This repository is where I keep most of my configuration files. With what is
|
||||
stored here, anyone can recreate a working desktop configuration similar to my
|
||||
daily one.
|
||||
My dotfiles are managed by [[https://yadm.io/][yadm]], and although I don’t use its
|
||||
alternate files features (which is pretty neat btw), it allows me to
|
||||
painlessly manage my dotfiles right where they are and not in a
|
||||
separate Git repository somewhere with everything symlinked. Another
|
||||
advantage of yadm is it will automatically execute (with your
|
||||
authorization, of course) my homemade bootstrap when my dotfiles are
|
||||
cloned through yadm.
|
||||
|
||||
My dotfiles are managed by [[https://yadm.io/][yadm]], and although I don’t use its alternate files
|
||||
features (which is pretty neat btw), it allows me to painlessly manage my
|
||||
dotfiles right where they are and not in a separate Git repository somewhere
|
||||
with everything symlinked. Another advantage of yadm is it will automatically
|
||||
execute (with your authorization, of course) my homemade bootstrap when my
|
||||
dotfiles are cloned through yadm.
|
||||
|
||||
* Where’s the config file for X?
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: Where’s_the_config_file_for_X?-7b214c4a
|
||||
:END:
|
||||
As you may have noticed, I am striving for a 100% amount of configuration
|
||||
files exported from Org files, that is, through literary programming. This is
|
||||
still very much a work in progress though. Most of what you need can be found
|
||||
in my [[file:org/config/index.org][index.org]] file and in its folder.
|
||||
|
||||
* Some more info please?
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: Some_more_info_please?-f54ae73a
|
||||
:END:
|
||||
Everything you need to know is in my [[file:org/config/]] folder, and my Org files
|
||||
are also available in web format on my website [[https://config.phundrak.com/][config.phundrak.com]].
|
||||
* A lot of things are missing!
|
||||
Yep, a lot of things are not in this repository but over at
|
||||
[[https://config.phundrak.com][config.phundrak.com]]. This is where I store all my litterate config.
|
||||
You can check out its own repo over at
|
||||
[[https://labs.phundrak.com/phundrak/config.phundrak.com][labs.phundrak.com/phundrak/config.phundrak.com]].
|
||||
|
||||
* Neat, what’s the license?
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: Neat,_what’s_the_license?-399aa236
|
||||
:END:
|
||||
All of my dotfiles (and my dotfiles only) are available under the GNU GPLv3
|
||||
Licence. Please consult [[file:LICENCE.md]] for more information. In short: you
|
||||
are free to access, edit and redistribute all of my dotfiles under the same
|
||||
|
||||
32
code/PKGBUILDs/NextcloudTalk/PKGBUILD
Normal file
32
code/PKGBUILDs/NextcloudTalk/PKGBUILD
Normal file
@@ -0,0 +1,32 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
_pkgname=nextcloud-talk
|
||||
pkgname="${_pkgname}-bin"
|
||||
pkgver=0.10.0
|
||||
_dirname="Nextcloud Talk-linux-x64"
|
||||
_archivename="${_dirname// /.}-${pkgver}"
|
||||
pkgrel=1
|
||||
pkgdesc="Nextcloud Talk Desktop Client Preview"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/nextcloud/talk-desktop"
|
||||
makedepend=('unzip')
|
||||
license=('AGPL-3.0')
|
||||
provides=('nextcloud-talk')
|
||||
source=("https://github.com/nextcloud-releases/talk-desktop/releases/download/v${pkgver}/${_archivename}.zip"
|
||||
nextcloud-talk.desktop )
|
||||
sha256sums=('3b1c1620665078069491ff86395d87727c91da8153a9842e9206c4b2f7f020dd'
|
||||
'2fba0d3e869145cbdfcd24c104d196ee8857a05950b7a59b47f025f39e9e5214')
|
||||
|
||||
package() {
|
||||
cd "$srcdir"
|
||||
mkdir -p "${pkgdir}/usr/share/applications/"
|
||||
install -Dm644 "${_pkgname}.desktop" "${pkgdir}/usr/share/applications/"
|
||||
cd "$_dirname"
|
||||
mkdir -p "${pkgdir}/usr/share-licenses/${_pkgname}"
|
||||
install -Dm644 LICENSE "${pkgdir}/usr/share-licenses/${_pkgname}"
|
||||
install -Dm644 LICENSES.chromium.html "${pkgdir}/usr/share-licenses/${_pkgname}"
|
||||
mkdir -p "${pkgdir}/opt/nextcloud-talk"
|
||||
mv "Nextcloud Talk" nextcloud-talk
|
||||
mv * "${pkgdir}/opt/nextcloud-talk/"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
9
code/PKGBUILDs/NextcloudTalk/nextcloud-talk.desktop
Normal file
9
code/PKGBUILDs/NextcloudTalk/nextcloud-talk.desktop
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=Nextcloud Talk
|
||||
Version=0.7.0
|
||||
Type=Application
|
||||
Exec=/opt/nextcloud-talk/nextcloud-talk
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Categories=Network
|
||||
Keywords=Nextcloud
|
||||
36
code/PKGBUILDs/Wonderdraft/PKGBUILD
Normal file
36
code/PKGBUILDs/Wonderdraft/PKGBUILD
Normal file
@@ -0,0 +1,36 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
pkgname=Wonderdraft
|
||||
pkgver=1.1.7.3
|
||||
pkgrel=1
|
||||
epoch=
|
||||
pkgdesc=""
|
||||
arch=('x86_64')
|
||||
url="https://www.wonderdraft.net/"
|
||||
license=('proprietary')
|
||||
depends=()
|
||||
makedepends=('zip')
|
||||
checkdepends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=(!strip docs !libtool !staticlibs emptydirs zipman purge !debug)
|
||||
install=
|
||||
changelog=
|
||||
source=($pkgname-$pkgver-Linux64.zip)
|
||||
sha512sums=('4eaff01dad549223265cca10c3f9bf9cdbee4542b6a4afbf513fd655a47238e2d757c36d8ed7ffe16a19879f6d41739ee1e722ebc120507cde3b39250ae22c9c')
|
||||
noextract=()
|
||||
|
||||
package() {
|
||||
mkdir -p "${pkgdir}/usr/share/applications/"
|
||||
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/"
|
||||
mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
install -Dm644 "${srcdir}/EULA.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
mkdir -p "${pkgdir}/opt/"
|
||||
mv "${srcdir}" "${pkgdir}/opt/${pkgname}"
|
||||
rm "${pkgdir}/opt/${pkgname}/${pkgname}-${pkgver}-Linux64.zip"
|
||||
chmod 4755 "${pkgdir}/opt/${pkgname}/${pkgname}.x86_64"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
28
code/PKGBUILDs/appwrite-cli/PKGBUILD
Normal file
28
code/PKGBUILDs/appwrite-cli/PKGBUILD
Normal file
@@ -0,0 +1,28 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
|
||||
_pkgname=appwrite-cli
|
||||
_orgname=appwrite
|
||||
_ghpkgname=sdk-for-cli
|
||||
pkgname="nodejs-${_pkgname}"
|
||||
pkgver=4.1.0
|
||||
pkgrel=1
|
||||
pkgdesc="Command-line tool for building and testing Emacs Lisp packages"
|
||||
url="https://github.com/${_orgname}/${_ghpkgname}"
|
||||
license=("BSD-3-Clause")
|
||||
arch=("any")
|
||||
depends=("nodejs")
|
||||
makedepends=("npm")
|
||||
source=("https://registry.npmjs.org/${_pkgname}/-/${_pkgname}-${pkgver}.tgz")
|
||||
sha256sums=('83f35fcc7c54fec519791e4bc28f2c6913971357a055eb9113cbaa7259f3edc4')
|
||||
noextract=("$_pkgname-$pkgver.tgz")
|
||||
|
||||
prepare() {
|
||||
tar xzf "$_pkgname-$pkgver.tgz"
|
||||
}
|
||||
|
||||
package() {
|
||||
npm i --location=global --cache "${srcdir}/npm-cache" --prefix "$pkgdir/usr" "$srcdir/$_pkgname-$pkgver.tgz"
|
||||
install -Dm644 package/LICENSE.md "$pkgdir/usr/share/licenses/$_pkgname/COPYING"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
27
code/PKGBUILDs/eask/PKGBUILD
Normal file
27
code/PKGBUILDs/eask/PKGBUILD
Normal file
@@ -0,0 +1,27 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
|
||||
_pkgname=eask
|
||||
_orgname=emacs-eask
|
||||
_nodepkgname=cli
|
||||
pkgname="nodejs-${_pkgname}"
|
||||
pkgver=0.9.3
|
||||
pkgrel=1
|
||||
pkgdesc="Command-line tool for building and testing Emacs Lisp packages"
|
||||
url="https://github.com/${_orgname}/${_pkgname}"
|
||||
license=("GPL3")
|
||||
arch=("any")
|
||||
depends=("nodejs")
|
||||
makedepends=("npm")
|
||||
source=("https://registry.npmjs.org/@${_orgname}/${_nodepkgname}/-/${_nodepkgname}-${pkgver}.tgz")
|
||||
sha256sums=('1f3d948d89544c7680f882c9dee72f121a500947a42aa14b785ac949f729a3d0')
|
||||
noextract=("$_pkgname-$pkgver.tgz")
|
||||
|
||||
prepare() {
|
||||
tar xf "$_nodepkgname-$pkgver.tgz" package/COPYING
|
||||
}
|
||||
|
||||
package() {
|
||||
npm i --location=global --cache "${srcdir}/npm-cache" --prefix "$pkgdir/usr" "$srcdir/$_nodepkgname-$pkgver.tgz"
|
||||
install -Dm644 package/COPYING "$pkgdir/usr/share/licenses/${_pkgname}/COPYING"
|
||||
install -Dm644 package/README.md "$pkgdir/usr/share/doc/${_pkgname}/README.md"
|
||||
}
|
||||
40
code/PKGBUILDs/nsxiv/PKGBUILD
Normal file
40
code/PKGBUILDs/nsxiv/PKGBUILD
Normal file
@@ -0,0 +1,40 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
# Original Maintainer: Sanjay Pavan <withercubes@protonmail.com>
|
||||
|
||||
_pkgname=nsxiv
|
||||
pkgname="${_pkgname}-bepo-git"
|
||||
pkgver=31.r19.gc03ec39
|
||||
pkgrel=1
|
||||
pkgdesc='New Simple X Image Viewer'
|
||||
arch=('x86_64')
|
||||
license=('GPL2')
|
||||
conflicts=("$_pkgname" "${_pkgname}-git")
|
||||
provides=('sxiv')
|
||||
url="https://codeberg.org/${_pkgname}/${_pkgname}"
|
||||
depends=('imlib2' 'desktop-file-utils' 'xdg-utils' 'hicolor-icon-theme' 'libexif' 'libxft' 'giflib' 'libwebp')
|
||||
makedepends=(git)
|
||||
source=("${_pkgname}::git+$url" config.h)
|
||||
b2sums=('SKIP'
|
||||
'657b40dab4ed27e2d1402feb4fcd2dd225504c2e3a619da08cf87e36405d18a161a64939374670626e896c03a553a718f93b1bf54703f2d30dcdb27e082d6c21')
|
||||
|
||||
pkgver() {
|
||||
cd "$srcdir/${_pkgname}"
|
||||
git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/${_pkgname}"
|
||||
[[ -f $srcdir/config.h ]] && cp $srcdir/config.h .
|
||||
}
|
||||
|
||||
build() {
|
||||
make -C "$_pkgname"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/${_pkgname}"
|
||||
make PREFIX=/usr DESTDIR="$pkgdir" install-all
|
||||
ln -s /usr/bin/nsxiv "${pkgdir}/usr/bin/sxiv"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
208
code/PKGBUILDs/nsxiv/config.h
Normal file
208
code/PKGBUILDs/nsxiv/config.h
Normal file
@@ -0,0 +1,208 @@
|
||||
#ifdef INCLUDE_WINDOW_CONFIG
|
||||
|
||||
/* default window dimensions (overwritten via -g option): */
|
||||
static const int WIN_WIDTH = 800;
|
||||
static const int WIN_HEIGHT = 600;
|
||||
|
||||
/* colors and font can be overwritten via X resource properties.
|
||||
* See nsxiv(1), X(7) section Resources and xrdb(1) for more information.
|
||||
*/
|
||||
static const char *DEFAULT_WIN_BG = "nord0";
|
||||
static const char *DEFAULT_WIN_FG = "nord4";
|
||||
static const char *DEFAULT_MARK_COLOR = NULL; /* NULL means it will default to window foreground */
|
||||
#if HAVE_LIBFONTS
|
||||
static const char *DEFAULT_BAR_BG = NULL; /* NULL means it will default to window background */
|
||||
static const char *DEFAULT_BAR_FG = NULL; /* NULL means it will default to window foreground */
|
||||
static const char *DEFAULT_FONT = "monospace-8";
|
||||
|
||||
/* if true, statusbar appears on top of the window */
|
||||
static const bool TOP_STATUSBAR = false;
|
||||
#endif /* HAVE_LIBFONTS */
|
||||
|
||||
#endif
|
||||
#ifdef INCLUDE_IMAGE_CONFIG
|
||||
|
||||
/* levels (in percent) to use when zooming via '-' and '+':
|
||||
* (first/last value is used as min/max zoom level)
|
||||
*/
|
||||
static const float zoom_levels[] = {
|
||||
12.5, 25.0, 50.0, 75.0,
|
||||
100.0, 150.0, 200.0, 400.0, 800.0
|
||||
};
|
||||
|
||||
/* default slideshow delay (in sec, overwritten via -S option): */
|
||||
static const int SLIDESHOW_DELAY = 5;
|
||||
|
||||
/* color correction: the user-visible ranges [-CC_STEPS, 0] and
|
||||
* (0, CC_STEPS] are mapped to the ranges [0, 1], and (1, *_MAX].
|
||||
* Higher step count will have higher granulairy.
|
||||
*/
|
||||
static const int CC_STEPS = 32;
|
||||
static const double GAMMA_MAX = 10.0;
|
||||
static const double BRIGHTNESS_MAX = 2.0;
|
||||
static const double CONTRAST_MAX = 4.0;
|
||||
|
||||
/* command i_scroll pans image 1/PAN_FRACTION of screen width/height */
|
||||
static const int PAN_FRACTION = 5;
|
||||
|
||||
/* percentage of memory to use for imlib2's cache size.
|
||||
* 3 means use 3% of total memory which is about 245MiB on 8GiB machine.
|
||||
* 0 or less means disable cache.
|
||||
* 100 means use all available memory (but not above CACHE_SIZE_LIMIT).
|
||||
*
|
||||
* NOTE: higher cache size means better image reloading performance, but also
|
||||
* higher memory usage.
|
||||
*/
|
||||
static const int CACHE_SIZE_MEM_PERCENTAGE = 3; /* use 3% of total memory for cache */
|
||||
static const int CACHE_SIZE_LIMIT = 256 * 1024 * 1024; /* but not above 256MiB */
|
||||
static const int CACHE_SIZE_FALLBACK = 32 * 1024 * 1024; /* fallback to 32MiB if we can't determine total memory */
|
||||
|
||||
#endif
|
||||
#ifdef INCLUDE_OPTIONS_CONFIG
|
||||
|
||||
/* if false, pixelate images at zoom level != 100%,
|
||||
* toggled with 'a' key binding (overwritten via `--anti-alias` option)
|
||||
*/
|
||||
static const bool ANTI_ALIAS = true;
|
||||
|
||||
/* if true, use a checkerboard background for alpha layer,
|
||||
* toggled with 'A' key binding (overwritten via `--alpha-layer` option)
|
||||
*/
|
||||
static const bool ALPHA_LAYER = false;
|
||||
|
||||
#endif
|
||||
#ifdef INCLUDE_THUMBS_CONFIG
|
||||
|
||||
/* thumbnail sizes in pixels (width == height): */
|
||||
static const int thumb_sizes[] = { 32, 64, 96, 128, 160 };
|
||||
|
||||
/* thumbnail size at startup, index into thumb_sizes[]: */
|
||||
static const int THUMB_SIZE = 3;
|
||||
|
||||
#endif
|
||||
#ifdef INCLUDE_MAPPINGS_CONFIG
|
||||
|
||||
/* these modifiers will be used when processing keybindings */
|
||||
static const unsigned int USED_MODMASK = ShiftMask | ControlMask | Mod1Mask;
|
||||
|
||||
/* abort the keyhandler */
|
||||
static const KeySym KEYHANDLER_ABORT = XK_Escape;
|
||||
|
||||
/* keyboard mappings for image and thumbnail mode: */
|
||||
static const keymap_t keys[] = {
|
||||
/* modifiers key function argument */
|
||||
{ 0, XK_q, g_quit, 0 },
|
||||
{ 0, XK_Return, g_switch_mode, None },
|
||||
{ 0, XK_f, g_toggle_fullscreen, None },
|
||||
{ 0, XK_b, g_toggle_bar, None },
|
||||
{ 0, XK_space, g_prefix_external, None },
|
||||
{ 0, XK_g, g_first, None },
|
||||
{ 0, XK_G, g_n_or_last, None },
|
||||
{ 0, XK_h, g_reload_image, None },
|
||||
{ 0, XK_D, g_remove_image, None },
|
||||
{ ControlMask, XK_c, g_scroll_screen, DIR_LEFT },
|
||||
{ ControlMask, XK_Left, g_scroll_screen, DIR_LEFT },
|
||||
{ ControlMask, XK_t, g_scroll_screen, DIR_DOWN },
|
||||
{ ControlMask, XK_Down, g_scroll_screen, DIR_DOWN },
|
||||
{ ControlMask, XK_s, g_scroll_screen, DIR_UP },
|
||||
{ ControlMask, XK_Up, g_scroll_screen, DIR_UP },
|
||||
{ ControlMask, XK_r, g_scroll_screen, DIR_RIGHT },
|
||||
{ ControlMask, XK_Right, g_scroll_screen, DIR_RIGHT },
|
||||
{ 0, XK_plus, g_zoom, +1 },
|
||||
{ 0, XK_KP_Add, g_zoom, +1 },
|
||||
{ 0, XK_minus, g_zoom, -1 },
|
||||
{ 0, XK_KP_Subtract, g_zoom, -1 },
|
||||
{ 0, XK_m, g_toggle_image_mark, None },
|
||||
{ 0, XK_M, g_mark_range, None },
|
||||
{ ControlMask, XK_m, g_reverse_marks, None },
|
||||
{ ControlMask, XK_u, g_unmark_all, None },
|
||||
{ 0, XK_N, g_navigate_marked, +1 },
|
||||
{ 0, XK_P, g_navigate_marked, -1 },
|
||||
{ 0, XK_braceleft, g_change_gamma, -1 },
|
||||
{ 0, XK_braceright, g_change_gamma, +1 },
|
||||
{ ControlMask, XK_g, g_change_gamma, 0 },
|
||||
|
||||
{ 0, XK_c, t_move_sel, DIR_LEFT },
|
||||
{ 0, XK_Left, t_move_sel, DIR_LEFT },
|
||||
{ 0, XK_t, t_move_sel, DIR_DOWN },
|
||||
{ 0, XK_Down, t_move_sel, DIR_DOWN },
|
||||
{ 0, XK_s, t_move_sel, DIR_UP },
|
||||
{ 0, XK_Up, t_move_sel, DIR_UP },
|
||||
{ 0, XK_r, t_move_sel, DIR_RIGHT },
|
||||
{ 0, XK_Right, t_move_sel, DIR_RIGHT },
|
||||
{ 0, XK_H, t_reload_all, None },
|
||||
|
||||
{ 0, XK_n, i_navigate, +1 },
|
||||
{ 0, XK_n, i_scroll_to_edge, DIR_LEFT | DIR_UP },
|
||||
{ 0, XK_p, i_navigate, -1 },
|
||||
{ 0, XK_p, i_scroll_to_edge, DIR_LEFT | DIR_UP },
|
||||
{ 0, XK_BackSpace, i_navigate, -1 },
|
||||
{ 0, XK_bracketright, i_navigate, +10 },
|
||||
{ 0, XK_bracketleft, i_navigate, -10 },
|
||||
{ ControlMask, XK_6, i_alternate, None },
|
||||
{ ControlMask, XK_n, i_navigate_frame, +1 },
|
||||
{ ControlMask, XK_p, i_navigate_frame, -1 },
|
||||
{ ControlMask, XK_space, i_toggle_animation, None },
|
||||
{ ControlMask, XK_a, i_toggle_animation, None },
|
||||
{ 0, XK_c, i_scroll, DIR_LEFT },
|
||||
{ 0, XK_Left, i_scroll, DIR_LEFT },
|
||||
{ 0, XK_t, i_scroll, DIR_DOWN },
|
||||
{ 0, XK_Down, i_scroll, DIR_DOWN },
|
||||
{ 0, XK_s, i_scroll, DIR_UP },
|
||||
{ 0, XK_Up, i_scroll, DIR_UP },
|
||||
{ 0, XK_r, i_scroll, DIR_RIGHT },
|
||||
{ 0, XK_Right, i_scroll, DIR_RIGHT },
|
||||
{ 0, XK_C, i_scroll_to_edge, DIR_LEFT },
|
||||
{ 0, XK_T, i_scroll_to_edge, DIR_DOWN },
|
||||
{ 0, XK_S, i_scroll_to_edge, DIR_UP },
|
||||
{ 0, XK_R, i_scroll_to_edge, DIR_RIGHT },
|
||||
{ 0, XK_z, i_scroll_to_center, None },
|
||||
{ 0, XK_equal, i_set_zoom, 100 },
|
||||
{ 0, XK_w, i_fit_to_win, SCALE_DOWN },
|
||||
{ 0, XK_W, i_fit_to_win, SCALE_FIT },
|
||||
{ 0, XK_F, i_fit_to_win, SCALE_FILL },
|
||||
{ 0, XK_e, i_fit_to_win, SCALE_WIDTH },
|
||||
{ 0, XK_E, i_fit_to_win, SCALE_HEIGHT },
|
||||
{ 0, XK_less, i_rotate, DEGREE_270 },
|
||||
{ 0, XK_greater, i_rotate, DEGREE_90 },
|
||||
{ 0, XK_question, i_rotate, DEGREE_180 },
|
||||
{ 0, XK_bar, i_flip, FLIP_HORIZONTAL },
|
||||
{ 0, XK_underscore, i_flip, FLIP_VERTICAL },
|
||||
{ 0, XK_a, i_toggle_antialias, None },
|
||||
{ 0, XK_A, i_toggle_alpha, None },
|
||||
{ 0, XK_k, i_slideshow, None },
|
||||
};
|
||||
|
||||
/* mouse button mappings for image mode: */
|
||||
static const button_t buttons_img[] = {
|
||||
/* modifiers button function argument */
|
||||
{ 0, 1, i_cursor_navigate, None },
|
||||
{ ControlMask, 1, i_drag, DRAG_RELATIVE },
|
||||
{ 0, 2, i_drag, DRAG_ABSOLUTE },
|
||||
{ 0, 3, g_switch_mode, None },
|
||||
{ 0, 4, g_zoom, +1 },
|
||||
{ 0, 5, g_zoom, -1 },
|
||||
};
|
||||
|
||||
/* mouse button mappings for thumbnail mode: */
|
||||
static const button_t buttons_tns[] = {
|
||||
/* modifiers button function argument */
|
||||
{ 0, 1, t_select, None },
|
||||
{ 0, 3, t_drag_mark_image, None },
|
||||
{ 0, 4, t_scroll, DIR_UP },
|
||||
{ 0, 5, t_scroll, DIR_DOWN },
|
||||
{ ControlMask, 4, g_scroll_screen, DIR_UP },
|
||||
{ ControlMask, 5, g_scroll_screen, DIR_DOWN },
|
||||
};
|
||||
|
||||
/* true means NAV_WIDTH is relative (33%), false means absolute (33 pixels) */
|
||||
static const bool NAV_IS_REL = true;
|
||||
/* width of navigation area, 0 disables cursor navigation, */
|
||||
static const unsigned int NAV_WIDTH = 33;
|
||||
|
||||
/* mouse cursor on left, middle and right part of the window */
|
||||
static const cursor_t imgcursor[3] = {
|
||||
CURSOR_LEFT, CURSOR_ARROW, CURSOR_RIGHT
|
||||
};
|
||||
|
||||
#endif
|
||||
42
code/PKGBUILDs/pumopm-bin/PKGBUILD
Normal file
42
code/PKGBUILDs/pumopm-bin/PKGBUILD
Normal file
@@ -0,0 +1,42 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
pkgname=pumopm-bin
|
||||
pkgver=0.1.1
|
||||
pkgrel=3
|
||||
pkgdesc="A tiny power manager written in Rust"
|
||||
arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
|
||||
url="https://labs.phundrak.com/phundrak/pumopm"
|
||||
license=('GPL3')
|
||||
depends=()
|
||||
makedepends=('rustup')
|
||||
options=('strip' 'zipman')
|
||||
source=("${pkgname%-bin}::https://labs.phundrak.com/phundrak/pumopm/archive/$pkgver.tar.gz")
|
||||
# If Phundrak’s Gitea takes too long to answer, or if it is down, use the
|
||||
# Github mirror
|
||||
# source=("${pkgname%-bin}::https://github.com/Phundrak/pumopm/archive/$pkgver.tar.gz")
|
||||
md5sums=('347a95efacdbf9f8ab3b2da6a7eff6cc')
|
||||
conflicts=('pumopm' 'pumopm-git')
|
||||
|
||||
build() {
|
||||
cd "$pkgname"
|
||||
if command -v rustup >/dev/null 2>&1; then
|
||||
RUSTFLAGS="-C target-cpu=native" rustup run stable cargo build --release
|
||||
elif rustc --version | grep -q stable; then
|
||||
RUSTFLAGS="-C target-cpu=native" cargo build --release
|
||||
else
|
||||
cargo build --release
|
||||
fi
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$pkgname"
|
||||
echo EXE
|
||||
install -Dm755 "target/release/pumopm" "$pkgdir/usr/bin/pumopm"
|
||||
echo LICENSE
|
||||
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/${pkgname}/LICENSE"
|
||||
echo MAN
|
||||
install -Dm644 "pumopm.1" "$pkgdir/usr/share/man/man1/pumopm.1"
|
||||
echo SERVCE
|
||||
install -Dm644 "pumopm.service" "$pkgdir/usr/lib/systemd/system/pumopm.service"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
||||
40
code/PKGBUILDs/sent/PKGBUILD
Normal file
40
code/PKGBUILDs/sent/PKGBUILD
Normal file
@@ -0,0 +1,40 @@
|
||||
# Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>
|
||||
|
||||
_pkgname=sent
|
||||
pkgname=${_pkgname}-phundrak-git
|
||||
pkgver=r130.0a30ccc
|
||||
pkgrel=1
|
||||
pkgdesc="Simple plain-text presentation tool"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://tools.suckless.org/${_pkgname}"
|
||||
license=('MIT')
|
||||
depends=('fontconfig' 'libxft')
|
||||
optdepends=('farbfeld: PNG and JPEG support')
|
||||
makedepends=('git')
|
||||
conflicts=('sent' 'sent-git')
|
||||
source=("$pkgname::git+https://labs.phundrak.com/phundrak/sent")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "${pkgname}"
|
||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
if [ -f "${srcdir}/config.h" ]; then
|
||||
cp "${srcdir}/config.h" .
|
||||
fi
|
||||
}
|
||||
|
||||
build() {
|
||||
make -C "${srcdir}/${pkgname}"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
make PREFIX="/usr" \
|
||||
DESTDIR="${pkgdir}" \
|
||||
install
|
||||
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: 'true'
|
||||
AlignTrailingComments: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'true'
|
||||
AllowShortBlocksOnASingleLine: 'true'
|
||||
AllowShortCaseLabelsOnASingleLine: 'true'
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowShortIfStatementsOnASingleLine: 'false'
|
||||
AllowShortLoopsOnASingleLine: 'false'
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'false'
|
||||
AlwaysBreakTemplateDeclarations: 'true'
|
||||
BinPackArguments: 'true'
|
||||
BinPackParameters: 'true'
|
||||
BreakAfterJavaFieldAnnotations: 'true'
|
||||
BreakBeforeBinaryOperators: All
|
||||
BreakBeforeBraces: Linux
|
||||
BreakBeforeInheritanceComma: 'false'
|
||||
BreakBeforeTernaryOperators: 'true'
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakStringLiterals: 'true'
|
||||
ColumnLimit: '80'
|
||||
CompactNamespaces: 'false'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: 'false'
|
||||
Cpp11BracedListStyle: 'true'
|
||||
FixNamespaceComments: 'true'
|
||||
IncludeBlocks: Regroup
|
||||
IndentCaseLabels: 'false'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWrappedFunctionNames: 'false'
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: 'true'
|
||||
KeepEmptyLinesAtTheStartOfBlocks: 'false'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
NamespaceIndentation: Inner
|
||||
PointerAlignment: Right
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
SortUsingDeclarations: 'true'
|
||||
SpaceAfterCStyleCast: 'false'
|
||||
SpaceAfterTemplateKeyword: 'false'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesBeforeTrailingComments: '2'
|
||||
SpacesInAngles: 'false'
|
||||
SpacesInCStyleCastParentheses: 'false'
|
||||
SpacesInContainerLiterals: 'false'
|
||||
SpacesInParentheses: 'false'
|
||||
SpacesInSquareBrackets: 'false'
|
||||
Standard: Cpp11
|
||||
UseTab: ForIndentation
|
||||
|
||||
...
|
||||
179
dev/conan-project/.gitignore
vendored
179
dev/conan-project/.gitignore
vendored
@@ -1,179 +0,0 @@
|
||||
# Created by https://www.gitignore.io/api/c,c++,ninja,macos,linux,cmake,windows,visualstudiocode
|
||||
# Edit at https://www.gitignore.io/?templates=c,c++,ninja,macos,linux,cmake,windows,visualstudiocode
|
||||
|
||||
### C ###
|
||||
# Prerequisites
|
||||
*.d
|
||||
|
||||
# Object files
|
||||
*.o
|
||||
*.ko
|
||||
*.obj
|
||||
*.elf
|
||||
|
||||
# Linker output
|
||||
*.ilk
|
||||
*.map
|
||||
*.exp
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Libraries
|
||||
*.lib
|
||||
*.a
|
||||
*.la
|
||||
*.lo
|
||||
|
||||
# Shared objects (inc. Windows DLLs)
|
||||
*.dll
|
||||
*.so
|
||||
*.so.*
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
*.i*86
|
||||
*.x86_64
|
||||
*.hex
|
||||
|
||||
# Debug files
|
||||
*.dSYM/
|
||||
*.su
|
||||
*.idb
|
||||
*.pdb
|
||||
|
||||
# Kernel Module Compile Results
|
||||
*.mod*
|
||||
*.cmd
|
||||
.tmp_versions/
|
||||
modules.order
|
||||
Module.symvers
|
||||
Mkfile.old
|
||||
dkms.conf
|
||||
|
||||
### C++ ###
|
||||
# Prerequisites
|
||||
|
||||
# Compiled Object files
|
||||
*.slo
|
||||
|
||||
# Precompiled Headers
|
||||
|
||||
# Compiled Dynamic libraries
|
||||
|
||||
# Fortran module files
|
||||
*.mod
|
||||
*.smod
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
|
||||
# Executables
|
||||
|
||||
### CMake ###
|
||||
CMakeLists.txt.user
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
CMakeScripts
|
||||
Testing
|
||||
Makefile
|
||||
cmake_install.cmake
|
||||
install_manifest.txt
|
||||
compile_commands.json
|
||||
CTestTestfile.cmake
|
||||
_deps
|
||||
|
||||
### CMake Patch ###
|
||||
# External projects
|
||||
*-prefix/
|
||||
|
||||
### Linux ###
|
||||
*~
|
||||
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### Ninja ###
|
||||
.ninja_deps
|
||||
.ninja_log
|
||||
|
||||
### VisualStudioCode ###
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
|
||||
### VisualStudioCode Patch ###
|
||||
# Ignore all local history of files
|
||||
.history
|
||||
|
||||
### Windows ###
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
# End of https://www.gitignore.io/api/c,c++,ninja,macos,linux,cmake,windows,visualstudiocode
|
||||
|
||||
build
|
||||
@@ -1,56 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
project("PROJECTNAME"
|
||||
VERSION 0.1
|
||||
DESCRIPTION "Description of PROJECTNAME"
|
||||
HOMEPAGE_URL "https://labs.phundrak.fr/phundrak/PROJECTNAME"
|
||||
LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_COMPILER /usr/bin/clang++)
|
||||
file(GLOB SRC_FILES "src/*.cc")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
|
||||
|
||||
include(functions)
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
conan_basic_setup()
|
||||
|
||||
enable_cxx_compiler_flag_if_supported("-Wall")
|
||||
enable_cxx_compiler_flag_if_supported("-pedantic")
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
enable_cxx_compiler_flag_if_supported("-g")
|
||||
else()
|
||||
enable_cxx_compiler_flag_if_supported("-O3")
|
||||
enable_cxx_compiler_flag_if_supported("-flto")
|
||||
endif()
|
||||
|
||||
# include_directories(<PUBLIC HEADER DIRECTORIES>)
|
||||
|
||||
# Main software
|
||||
set(TGT PROJECTNAME)
|
||||
add_executable(${TGT} ${SRC_FILES})
|
||||
target_compile_features(${TGT} PRIVATE cxx_std_17)
|
||||
target_include_directories(${TGT} PRIVATE include/PROJECTNAME)
|
||||
target_link_libraries(${TGT} ${CONAN_LIBS})
|
||||
|
||||
# Tests, -DTESTS=True to activate
|
||||
if(TESTS)
|
||||
set(TESTTGT PROJECTNAME-tests)
|
||||
file(GLOB TEST_FILES "tests/tests.cc")
|
||||
add_executable(${TESTTGT} ${TEST_FILES})
|
||||
target_compile_features(${TESTTGT} PRIVATE cxx_std_17)
|
||||
target_include_directories(${TESTTGT} PRIVATE include/PROJECTNAME)
|
||||
target_link_libraries(${TESTTGT} ${CONAN_LIBS})
|
||||
endif()
|
||||
|
||||
# OS specific instructions.
|
||||
if(APPLE)
|
||||
elseif(WIN32)
|
||||
# Windows developer environment specific instructions.
|
||||
if(MINGW)
|
||||
elseif(MSYS)
|
||||
elseif(CYGWIN)
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
else()
|
||||
endif()
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Jinsoo Heo
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,60 +0,0 @@
|
||||
[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]
|
||||
|
||||
* PROJECTNAME
|
||||
|
||||
PROJECTNAME is a C++17 project written for and built with CMake and Ninja.
|
||||
|
||||
* How to build PROJECTNAME
|
||||
|
||||
You will ned to have Ninja and Conan installed. To install Ninja, install the
|
||||
appropriate package offered by your package manager (~ninja-build~ on Debian,
|
||||
~ninja~ on Arch Linux and Void Linux), and to install conan, use ~pip~.
|
||||
#+begin_src shell
|
||||
pip install --user conan
|
||||
#+end_src
|
||||
|
||||
This project is built with conan, ninja and cmake using clang-7 for C++17. To
|
||||
use it, first install clang-7 and lldb 7, then run this:
|
||||
#+begin_src shell
|
||||
conan profile new default --detect
|
||||
conan profile update settings.compiler=clang default
|
||||
conan profile update settings.compiler.version=7.0 default
|
||||
conan profile update settings.compiler.libcxx=libstdc++11 default
|
||||
conan profile update env.CC=/bin/clang default
|
||||
conan profile update env.CXX=/bin/clang++ default
|
||||
#+end_src
|
||||
If you do not wish to overwrite your ~default~ profile, you can instead create a
|
||||
new one, for instance ~clang~. To do so, write the name of your new profile (in
|
||||
this example ~clang~) instead of ~default~ in the commands shown above.
|
||||
|
||||
Then, To build and run the program, go to the root of the project and run this:
|
||||
#+begin_src shell
|
||||
mkdir build && cd build
|
||||
conan install .. --build missing
|
||||
cmake -DCMAKE_CXX_COMPILER=clang++ .. -G Ninja
|
||||
cmake --build .
|
||||
#+end_src
|
||||
If you want to use another profile than your default one, you should run the
|
||||
following line instead of the second line:
|
||||
#+begin_src shell
|
||||
conan install .. --build missing --profile <your_profile>
|
||||
#+end_src
|
||||
If you wish to build the project’s tests in addition to the project itself, you
|
||||
can add the option ~-DTESTS=True~ to the first ~cmake~ command to build the
|
||||
project’s tests too.
|
||||
#+begin_src shell
|
||||
cmake -DCMAKE_CXX_COMPILER=clang++ -DTESTS=True .. -G Ninja
|
||||
#+end_src
|
||||
|
||||
If you do not wish to build your project with Ninja but with another generator,
|
||||
such as Unix Makefiles, simply replace ~Ninja~ in the second to last ~cmake~
|
||||
command with the name of your generator. For instance:
|
||||
#+begin_src shell
|
||||
cmake -DCMAKE_CXX_COMPILER=clang++ .. -G "Unix Makefiles"
|
||||
#+end_src
|
||||
You can still build your project by running ~cmake --build .~ or by running
|
||||
~make~ manually.
|
||||
|
||||
* Credits
|
||||
|
||||
Awesome C++ Template by [[https://github.com/devkoriel/AwesomeCppTemplate][devkoriel]].
|
||||
@@ -1,12 +0,0 @@
|
||||
INCLUDE(CheckCXXCompilerFlag)
|
||||
|
||||
function(enable_cxx_compiler_flag_if_supported flag)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${flag}" flag_already_set)
|
||||
if(flag_already_set EQUAL -1)
|
||||
check_cxx_compiler_flag("${flag}" flag_supported)
|
||||
if(flag_supported)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" PARENT_SCOPE)
|
||||
endif()
|
||||
unset(flag_supported CACHE)
|
||||
endif()
|
||||
endfunction()
|
||||
@@ -1,16 +0,0 @@
|
||||
from conans import ConanFile, CMake
|
||||
|
||||
|
||||
class PROJECTNAMEConan(ConanFile):
|
||||
settings = "os", "compiler", "build_type", "arch"
|
||||
requires = "gtest/1.8.1@bincrafters/stable"
|
||||
generators = "cmake", "gcc", "txt"
|
||||
|
||||
def imports(self):
|
||||
self.copy("*.dll", dst="bin", src="bin") # From bin to bin
|
||||
self.copy("*.dylib*", dst="bin", src="lib") # From lib to bin
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
||||
#include <iostream>
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
std::cout << "Hello World!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "Poco/MD5Engine.h"
|
||||
#include "Poco/DigestStream.h"
|
||||
|
||||
#include "class.hpp"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
Poco::MD5Engine md5;
|
||||
Poco::DigestOutputStream ds(md5);
|
||||
ds << "abcdefghijklmnopqrstuvwxyz";
|
||||
ds.close();
|
||||
std::cout << Poco::DigestEngine::digestToHex(md5.digest()) << std::endl;
|
||||
return 0;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
TEST(SquareRootTest, PositiveNos) {
|
||||
ASSERT_EQ(6, 2 * 3);
|
||||
ASSERT_EQ(6, -2 * -3);
|
||||
}
|
||||
|
||||
TEST(SquareRootTest, NegativeNos) {
|
||||
ASSERT_EQ(-6, -2 * 3);
|
||||
ASSERT_EQ(-6, 2 * -3);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "cnew" "" "" "" ""
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
\f[B]cnew\f[R] \- New C11 Project
|
||||
.SH SYNOPSIS
|
||||
.PP
|
||||
cnew PROJECT
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
Creates a new C11 CMake\-based project named PROJECT.
|
||||
.SH REPORTING BUGS
|
||||
.PP
|
||||
Git repository available at
|
||||
<https://labs.phundrak.fr/phundrak/dotfiles>.
|
||||
.SH Copyright
|
||||
.PP
|
||||
Copyright Lucien \[dq]Phundrak\[dq] Cartier Tilet 2019\-2020.
|
||||
Licence GPLv3+: GNU GPL version 3 or later
|
||||
<https://gnu.org/licenses/gpl.html>.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
.SH AUTHORS
|
||||
Lucien \[dq]Phundrak\[dq] Cartier Tilet.
|
||||
@@ -1,16 +0,0 @@
|
||||
#+TITLE: cnew
|
||||
#+AUTHOR: Lucien "Phundrak" Cartier Tilet
|
||||
* NAME
|
||||
*{{{title}}}* - New C11 Project
|
||||
|
||||
* SYNOPSIS
|
||||
{{{title}}} PROJECT
|
||||
|
||||
* DESCRIPTION
|
||||
Creates a new C11 CMake-based project named PROJECT.
|
||||
|
||||
* REPORTING BUGS
|
||||
Git repository available at [[https://labs.phundrak.fr/phundrak/dotfiles]].
|
||||
|
||||
* Copyright
|
||||
Copyright {{{author}}} 2019-2020. Licence GPLv3+: GNU GPL version 3 or later [[https://gnu.org/licenses/gpl.html]]. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
|
||||
@@ -1,30 +0,0 @@
|
||||
.\" Automatically generated by Pandoc 2.5
|
||||
.\"
|
||||
.TH "cppnew" "" "" "" ""
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
\f[B]cppnew\f[R] \- New C++17 Project
|
||||
.SH SYNOPSIS
|
||||
.PP
|
||||
cppnew [\-c, \[en]connan] PROJECT
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
Creates a new C++17 project named PROJECT, either CMake\-based only or
|
||||
CMake and Conan\-based.
|
||||
.TP
|
||||
.B \f[C]\-c\f[R], \f[C]\-\-connan\f[R]
|
||||
Creates a Conan\-based project
|
||||
.SH REPORTING BUGS
|
||||
.PP
|
||||
Git repository available at
|
||||
<https://labs.phundrak.fr/phundrak/dotfiles>.
|
||||
.SH Copyright
|
||||
.PP
|
||||
Copyright Lucien \[dq]Phundrak\[dq] Cartier Tilet 2019\-2020.
|
||||
Licence GPLv3+: GNU GPL version 3 or later
|
||||
<https://gnu.org/licenses/gpl.html>.
|
||||
This is free software: you are free to change and redistribute it.
|
||||
There is NO WARRANTY, to the extent permitted by law.
|
||||
.SH AUTHORS
|
||||
Lucien \[dq]Phundrak\[dq] Cartier Tilet.
|
||||
@@ -1,18 +0,0 @@
|
||||
#+TITLE: cppnew
|
||||
#+AUTHOR: Lucien "Phundrak" Cartier Tilet
|
||||
* NAME
|
||||
*{{{title}}}* - New C++17 Project
|
||||
|
||||
* SYNOPSIS
|
||||
{{{title}}} [-c, --connan] PROJECT
|
||||
|
||||
* DESCRIPTION
|
||||
Creates a new C++17 project named PROJECT, either CMake-based only or CMake and Conan-based.
|
||||
|
||||
- ~-c~, ~--connan~ :: Creates a Conan-based project
|
||||
|
||||
* REPORTING BUGS
|
||||
Git repository available at [[https://labs.phundrak.fr/phundrak/dotfiles]].
|
||||
|
||||
* Copyright
|
||||
Copyright {{{author}}} 2019-2020. Licence GPLv3+: GNU GPL version 3 or later [[https://gnu.org/licenses/gpl.html]]. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: 'true'
|
||||
AlignTrailingComments: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'true'
|
||||
AllowShortBlocksOnASingleLine: 'true'
|
||||
AllowShortCaseLabelsOnASingleLine: 'true'
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowShortIfStatementsOnASingleLine: 'false'
|
||||
AllowShortLoopsOnASingleLine: 'false'
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'false'
|
||||
AlwaysBreakTemplateDeclarations: 'true'
|
||||
BinPackArguments: 'true'
|
||||
BinPackParameters: 'true'
|
||||
BreakAfterJavaFieldAnnotations: 'true'
|
||||
BreakBeforeBinaryOperators: All
|
||||
BreakBeforeBraces: Linux
|
||||
BreakBeforeInheritanceComma: 'false'
|
||||
BreakBeforeTernaryOperators: 'true'
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakStringLiterals: 'true'
|
||||
ColumnLimit: '80'
|
||||
CompactNamespaces: 'false'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: 'false'
|
||||
Cpp11BracedListStyle: 'true'
|
||||
FixNamespaceComments: 'true'
|
||||
IncludeBlocks: Regroup
|
||||
IndentCaseLabels: 'false'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWrappedFunctionNames: 'false'
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: 'true'
|
||||
KeepEmptyLinesAtTheStartOfBlocks: 'false'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
NamespaceIndentation: Inner
|
||||
PointerAlignment: Right
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
SortUsingDeclarations: 'true'
|
||||
SpaceAfterCStyleCast: 'false'
|
||||
SpaceAfterTemplateKeyword: 'false'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesBeforeTrailingComments: '2'
|
||||
SpacesInAngles: 'false'
|
||||
SpacesInCStyleCastParentheses: 'false'
|
||||
SpacesInContainerLiterals: 'false'
|
||||
SpacesInParentheses: 'false'
|
||||
SpacesInSquareBrackets: 'false'
|
||||
Standard: Cpp11
|
||||
UseTab: ForIndentation
|
||||
|
||||
...
|
||||
4
dev/templateC++/.gitignore
vendored
4
dev/templateC++/.gitignore
vendored
@@ -1,4 +0,0 @@
|
||||
bin
|
||||
build
|
||||
debug
|
||||
!.gitignore
|
||||
@@ -1,26 +0,0 @@
|
||||
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
|
||||
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
|
||||
|
||||
project("PROJECTNAME")
|
||||
|
||||
set(TGT "PROJECTNAME")
|
||||
set(${TGT}_VERSION_MAJOR 0)
|
||||
set(${TGT}_VERSION_MINOR 1)
|
||||
|
||||
set(CXX_COVERAGE_COMPILE_FLAGS "-pedantic -Wall -Wextra -Wold-style-cast -Woverloaded-virtual -Wfloat-equal -Wwrite-strings -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wsign-conversion -Wshadow -Weffc++ -Wredundant-decls -Wdouble-promotion -Winit-self -Wswitch-default -Wswitch-enum -Wundef -Winline -Wunused -Wnon-virtual-dtor")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CXX_COVERAGE_COMPILE_FLAGS} -DDebug -g -pg")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CXX_COVERAGE_COMPILE_FLAGS} -O3 -flto")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "../debug/")
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_COVERAGE_COMPILE_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CXX_COVERAGE_COMPILE_FLAGS}")
|
||||
|
||||
include_directories(include)
|
||||
file(GLOB SOURCES "src/*.cc")
|
||||
add_executable(${TGT} ${SOURCES})
|
||||
@@ -1,12 +0,0 @@
|
||||
release:
|
||||
@mkdir -p build bin
|
||||
@cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make
|
||||
|
||||
debug:
|
||||
@mkdir -p build debug
|
||||
@cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make
|
||||
|
||||
clean:
|
||||
@rm -rf bin
|
||||
@rm -rf build
|
||||
@rm -rf debug
|
||||
@@ -1,14 +0,0 @@
|
||||
[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]
|
||||
|
||||
* PROJECTNAME
|
||||
|
||||
PROJECTNAME is a C++17 project written for and built with CMake.
|
||||
|
||||
* How to build PROJECTNAME
|
||||
|
||||
You can directly run either ~make~ or ~make release~ to compile the release
|
||||
version of the binaries which will be generated in ~bin/~. If you wish to
|
||||
compile its debug version instead, run ~make debug~ to generate the binaries in
|
||||
the ~debug/~ directory. Once you have ran ~make~ at the root of the project, you
|
||||
can recompile the project from the ~build/~ directory if you wish to avoid to
|
||||
re-run CMake.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
||||
#include <iostream>
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
std::cout << "Hello World!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: 'true'
|
||||
AlignTrailingComments: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'true'
|
||||
AllowShortBlocksOnASingleLine: 'true'
|
||||
AllowShortCaseLabelsOnASingleLine: 'true'
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowShortIfStatementsOnASingleLine: 'false'
|
||||
AllowShortLoopsOnASingleLine: 'false'
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'false'
|
||||
AlwaysBreakTemplateDeclarations: 'true'
|
||||
BinPackArguments: 'true'
|
||||
BinPackParameters: 'true'
|
||||
BreakAfterJavaFieldAnnotations: 'true'
|
||||
BreakBeforeBinaryOperators: All
|
||||
BreakBeforeBraces: Linux
|
||||
BreakBeforeInheritanceComma: 'false'
|
||||
BreakBeforeTernaryOperators: 'true'
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakStringLiterals: 'true'
|
||||
ColumnLimit: '80'
|
||||
CompactNamespaces: 'false'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: 'false'
|
||||
Cpp11BracedListStyle: 'true'
|
||||
FixNamespaceComments: 'true'
|
||||
IncludeBlocks: Regroup
|
||||
IndentCaseLabels: 'false'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWrappedFunctionNames: 'false'
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: 'true'
|
||||
KeepEmptyLinesAtTheStartOfBlocks: 'false'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
NamespaceIndentation: Inner
|
||||
PointerAlignment: Right
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
SortUsingDeclarations: 'true'
|
||||
SpaceAfterCStyleCast: 'false'
|
||||
SpaceAfterTemplateKeyword: 'false'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesBeforeTrailingComments: '2'
|
||||
SpacesInAngles: 'false'
|
||||
SpacesInCStyleCastParentheses: 'false'
|
||||
SpacesInContainerLiterals: 'false'
|
||||
SpacesInParentheses: 'false'
|
||||
SpacesInSquareBrackets: 'false'
|
||||
Standard: Cpp11
|
||||
UseTab: ForIndentation
|
||||
|
||||
...
|
||||
4
dev/templateC/.gitignore
vendored
4
dev/templateC/.gitignore
vendored
@@ -1,4 +0,0 @@
|
||||
bin
|
||||
build
|
||||
debug
|
||||
!.gitignore
|
||||
@@ -1,74 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project("PROJECTNAME"
|
||||
VERSION 0.1
|
||||
DESCRIPTION "Description of PROJECTNAME"
|
||||
HOMEPAGE_URL "https://labs.phundrak.fr/phundrak/PROJECTNAME"
|
||||
LANGUAGES C)
|
||||
|
||||
set(CMAKE_C_COMPILER /usr/bin/clang)
|
||||
file(GLOB SRC_FILES "src/*.c")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
|
||||
include(functions)
|
||||
|
||||
enable_c_compiler_flag_if_supported("-Wall")
|
||||
enable_c_compiler_flag_if_supported("-pedantic")
|
||||
enable_c_compiler_flag_if_supported("-Wextra")
|
||||
enable_c_compiler_flag_if_supported("-Wfloat-equal")
|
||||
enable_c_compiler_flag_if_supported("-Wwrite-strings")
|
||||
enable_c_compiler_flag_if_supported("-Wpointer-arith")
|
||||
enable_c_compiler_flag_if_supported("-Wcast-qual")
|
||||
enable_c_compiler_flag_if_supported("-Wcast-align")
|
||||
enable_c_compiler_flag_if_supported("-Wconversion")
|
||||
enable_c_compiler_flag_if_supported("-Wshadow")
|
||||
enable_c_compiler_flag_if_supported("-Wreduntant-decls")
|
||||
enable_c_compiler_flag_if_supported("-Wdouble-promotion")
|
||||
enable_c_compiler_flag_if_supported("-Winit-self")
|
||||
enable_c_compiler_flag_if_supported("-Wswitch-default")
|
||||
enable_c_compiler_flag_if_supported("-Wswitch-enum")
|
||||
enable_c_compiler_flag_if_supported("-Wundef")
|
||||
enable_c_compiler_flag_if_supported("-Winline")
|
||||
enable_c_compiler_flag_if_supported("-Wpedantic")
|
||||
enable_c_compiler_flag_if_supported("-Wsign-conversion")
|
||||
enable_c_compiler_flag_if_supported("-Wnull-dereference")
|
||||
enable_c_compiler_flag_if_supported("-Wuseless-cast")
|
||||
enable_c_compiler_flag_if_supported("-Wformat=2")
|
||||
enable_c_compiler_flag_if_supported("-Wlifetime")
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
enable_c_compiler_flag_if_supported("-g")
|
||||
else()
|
||||
enable_c_compiler_flag_if_supported("-O3")
|
||||
enable_c_compiler_flag_if_supported("-flto")
|
||||
endif()
|
||||
|
||||
# include_directories(<PUBLIC HEADER DIRECTORIES>)
|
||||
|
||||
# Main software
|
||||
set(TGT PROJECTNAME)
|
||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build/bin)
|
||||
add_executable(${TGT} ${SRC_FILES})
|
||||
target_compile_features(${TGT} PRIVATE c_std_11)
|
||||
target_include_directories(${TGT} PRIVATE include/PROJECTNAME)
|
||||
#target_link_libraries(${TGT})
|
||||
|
||||
# Tests, -DTESTS=True to activate
|
||||
if(TESTS)
|
||||
set(TESTTGT PROJECTNAME-tests)
|
||||
file(GLOB TEST_FILES "tests/tests.c")
|
||||
add_executable(${TESTTGT} ${TEST_FILES})
|
||||
set_property(TARGET ${TESTTGT} PROPERTY C_STANDARD 11)
|
||||
target_include_directories(${TESTTGT} PRIVATE include/PROJECTNAME)
|
||||
endif()
|
||||
|
||||
# OS specific instructions.
|
||||
if(APPLE)
|
||||
elseif(WIN32)
|
||||
# Windows developer environment specific instructions.
|
||||
if(MINGW)
|
||||
elseif(MSYS)
|
||||
elseif(CYGWIN)
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
else()
|
||||
endif()
|
||||
@@ -1,12 +0,0 @@
|
||||
release:
|
||||
@mkdir -p build bin
|
||||
@cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make
|
||||
|
||||
debug:
|
||||
@mkdir -p build debug
|
||||
@cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make
|
||||
|
||||
clean:
|
||||
@rm -rf bin
|
||||
@rm -rf build
|
||||
@rm -rf debug
|
||||
@@ -1,14 +0,0 @@
|
||||
[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]
|
||||
|
||||
* PROJECTNAME
|
||||
|
||||
PROJECTNAME is a C11 project written for and built with CMake.
|
||||
|
||||
* How to build PROJECTNAME
|
||||
|
||||
You can directly run either ~make~ or ~make release~ to compile the release
|
||||
version of the binaries which will be generated in ~bin/~. If you wish to
|
||||
compile its debug version instead, run ~make debug~ to generate the binaries in
|
||||
the ~debug/~ directory. Once you have ran ~make~ at the root of the project, you
|
||||
can recompile the project from the ~build/~ directory if you wish to avoid to
|
||||
re-run CMake.
|
||||
@@ -1,12 +0,0 @@
|
||||
INCLUDE(CheckCCompilerFlag)
|
||||
|
||||
function(enable_c_compiler_flag_if_supported flag)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${flag}" flag_already_set)
|
||||
if(flag_already_set EQUAL -1)
|
||||
check_c_compiler_flag("${flag}" flag_supported)
|
||||
if(flag_supported)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" PARENT_SCOPE)
|
||||
endif()
|
||||
unset(flag_supported CACHE)
|
||||
endif()
|
||||
endfunction()
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user