Lots of changes
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 84 KiB |
|
@ -0,0 +1,31 @@
|
||||||
|
# Lunk
|
||||||
|
|
||||||
|
Chrome extension that can open specified links with terminal commands
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td><img src=".github/graphics/angry_lunk.png" alt="Image of Lunk without lunk"/></td>
|
||||||
|
<td><img src=".github/graphics/happy_lunk.png" alt="Image of Lunk while using lunk"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><p align="center">Image of Lunk without lunk</p></td>
|
||||||
|
<td><p align="center">Image of Lunk while using lunk</p></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div align="right">Source: <a href="https://cyanide-and-happiness-show.fandom.com/wiki/Lunk">Cyanide and Happiness</a></div>
|
||||||
|
|
||||||
|
## Details
|
||||||
|
|
||||||
|
The extension consists of two parts.
|
||||||
|
|
||||||
|
There's the Chrome extension, that can be installed through the chrome web store (work in progress), or locally by installing the extension manually.
|
||||||
|
|
||||||
|
Then there's the daemon running in the background. The reason this is not integrated into the chrome extension itself (which would be much more convenient) is missing security permissions.
|
||||||
|
|
||||||
|
## Supported websites
|
||||||
|
|
||||||
|
### Youtube
|
||||||
|
(work in progress)
|
|
@ -1,6 +1,10 @@
|
||||||
|
|
||||||
let EXT_SWITCH = true;
|
let EXT_SWITCH = true;
|
||||||
|
|
||||||
|
chrome.storage.sync.get('globalOnOffSwitch', ({globalOnOffSwitch}) => {
|
||||||
|
EXT_SWITCH = globalOnOffSwitch ?? true;
|
||||||
|
});
|
||||||
|
|
||||||
chrome.storage.onChanged.addListener((changes, _) => {
|
chrome.storage.onChanged.addListener((changes, _) => {
|
||||||
for (let [key, { oldValue, newValue }] of Object.entries(changes)) {
|
for (let [key, { oldValue, newValue }] of Object.entries(changes)) {
|
||||||
if (key === 'globalOnOffSwitch') {
|
if (key === 'globalOnOffSwitch') {
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
|
@ -9,7 +9,6 @@
|
||||||
id="svg5"
|
id="svg5"
|
||||||
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
|
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
|
||||||
sodipodi:docname="icon.svg"
|
sodipodi:docname="icon.svg"
|
||||||
inkscape:export-filename="/home/h7x4/git/link-opener/chrome-plugin/icon.png"
|
|
||||||
inkscape:export-xdpi="81.279999"
|
inkscape:export-xdpi="81.279999"
|
||||||
inkscape:export-ydpi="81.279999"
|
inkscape:export-ydpi="81.279999"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
@ -130,7 +129,6 @@
|
||||||
id="g47566"
|
id="g47566"
|
||||||
mask="url(#mask-powermask-path-effect48049)"
|
mask="url(#mask-powermask-path-effect48049)"
|
||||||
inkscape:path-effect="#path-effect48049"
|
inkscape:path-effect="#path-effect48049"
|
||||||
inkscape:export-filename="/home/h7x4/git/link-opener/chrome-plugin/g47566.png"
|
|
||||||
inkscape:export-xdpi="108.05971"
|
inkscape:export-xdpi="108.05971"
|
||||||
inkscape:export-ydpi="108.05971"
|
inkscape:export-ydpi="108.05971"
|
||||||
transform="translate(1.656465,1.6518004)">
|
transform="translate(1.656465,1.6518004)">
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.1 KiB |
|
@ -1,9 +1,9 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": "Link Opener",
|
"name": "Lunk",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
|
|
||||||
"description": "An extension to open certain links in local programs",
|
"description": "An extension to open specified links in local programs",
|
||||||
"icons": {},
|
"icons": {},
|
||||||
|
|
||||||
"permissions": [
|
"permissions": [
|
|
@ -10,13 +10,13 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<h1>Link Opener</h1>
|
<h1>Lunk</h1>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class="setting">
|
<div class="setting">
|
||||||
<h2>On/Off:</h2>
|
<h2>On/Off:</h2>
|
||||||
<label class="switch">
|
<label class="switch">
|
||||||
<input type="checkbox" id="onOffSwitch">
|
<input type="checkbox" id="onOffSwitch" checked>
|
||||||
<span class="slider round"></span>
|
<span class="slider round"></span>
|
||||||
</label>
|
</label>
|
||||||
</span>
|
</span>
|