Adds clipboard access for moving urls to the clipboard

This commit is contained in:
sloum 2021-05-31 15:44:35 -07:00
parent 11bd373f9d
commit 3cc5cee0b5
54 changed files with 105 additions and 3 deletions

View File

@ -18,6 +18,10 @@ The above should do the job for most folks, assuming dependencies have been met.
### Dependencies
There are two main dependencies for goldberry, though both have their own dependencies as well.
#### wails
goldberry is built with the golang toolkit [wails](https://wails.app/gettingstarted/). As such, it has the same dependencies. In short:
- go
@ -32,6 +36,12 @@ To see minimum versions and for install help, see the [wails linux documentation
Once wails is installed and working, goldberry should build just fine.
#### Clipboard
This dependency is used to allow access to the system clipboard. This was not functioning via wails' frontend (js, via either the async or the blocking method). As a result this dependency was added in order to facilitate usage of the clipboard. On linux/unix either `xsel` or `xclip` must be installed for clipboard access to work.
This dependency is listed in the go mod and should get added automatically. If for any reason it does not, you can `go get github.com/atotto/clipboard`.
## Using goldberry
Adding items to your reading list is done via `Ctrl-*`, which will bring up a dialog to add the page you want. There is no other way to add to your reading list (ie. no button). Aside from that things mostly just work as you'd expect.
@ -58,6 +68,10 @@ Adding items to your reading list is done via `Ctrl-*`, which will bring up a di
- `Ctrl S`: Force save of the configuration file (mostly useful for debugging)
- `Ctrl u`: Move focus to the url bar and select all text currently there
### Other Interactions
Right clicking on a link of any kind will result in the link's target/url being copied to the system clipboard. Since goldberry does not utilize context menus, this is the only way to get a url from a link.
### Configuration
goldberry is configured via a json file. The file is stored at one of two locations:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"code":"!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=0)}([function(e,t){throw new Error('Module parse failed: Unexpected token (300:10)\\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\\n| var handleRightClick = (e) => {\\n| e.preventDefault();\\n> let u := e.target.href\\n| if (u != \"\") {\\n| clipBoard.value = u;')}]);","extractedComments":[]}

View File

@ -0,0 +1 @@
{"code":"!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=0)}([function(e,t){throw new Error('Module parse failed: Unexpected token (300:10)\\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\\n| var handleRightClick = (e) => {\\n| e.preventDefault();\\n> let u := e.target.href;\\n| if (u != \"\") {\\n| clipBoard.value = u;')}]);","extractedComments":[]}

View File

@ -0,0 +1 @@
{"code":"!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=0)}([function(e,t){throw new Error(\"Module parse failed: Cannot use keyword 'await' outside an async function (303:8)\\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\\n| if (u != \\\"\\\") {\\n| try {\\n> await navigator.clipboard.writeText(u);\\n| } catch (e) {\\n| clipBoard.value = u;\")}]);","extractedComments":[]}

View File

@ -0,0 +1,2 @@
d53d5e84a5c40e748b390da82c8452026a5584e0 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"8b6de3bd6c598c0ac7f093fb282e07b2\"}","integrity":"sha512-O9++iDzwKCrowbJDWe41ALApGhOImCvr8QJIeU4LBGLvEMg6XUnEBvf9X29sl8H+sG9VGcEw8T7ut6qGfe84YQ==","time":1622498834314,"size":135468}

View File

@ -0,0 +1,2 @@
98c7082848e274fc564391b414e2387a39846047 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"834cfd3f681d8b5ecea5b768c73a977b\"}","integrity":"sha512-TgXH5P4fC/TaJwcUx1bVaqpqppIkbHwX0VyUFBh1RuGWJ1FUFauv43eZcxwsNccadrOfJHZ5TdaTqD+asdo4DA==","time":1622500200683,"size":135284}

View File

@ -0,0 +1,2 @@
e38af7c5c2489650d67e2b4c7ae5fe7802716669 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"640b043ad2a3c7f09de342126be98f9c\"}","integrity":"sha512-GA4CqCAQ4sj0DS6bFlQD2JGNRFHPfNORMveTvuuVVFQmELQpVa2KrFNcO6DBmBKJijVSKMBKo0gUXeB1BYHB/Q==","time":1622499102177,"size":135546}

View File

@ -0,0 +1,2 @@
464b6aaf490c0fdc1f861b803f3353b4d61ff758 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"d36bb637853ce20decc77aeda2527072\"}","integrity":"sha512-qwpn9C6EMeuleZtLcLY+arc3P1I21266jNfMXwrcnN6Pr7ra5eflpRxU08M8M44ZFa0qVfXYkq2fxhnZbGa99A==","time":1622499146255,"size":135540}

View File

@ -0,0 +1,2 @@
338491687f918b61f0356f2a5327390d35322ff4 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"9964a925d9672f9631830ed170c4edba\"}","integrity":"sha512-qMEllM6mJz3H1cw2BlKihsSf40apRvHYd0cJ7/JcH50n3b/d6KaoAtcdYu8cZYkFHGS2e1Yj9mgUuzuanW8Vgw==","time":1622497872013,"size":135505}

View File

@ -0,0 +1,2 @@
9283085f3fa2c7150041943b1c4c16408bb04438 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"0e45b560203d21f8ae394a12acfb5e5b\"}","integrity":"sha512-tdV1H1Zw2ABTFOr1LTHqavu8742oKASyTZZ8qqbHnNHH6OPOxmCXQm0CQGpbWOCccLidR0yTmV1aErjzbmvRSw==","time":1622500175985,"size":302566}

View File

@ -0,0 +1,2 @@
b471c1313c3665aea131f231710ef9a56c53bd3a {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"e3add46eec38701e8f112fc0c9bcf233\"}","integrity":"sha512-HVltMjskdGTBOx/RjgIMowZMxXhw9EPs4y0xCnhhSMjgvB0nrDIpn9/pIenRw6GXi0a0Sw7LbfnEJOLLJgN2iA==","time":1622499958580,"size":135233}

View File

@ -0,0 +1,2 @@
34e427890b039661b572ba64405099b899fd53cb {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"4ad24322ede33e90346c4cdb119cc349\"}","integrity":"sha512-0m8Lqms1frqZFpSt+sfJI9F5JHa82O5+GiEzLyka8Yo5SgXbsfad3FEEltIK2HLvMCVLGNa89e42MLleI5VOKQ==","time":1622500044088,"size":135255}

View File

@ -0,0 +1,2 @@
560966e39195bcf707b5684fa03bc76e2aaaa123 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"994c79b0919d41261d737fd40b4242e0\"}","integrity":"sha512-TNayKonnaouMhL1+HhTRngm0BiougukTQ/nGmo5pIJwPRM4HM24s6IWLL+tAv65W8ADKD5VlBW1cYHO9QIhlgg==","time":1622496086224,"size":1364}

View File

@ -0,0 +1,2 @@
1dc026021404cbb9f95e69fcf4aefa95571ae770 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"52b1460637d3fc76fe300a7234388820\"}","integrity":"sha512-AiaKW4xClXXfe6PMTX0QakqNS9DaMVwD8ybiE6glm8Pru/Z1siILGtN4TArt7agXFWkPltOaLvGt/QekBBfkSg==","time":1622499818195,"size":135283}

View File

@ -0,0 +1,2 @@
36fbe8375b4f5b5f7c563e222c27e9d8c8f7119c {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"9f7d031deea65ab6c9e49b2e3c9d7e8c\"}","integrity":"sha512-pSvXxA/IUkrpbHGBKBeHxGRnfzq0Yx8W0htQMcUGjGcUxCBnrdeGsUc5qw0hxcCCIy+j3KFvMsjX6VK8JKHNHw==","time":1622498768282,"size":135438}

View File

@ -0,0 +1,2 @@
abfabe8222c5b2e6e7aa1744b416712d8f7801c8 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"67ea8d2f44a5652f19426a51293f75bd\"}","integrity":"sha512-DDZHPLIuwzjaj4ds3OSWXfi02Lyl3x87yFWiLEBAiOnjh4Fzb0DaGACZtNAAOSzZkkYFaWOM0YXNoaiiyCuAvQ==","time":1622496059573,"size":1363}

View File

@ -0,0 +1,2 @@
6de1a73946551aacaa745769a375c5e1dba39411 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"3093643540467f520b806192736050bb\"}","integrity":"sha512-0Ygo54+b0jKa7xOQkSK6D8yM4ToyeKCdxuUWArnXi+X3N9+UyN0E5FEzKmojC91UoIgRuEMHJ8DQESLSDRl2Gw==","time":1622498995772,"size":1401}

View File

@ -0,0 +1,2 @@
0c6812a30e07e3b4c1581e5704a8ac7d6c3616a5 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"333256d0e8351cd8ec567b5fcf5812ec\"}","integrity":"sha512-O7tJr91pskKkRBbUYIczu9VU4p7yomt7TtL57aq2Im7aYhtjT6yRvrTjboS58ZA8FE444naksrTcotYJd7vYKA==","time":1622495352629,"size":302581}

View File

@ -0,0 +1,2 @@
5fa5e4d3cf4971c1ee5ceb667299e02fb0988f51 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"f71a58ef4961454c30398b103c17848c\"}","integrity":"sha512-SQfvYEGeLeTPbgy6aFYkhWOsX4ZUiThWfI5Gu+1x/rcrdBmaY6IjyfmoyqDP75wuPjUUBn+tLq42R70lhKaoQg==","time":1622498636746,"size":135419}

View File

@ -0,0 +1,2 @@
fb8c4a39f2dd90d746c345e51baedd540670b765 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"887f91ce52b8678f6a3df2fe6cd4724c\"}","integrity":"sha512-2uWlZ8vju1gB6lJoML/lLDbXUwcIPff/XzJhG6K1yZk9ptPCfOCQOepKm6Kf7L9ys9s2b4vxArvjVvjf2XFdHg==","time":1622498574775,"size":135433}

View File

@ -0,0 +1,2 @@
37e39e57044e63a3e47f1e55d98f6c84ee80739b {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"ad4d20d5db71f523d2c1b54e7a7f8483\"}","integrity":"sha512-Ys/yVgimKe0x2mVJXaekwTA4P64pKlaoWCfV+Dk4V7rPh6RET1I5rK2aKZl2L/gK9ZBEdRkVtRSa+185a+ZvdQ==","time":1622500098494,"size":302587}

View File

@ -0,0 +1,2 @@
930de6b931bbd5fe66ccf3fb63ec111b46a31125 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"d23994c77c69871b2355ec6c288aa7b9\"}","integrity":"sha512-n5berDWW+iSeRQcXFUaIWa5jhs5EPa7ugbQpcS5lo2o2dEjPzKLk1rtv3ozQk2+GS4H7suS7nmUCLhqeSre0UA==","time":1622500657649,"size":135278}

View File

@ -0,0 +1,2 @@
5cd3257d1c83bb77f04de5af0a559e354a8e4296 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"a28f1cdfb6817a97b704e24f5d594285\"}","integrity":"sha512-M+T3eDQw3QGnANfaBDRHn5scI7TDMw2AfmL7qyCreYm8niVqGWLt9NgVRYgkkonljQrel7VcBZQgwxRcBK21ZA==","time":1622499024844,"size":135593}

View File

@ -0,0 +1,2 @@
afd9138eca1d21c996f773773b6c6ad69e031aab {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"db5b0e3fc51c7830b51763781d5fe857\"}","integrity":"sha512-fxRYyIfr/nIdDZPGLPh3BYkDcwMHwvzQJfBdNMUB4d4XV28YXfD9L+ZNg9DFESoOphDi9NFi7UgfZCtooDxjjQ==","time":1622497919867,"size":135363}

View File

@ -0,0 +1,2 @@
2024a697059bdad2d1679f9cd6bcc1848f3cdba9 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"1f9417e2120aecc751001ce3ae19e98e\"}","integrity":"sha512-8bT2xjLbd+H+Lo6/cebXClnuj/bUgguS7CyITcsXtlsdA0bE58gdEKsjpZJdRnizauVuxcG4TpRqeeF+cgm1oA==","time":1622499904541,"size":135311}

View File

@ -0,0 +1,2 @@
e27d6b4a99af42c6bb6171db669524a5ada12b34 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"323daba4a0bbc612c00d3cfa0a1d3c8f\"}","integrity":"sha512-4Q2GXOKl9+nd5DcqYWONSAyIFTl6hBkIO1tek1+urk//cyrCOP9RW7hMiP0KVxUClQSMrSJbZhd3sjBirirgVw==","time":1622495244520,"size":135299}

View File

@ -0,0 +1,2 @@
64b9687f11916a6b44cf834f1ea44c9c35e6bb59 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"9127ffc4a6b1cc81d8b249911819cf21\"}","integrity":"sha512-hQNUtYjvBszSE7N51dOXzz3CzrilnGvEOVnbyJw92sWNZwKjSZowzbA+Xrh5oQ2n697Xu3TfSZ7BsMD8WWyyiA==","time":1622499246431,"size":135510}

View File

@ -0,0 +1,2 @@
719ede64d0e46ad13fc588478500e51decfbae90 {"key":"{\"terser\":\"4.8.0\",\"node_version\":\"v16.2.0\",\"terser-webpack-plugin\":\"1.4.5\",\"terser-webpack-plugin-options\":{\"test\":new RegExp(\"\\\\.m?js(\\\\?.*)?$\", \"i\"),\"chunkFilter\":() => true,\"warningsFilter\":() => true,\"extractComments\":false,\"sourceMap\":false,\"cache\":true,\"cacheKeys\":defaultCacheKeys => defaultCacheKeys,\"parallel\":true,\"include\":undefined,\"exclude\":undefined,\"minify\":undefined,\"terserOptions\":{\"output\":{\"comments\":new RegExp(\"^\\\\**!|@preserve|@license|@cc_on\", \"i\")}}},\"hash\":\"ab01bd34200da919fe60540b444379b9\"}","integrity":"sha512-dmjxOnxyHqU1GqBjGjzbBxkJG5MgAIrXOkOBeuWeiv7tR9U5Ie9TmZ7T9o23GLA2SzuBBPU6asEqMLzwA4ZTww==","time":1622496135926,"size":135481}

View File

@ -276,7 +276,7 @@ function start() {
main.scroll({top: 0});
addSearchFormListeners();
}, (err) => {
spinner.classList.remove('loading');
url.classList.remove('loading');
url.value = previousURL;
console.log(err)
});
@ -293,12 +293,18 @@ function start() {
}
};
var handleRightClick = (e) => {
e.preventDefault();
backend.AppControl.WriteToClipboard(e.target.href);
}
var anchorListener = (item) => {
item.addEventListener('click', handleClick);
item.addEventListener('focusin', showUrlTip);
item.addEventListener('focusout', hideUrlTip);
item.addEventListener('mouseover', showUrlTip);
item.addEventListener('mouseout', hideUrlTip);
item.addEventListener('contextmenu', handleRightClick);
}
var addAnchorListeners = () => {

5
go.mod
View File

@ -2,4 +2,7 @@ module wailstest
go 1.16
require github.com/wailsapp/wails v1.16.3
require (
github.com/atotto/clipboard v0.1.4
github.com/wailsapp/wails v1.16.3
)

2
go.sum
View File

@ -3,6 +3,8 @@ github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0
github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc=
github.com/abadojack/whatlanggo v1.0.1 h1:19N6YogDnf71CTHm3Mp2qhYfkRdyvbgwWdd2EPxJRG4=
github.com/abadojack/whatlanggo v1.0.1/go.mod h1:66WiQbSbJBIlOZMsvbKe5m6pzQovxCH9B/K8tQB2uoc=
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=

View File

@ -6,6 +6,7 @@ import (
_ "embed"
"github.com/wailsapp/wails"
"github.com/atotto/clipboard"
)
@ -45,6 +46,10 @@ func (f *AppControl) SaveFile(data string) error {
return nil
}
func (f AppControl) WriteToClipboard(txt string) error {
return clipboard.WriteAll(txt)
}
func (f *AppControl) OpenHTTP(url string) error {
return f.runtime.Browser.OpenURL(url)
}