pokeedex 0.1.0 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -5
  3. data/bin/pokeedex +1 -44
  4. data/lib/pokeedex/configuration.rb +0 -6
  5. data/lib/pokeedex/install_playwright.rb +62 -0
  6. data/lib/pokeedex/pokemon/scrapper/fetchers/base.rb +1 -1
  7. data/lib/pokeedex/version.rb +1 -1
  8. data/lib/pokeedex.rb +5 -2
  9. data/spec/pokeedex/configuration_spec.rb +0 -7
  10. data/spec/spec_helper.rb +1 -1
  11. metadata +2 -550
  12. data/node_modules/.bin/playwright +0 -1
  13. data/node_modules/.bin/playwright-core +0 -1
  14. data/node_modules/.yarn-integrity +0 -22
  15. data/node_modules/@playwright/test/LICENSE +0 -202
  16. data/node_modules/@playwright/test/NOTICE +0 -5
  17. data/node_modules/@playwright/test/README.md +0 -169
  18. data/node_modules/@playwright/test/cli.js +0 -19
  19. data/node_modules/@playwright/test/index.d.ts +0 -18
  20. data/node_modules/@playwright/test/index.js +0 -17
  21. data/node_modules/@playwright/test/index.mjs +0 -18
  22. data/node_modules/@playwright/test/node_modules/.bin/playwright +0 -1
  23. data/node_modules/@playwright/test/package.json +0 -35
  24. data/node_modules/@playwright/test/reporter.d.ts +0 -17
  25. data/node_modules/@playwright/test/reporter.js +0 -17
  26. data/node_modules/@playwright/test/reporter.mjs +0 -17
  27. data/node_modules/@types/node/LICENSE +0 -21
  28. data/node_modules/@types/node/README.md +0 -15
  29. data/node_modules/@types/node/assert/strict.d.ts +0 -8
  30. data/node_modules/@types/node/assert.d.ts +0 -1040
  31. data/node_modules/@types/node/async_hooks.d.ts +0 -541
  32. data/node_modules/@types/node/buffer.d.ts +0 -2300
  33. data/node_modules/@types/node/child_process.d.ts +0 -1544
  34. data/node_modules/@types/node/cluster.d.ts +0 -578
  35. data/node_modules/@types/node/console.d.ts +0 -452
  36. data/node_modules/@types/node/constants.d.ts +0 -19
  37. data/node_modules/@types/node/crypto.d.ts +0 -4451
  38. data/node_modules/@types/node/dgram.d.ts +0 -596
  39. data/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  40. data/node_modules/@types/node/dns/promises.d.ts +0 -476
  41. data/node_modules/@types/node/dns.d.ts +0 -865
  42. data/node_modules/@types/node/dom-events.d.ts +0 -124
  43. data/node_modules/@types/node/domain.d.ts +0 -170
  44. data/node_modules/@types/node/events.d.ts +0 -931
  45. data/node_modules/@types/node/fs/promises.d.ts +0 -1264
  46. data/node_modules/@types/node/fs.d.ts +0 -4390
  47. data/node_modules/@types/node/globals.d.ts +0 -611
  48. data/node_modules/@types/node/globals.global.d.ts +0 -1
  49. data/node_modules/@types/node/http.d.ts +0 -1921
  50. data/node_modules/@types/node/http2.d.ts +0 -2555
  51. data/node_modules/@types/node/https.d.ts +0 -544
  52. data/node_modules/@types/node/index.d.ts +0 -90
  53. data/node_modules/@types/node/inspector.d.ts +0 -3966
  54. data/node_modules/@types/node/module.d.ts +0 -301
  55. data/node_modules/@types/node/net.d.ts +0 -995
  56. data/node_modules/@types/node/os.d.ts +0 -495
  57. data/node_modules/@types/node/package.json +0 -217
  58. data/node_modules/@types/node/path.d.ts +0 -200
  59. data/node_modules/@types/node/perf_hooks.d.ts +0 -941
  60. data/node_modules/@types/node/process.d.ts +0 -1912
  61. data/node_modules/@types/node/punycode.d.ts +0 -117
  62. data/node_modules/@types/node/querystring.d.ts +0 -153
  63. data/node_modules/@types/node/readline/promises.d.ts +0 -150
  64. data/node_modules/@types/node/readline.d.ts +0 -540
  65. data/node_modules/@types/node/repl.d.ts +0 -430
  66. data/node_modules/@types/node/sea.d.ts +0 -153
  67. data/node_modules/@types/node/sqlite.d.ts +0 -213
  68. data/node_modules/@types/node/stream/consumers.d.ts +0 -12
  69. data/node_modules/@types/node/stream/promises.d.ts +0 -83
  70. data/node_modules/@types/node/stream/web.d.ts +0 -606
  71. data/node_modules/@types/node/stream.d.ts +0 -1726
  72. data/node_modules/@types/node/string_decoder.d.ts +0 -67
  73. data/node_modules/@types/node/test.d.ts +0 -2098
  74. data/node_modules/@types/node/timers/promises.d.ts +0 -97
  75. data/node_modules/@types/node/timers.d.ts +0 -240
  76. data/node_modules/@types/node/tls.d.ts +0 -1220
  77. data/node_modules/@types/node/trace_events.d.ts +0 -197
  78. data/node_modules/@types/node/tty.d.ts +0 -208
  79. data/node_modules/@types/node/url.d.ts +0 -969
  80. data/node_modules/@types/node/util.d.ts +0 -2301
  81. data/node_modules/@types/node/v8.d.ts +0 -808
  82. data/node_modules/@types/node/vm.d.ts +0 -922
  83. data/node_modules/@types/node/wasi.d.ts +0 -181
  84. data/node_modules/@types/node/worker_threads.d.ts +0 -712
  85. data/node_modules/@types/node/zlib.d.ts +0 -539
  86. data/node_modules/fsevents/LICENSE +0 -22
  87. data/node_modules/fsevents/README.md +0 -83
  88. data/node_modules/fsevents/fsevents.d.ts +0 -46
  89. data/node_modules/fsevents/fsevents.js +0 -82
  90. data/node_modules/fsevents/fsevents.node +0 -0
  91. data/node_modules/fsevents/package.json +0 -62
  92. data/node_modules/playwright/.eslintrc.js +0 -6
  93. data/node_modules/playwright/LICENSE +0 -202
  94. data/node_modules/playwright/NOTICE +0 -5
  95. data/node_modules/playwright/README.md +0 -169
  96. data/node_modules/playwright/ThirdPartyNotices.txt +0 -4356
  97. data/node_modules/playwright/cli.js +0 -19
  98. data/node_modules/playwright/index.d.ts +0 -17
  99. data/node_modules/playwright/index.js +0 -17
  100. data/node_modules/playwright/index.mjs +0 -18
  101. data/node_modules/playwright/jsx-runtime.js +0 -41
  102. data/node_modules/playwright/jsx-runtime.mjs +0 -21
  103. data/node_modules/playwright/lib/common/config.js +0 -256
  104. data/node_modules/playwright/lib/common/configLoader.js +0 -321
  105. data/node_modules/playwright/lib/common/esmLoaderHost.js +0 -93
  106. data/node_modules/playwright/lib/common/expectBundle.js +0 -27
  107. data/node_modules/playwright/lib/common/expectBundleImpl.js +0 -389
  108. data/node_modules/playwright/lib/common/fixtures.js +0 -323
  109. data/node_modules/playwright/lib/common/globals.js +0 -48
  110. data/node_modules/playwright/lib/common/ipc.js +0 -48
  111. data/node_modules/playwright/lib/common/poolBuilder.js +0 -79
  112. data/node_modules/playwright/lib/common/process.js +0 -140
  113. data/node_modules/playwright/lib/common/suiteUtils.js +0 -133
  114. data/node_modules/playwright/lib/common/test.js +0 -311
  115. data/node_modules/playwright/lib/common/testLoader.js +0 -102
  116. data/node_modules/playwright/lib/common/testType.js +0 -284
  117. data/node_modules/playwright/lib/fsWatcher.js +0 -69
  118. data/node_modules/playwright/lib/index.js +0 -888
  119. data/node_modules/playwright/lib/internalsForTest.js +0 -28
  120. data/node_modules/playwright/lib/isomorphic/events.js +0 -72
  121. data/node_modules/playwright/lib/isomorphic/folders.js +0 -25
  122. data/node_modules/playwright/lib/isomorphic/stringInternPool.js +0 -58
  123. data/node_modules/playwright/lib/isomorphic/teleReceiver.js +0 -504
  124. data/node_modules/playwright/lib/isomorphic/teleSuiteUpdater.js +0 -149
  125. data/node_modules/playwright/lib/isomorphic/testServerConnection.js +0 -210
  126. data/node_modules/playwright/lib/isomorphic/testServerInterface.js +0 -5
  127. data/node_modules/playwright/lib/isomorphic/testTree.js +0 -272
  128. data/node_modules/playwright/lib/loader/loaderMain.js +0 -58
  129. data/node_modules/playwright/lib/matchers/expect.js +0 -297
  130. data/node_modules/playwright/lib/matchers/matcherHint.js +0 -50
  131. data/node_modules/playwright/lib/matchers/matchers.js +0 -449
  132. data/node_modules/playwright/lib/matchers/toBeTruthy.js +0 -55
  133. data/node_modules/playwright/lib/matchers/toEqual.js +0 -57
  134. data/node_modules/playwright/lib/matchers/toMatchSnapshot.js +0 -383
  135. data/node_modules/playwright/lib/matchers/toMatchText.js +0 -76
  136. data/node_modules/playwright/lib/plugins/gitCommitInfoPlugin.js +0 -78
  137. data/node_modules/playwright/lib/plugins/index.js +0 -19
  138. data/node_modules/playwright/lib/plugins/webServerPlugin.js +0 -187
  139. data/node_modules/playwright/lib/program.js +0 -346
  140. data/node_modules/playwright/lib/reporters/base.js +0 -553
  141. data/node_modules/playwright/lib/reporters/blob.js +0 -133
  142. data/node_modules/playwright/lib/reporters/dot.js +0 -82
  143. data/node_modules/playwright/lib/reporters/empty.js +0 -42
  144. data/node_modules/playwright/lib/reporters/github.js +0 -115
  145. data/node_modules/playwright/lib/reporters/html.js +0 -623
  146. data/node_modules/playwright/lib/reporters/internalReporter.js +0 -123
  147. data/node_modules/playwright/lib/reporters/json.js +0 -243
  148. data/node_modules/playwright/lib/reporters/junit.js +0 -233
  149. data/node_modules/playwright/lib/reporters/line.js +0 -108
  150. data/node_modules/playwright/lib/reporters/list.js +0 -222
  151. data/node_modules/playwright/lib/reporters/markdown.js +0 -76
  152. data/node_modules/playwright/lib/reporters/merge.js +0 -477
  153. data/node_modules/playwright/lib/reporters/multiplexer.js +0 -90
  154. data/node_modules/playwright/lib/reporters/reporterV2.js +0 -118
  155. data/node_modules/playwright/lib/reporters/teleEmitter.js +0 -268
  156. data/node_modules/playwright/lib/reporters/versions/blobV1.js +0 -5
  157. data/node_modules/playwright/lib/runner/dispatcher.js +0 -532
  158. data/node_modules/playwright/lib/runner/failureTracker.js +0 -60
  159. data/node_modules/playwright/lib/runner/loadUtils.js +0 -308
  160. data/node_modules/playwright/lib/runner/loaderHost.js +0 -85
  161. data/node_modules/playwright/lib/runner/processHost.js +0 -175
  162. data/node_modules/playwright/lib/runner/projectUtils.js +0 -203
  163. data/node_modules/playwright/lib/runner/reporters.js +0 -151
  164. data/node_modules/playwright/lib/runner/runner.js +0 -179
  165. data/node_modules/playwright/lib/runner/sigIntWatcher.js +0 -100
  166. data/node_modules/playwright/lib/runner/taskRunner.js +0 -147
  167. data/node_modules/playwright/lib/runner/tasks.js +0 -407
  168. data/node_modules/playwright/lib/runner/testGroups.js +0 -136
  169. data/node_modules/playwright/lib/runner/testServer.js +0 -605
  170. data/node_modules/playwright/lib/runner/uiModeReporter.js +0 -31
  171. data/node_modules/playwright/lib/runner/vcs.js +0 -55
  172. data/node_modules/playwright/lib/runner/watchMode.js +0 -398
  173. data/node_modules/playwright/lib/runner/workerHost.js +0 -85
  174. data/node_modules/playwright/lib/third_party/tsconfig-loader.js +0 -134
  175. data/node_modules/playwright/lib/transform/babelBundle.js +0 -28
  176. data/node_modules/playwright/lib/transform/babelBundleImpl.js +0 -2032
  177. data/node_modules/playwright/lib/transform/compilationCache.js +0 -254
  178. data/node_modules/playwright/lib/transform/esmLoader.js +0 -117
  179. data/node_modules/playwright/lib/transform/esmUtils.js +0 -32
  180. data/node_modules/playwright/lib/transform/portTransport.js +0 -81
  181. data/node_modules/playwright/lib/transform/transform.js +0 -267
  182. data/node_modules/playwright/lib/util.js +0 -356
  183. data/node_modules/playwright/lib/utilsBundle.js +0 -28
  184. data/node_modules/playwright/lib/utilsBundleImpl.js +0 -102
  185. data/node_modules/playwright/lib/worker/fixtureRunner.js +0 -279
  186. data/node_modules/playwright/lib/worker/testInfo.js +0 -397
  187. data/node_modules/playwright/lib/worker/testTracing.js +0 -314
  188. data/node_modules/playwright/lib/worker/timeoutManager.js +0 -153
  189. data/node_modules/playwright/lib/worker/workerMain.js +0 -637
  190. data/node_modules/playwright/node_modules/.bin/playwright-core +0 -1
  191. data/node_modules/playwright/package.json +0 -66
  192. data/node_modules/playwright/test.d.ts +0 -18
  193. data/node_modules/playwright/test.js +0 -24
  194. data/node_modules/playwright/test.mjs +0 -33
  195. data/node_modules/playwright/types/test.d.ts +0 -8444
  196. data/node_modules/playwright/types/testReporter.d.ts +0 -749
  197. data/node_modules/playwright-core/LICENSE +0 -202
  198. data/node_modules/playwright-core/NOTICE +0 -5
  199. data/node_modules/playwright-core/README.md +0 -3
  200. data/node_modules/playwright-core/ThirdPartyNotices.txt +0 -1548
  201. data/node_modules/playwright-core/bin/PrintDeps.exe +0 -0
  202. data/node_modules/playwright-core/bin/README.md +0 -2
  203. data/node_modules/playwright-core/bin/install_media_pack.ps1 +0 -5
  204. data/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -40
  205. data/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -13
  206. data/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +0 -24
  207. data/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -40
  208. data/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -12
  209. data/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +0 -24
  210. data/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -40
  211. data/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -11
  212. data/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +0 -23
  213. data/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -40
  214. data/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -11
  215. data/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +0 -23
  216. data/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -40
  217. data/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -11
  218. data/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +0 -24
  219. data/node_modules/playwright-core/browsers.json +0 -53
  220. data/node_modules/playwright-core/cli.js +0 -18
  221. data/node_modules/playwright-core/index.d.ts +0 -17
  222. data/node_modules/playwright-core/index.js +0 -33
  223. data/node_modules/playwright-core/index.mjs +0 -28
  224. data/node_modules/playwright-core/lib/androidServerImpl.js +0 -69
  225. data/node_modules/playwright-core/lib/browserServerImpl.js +0 -92
  226. data/node_modules/playwright-core/lib/cli/driver.js +0 -95
  227. data/node_modules/playwright-core/lib/cli/program.js +0 -577
  228. data/node_modules/playwright-core/lib/cli/programWithTestStub.js +0 -67
  229. data/node_modules/playwright-core/lib/client/accessibility.js +0 -50
  230. data/node_modules/playwright-core/lib/client/android.js +0 -473
  231. data/node_modules/playwright-core/lib/client/api.js +0 -279
  232. data/node_modules/playwright-core/lib/client/artifact.js +0 -79
  233. data/node_modules/playwright-core/lib/client/browser.js +0 -145
  234. data/node_modules/playwright-core/lib/client/browserContext.js +0 -541
  235. data/node_modules/playwright-core/lib/client/browserType.js +0 -241
  236. data/node_modules/playwright-core/lib/client/cdpSession.js +0 -53
  237. data/node_modules/playwright-core/lib/client/channelOwner.js +0 -231
  238. data/node_modules/playwright-core/lib/client/clientHelper.js +0 -57
  239. data/node_modules/playwright-core/lib/client/clientInstrumentation.js +0 -50
  240. data/node_modules/playwright-core/lib/client/clock.js +0 -68
  241. data/node_modules/playwright-core/lib/client/connection.js +0 -330
  242. data/node_modules/playwright-core/lib/client/consoleMessage.js +0 -55
  243. data/node_modules/playwright-core/lib/client/coverage.js +0 -41
  244. data/node_modules/playwright-core/lib/client/dialog.js +0 -57
  245. data/node_modules/playwright-core/lib/client/download.js +0 -62
  246. data/node_modules/playwright-core/lib/client/electron.js +0 -135
  247. data/node_modules/playwright-core/lib/client/elementHandle.js +0 -321
  248. data/node_modules/playwright-core/lib/client/errors.js +0 -77
  249. data/node_modules/playwright-core/lib/client/eventEmitter.js +0 -314
  250. data/node_modules/playwright-core/lib/client/events.js +0 -94
  251. data/node_modules/playwright-core/lib/client/fetch.js +0 -396
  252. data/node_modules/playwright-core/lib/client/fileChooser.js +0 -45
  253. data/node_modules/playwright-core/lib/client/frame.js +0 -504
  254. data/node_modules/playwright-core/lib/client/harRouter.js +0 -99
  255. data/node_modules/playwright-core/lib/client/input.js +0 -111
  256. data/node_modules/playwright-core/lib/client/jsHandle.js +0 -129
  257. data/node_modules/playwright-core/lib/client/jsonPipe.js +0 -35
  258. data/node_modules/playwright-core/lib/client/localUtils.js +0 -35
  259. data/node_modules/playwright-core/lib/client/locator.js +0 -441
  260. data/node_modules/playwright-core/lib/client/network.js +0 -604
  261. data/node_modules/playwright-core/lib/client/page.js +0 -725
  262. data/node_modules/playwright-core/lib/client/playwright.js +0 -77
  263. data/node_modules/playwright-core/lib/client/selectors.js +0 -67
  264. data/node_modules/playwright-core/lib/client/stream.js +0 -54
  265. data/node_modules/playwright-core/lib/client/tracing.js +0 -138
  266. data/node_modules/playwright-core/lib/client/types.js +0 -24
  267. data/node_modules/playwright-core/lib/client/video.js +0 -51
  268. data/node_modules/playwright-core/lib/client/waiter.js +0 -158
  269. data/node_modules/playwright-core/lib/client/webError.js +0 -37
  270. data/node_modules/playwright-core/lib/client/worker.js +0 -71
  271. data/node_modules/playwright-core/lib/client/writableStream.js +0 -54
  272. data/node_modules/playwright-core/lib/common/socksProxy.js +0 -569
  273. data/node_modules/playwright-core/lib/common/timeoutSettings.js +0 -73
  274. data/node_modules/playwright-core/lib/common/types.js +0 -5
  275. data/node_modules/playwright-core/lib/generated/clockSource.js +0 -7
  276. data/node_modules/playwright-core/lib/generated/consoleApiSource.js +0 -7
  277. data/node_modules/playwright-core/lib/generated/injectedScriptSource.js +0 -7
  278. data/node_modules/playwright-core/lib/generated/recorderSource.js +0 -7
  279. data/node_modules/playwright-core/lib/generated/utilityScriptSource.js +0 -7
  280. data/node_modules/playwright-core/lib/image_tools/colorUtils.js +0 -98
  281. data/node_modules/playwright-core/lib/image_tools/compare.js +0 -108
  282. data/node_modules/playwright-core/lib/image_tools/imageChannel.js +0 -70
  283. data/node_modules/playwright-core/lib/image_tools/stats.js +0 -102
  284. data/node_modules/playwright-core/lib/inProcessFactory.js +0 -54
  285. data/node_modules/playwright-core/lib/inprocess.js +0 -20
  286. data/node_modules/playwright-core/lib/outofprocess.js +0 -67
  287. data/node_modules/playwright-core/lib/protocol/debug.js +0 -27
  288. data/node_modules/playwright-core/lib/protocol/serializers.js +0 -173
  289. data/node_modules/playwright-core/lib/protocol/transport.js +0 -82
  290. data/node_modules/playwright-core/lib/protocol/validator.js +0 -2694
  291. data/node_modules/playwright-core/lib/protocol/validatorPrimitives.js +0 -139
  292. data/node_modules/playwright-core/lib/remote/playwrightConnection.js +0 -274
  293. data/node_modules/playwright-core/lib/remote/playwrightServer.js +0 -110
  294. data/node_modules/playwright-core/lib/server/accessibility.js +0 -62
  295. data/node_modules/playwright-core/lib/server/android/android.js +0 -441
  296. data/node_modules/playwright-core/lib/server/android/backendAdb.js +0 -172
  297. data/node_modules/playwright-core/lib/server/artifact.js +0 -104
  298. data/node_modules/playwright-core/lib/server/bidi/bidiBrowser.js +0 -296
  299. data/node_modules/playwright-core/lib/server/bidi/bidiConnection.js +0 -206
  300. data/node_modules/playwright-core/lib/server/bidi/bidiExecutionContext.js +0 -162
  301. data/node_modules/playwright-core/lib/server/bidi/bidiFirefox.js +0 -110
  302. data/node_modules/playwright-core/lib/server/bidi/bidiInput.js +0 -174
  303. data/node_modules/playwright-core/lib/server/bidi/bidiNetworkManager.js +0 -304
  304. data/node_modules/playwright-core/lib/server/bidi/bidiPage.js +0 -456
  305. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiDeserializer.js +0 -93
  306. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiKeyboard.js +0 -238
  307. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiProtocol.js +0 -139
  308. data/node_modules/playwright-core/lib/server/bidi/third_party/bidiSerializer.js +0 -144
  309. data/node_modules/playwright-core/lib/server/browser.js +0 -137
  310. data/node_modules/playwright-core/lib/server/browserContext.js +0 -684
  311. data/node_modules/playwright-core/lib/server/browserType.js +0 -307
  312. data/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  313. data/node_modules/playwright-core/lib/server/chromium/chromium.js +0 -362
  314. data/node_modules/playwright-core/lib/server/chromium/chromiumSwitches.js +0 -44
  315. data/node_modules/playwright-core/lib/server/chromium/crAccessibility.js +0 -237
  316. data/node_modules/playwright-core/lib/server/chromium/crBrowser.js +0 -515
  317. data/node_modules/playwright-core/lib/server/chromium/crConnection.js +0 -228
  318. data/node_modules/playwright-core/lib/server/chromium/crCoverage.js +0 -246
  319. data/node_modules/playwright-core/lib/server/chromium/crDevTools.js +0 -104
  320. data/node_modules/playwright-core/lib/server/chromium/crDragDrop.js +0 -143
  321. data/node_modules/playwright-core/lib/server/chromium/crExecutionContext.js +0 -156
  322. data/node_modules/playwright-core/lib/server/chromium/crInput.js +0 -171
  323. data/node_modules/playwright-core/lib/server/chromium/crNetworkManager.js +0 -767
  324. data/node_modules/playwright-core/lib/server/chromium/crPage.js +0 -1128
  325. data/node_modules/playwright-core/lib/server/chromium/crPdf.js +0 -153
  326. data/node_modules/playwright-core/lib/server/chromium/crProtocolHelper.js +0 -133
  327. data/node_modules/playwright-core/lib/server/chromium/crServiceWorker.js +0 -112
  328. data/node_modules/playwright-core/lib/server/chromium/defaultFontFamilies.js +0 -145
  329. data/node_modules/playwright-core/lib/server/chromium/videoRecorder.js +0 -155
  330. data/node_modules/playwright-core/lib/server/clock.js +0 -125
  331. data/node_modules/playwright-core/lib/server/codegen/csharp.js +0 -299
  332. data/node_modules/playwright-core/lib/server/codegen/java.js +0 -235
  333. data/node_modules/playwright-core/lib/server/codegen/javascript.js +0 -223
  334. data/node_modules/playwright-core/lib/server/codegen/jsonl.js +0 -47
  335. data/node_modules/playwright-core/lib/server/codegen/language.js +0 -76
  336. data/node_modules/playwright-core/lib/server/codegen/languages.js +0 -30
  337. data/node_modules/playwright-core/lib/server/codegen/python.js +0 -265
  338. data/node_modules/playwright-core/lib/server/codegen/types.js +0 -5
  339. data/node_modules/playwright-core/lib/server/console.js +0 -57
  340. data/node_modules/playwright-core/lib/server/cookieStore.js +0 -112
  341. data/node_modules/playwright-core/lib/server/debugController.js +0 -234
  342. data/node_modules/playwright-core/lib/server/debugger.js +0 -132
  343. data/node_modules/playwright-core/lib/server/deviceDescriptors.js +0 -26
  344. data/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +0 -1669
  345. data/node_modules/playwright-core/lib/server/dialog.js +0 -70
  346. data/node_modules/playwright-core/lib/server/dispatchers/androidDispatcher.js +0 -193
  347. data/node_modules/playwright-core/lib/server/dispatchers/artifactDispatcher.js +0 -118
  348. data/node_modules/playwright-core/lib/server/dispatchers/browserContextDispatcher.js +0 -351
  349. data/node_modules/playwright-core/lib/server/dispatchers/browserDispatcher.js +0 -170
  350. data/node_modules/playwright-core/lib/server/dispatchers/browserTypeDispatcher.js +0 -55
  351. data/node_modules/playwright-core/lib/server/dispatchers/cdpSessionDispatcher.js +0 -48
  352. data/node_modules/playwright-core/lib/server/dispatchers/debugControllerDispatcher.js +0 -103
  353. data/node_modules/playwright-core/lib/server/dispatchers/dialogDispatcher.js +0 -44
  354. data/node_modules/playwright-core/lib/server/dispatchers/dispatcher.js +0 -395
  355. data/node_modules/playwright-core/lib/server/dispatchers/electronDispatcher.js +0 -93
  356. data/node_modules/playwright-core/lib/server/dispatchers/elementHandlerDispatcher.js +0 -228
  357. data/node_modules/playwright-core/lib/server/dispatchers/frameDispatcher.js +0 -286
  358. data/node_modules/playwright-core/lib/server/dispatchers/jsHandleDispatcher.js +0 -102
  359. data/node_modules/playwright-core/lib/server/dispatchers/jsonPipeDispatcher.js +0 -59
  360. data/node_modules/playwright-core/lib/server/dispatchers/localUtilsDispatcher.js +0 -413
  361. data/node_modules/playwright-core/lib/server/dispatchers/networkDispatchers.js +0 -221
  362. data/node_modules/playwright-core/lib/server/dispatchers/pageDispatcher.js +0 -358
  363. data/node_modules/playwright-core/lib/server/dispatchers/playwrightDispatcher.js +0 -106
  364. data/node_modules/playwright-core/lib/server/dispatchers/selectorsDispatcher.js +0 -36
  365. data/node_modules/playwright-core/lib/server/dispatchers/streamDispatcher.js +0 -62
  366. data/node_modules/playwright-core/lib/server/dispatchers/tracingDispatcher.js +0 -54
  367. data/node_modules/playwright-core/lib/server/dispatchers/writableStreamDispatcher.js +0 -58
  368. data/node_modules/playwright-core/lib/server/dom.js +0 -845
  369. data/node_modules/playwright-core/lib/server/download.js +0 -53
  370. data/node_modules/playwright-core/lib/server/electron/electron.js +0 -296
  371. data/node_modules/playwright-core/lib/server/electron/loader.js +0 -57
  372. data/node_modules/playwright-core/lib/server/errors.js +0 -68
  373. data/node_modules/playwright-core/lib/server/fetch.js +0 -660
  374. data/node_modules/playwright-core/lib/server/fileChooser.js +0 -42
  375. data/node_modules/playwright-core/lib/server/fileUploadUtils.js +0 -75
  376. data/node_modules/playwright-core/lib/server/firefox/ffAccessibility.js +0 -216
  377. data/node_modules/playwright-core/lib/server/firefox/ffBrowser.js +0 -458
  378. data/node_modules/playwright-core/lib/server/firefox/ffConnection.js +0 -168
  379. data/node_modules/playwright-core/lib/server/firefox/ffExecutionContext.js +0 -138
  380. data/node_modules/playwright-core/lib/server/firefox/ffInput.js +0 -150
  381. data/node_modules/playwright-core/lib/server/firefox/ffNetworkManager.js +0 -233
  382. data/node_modules/playwright-core/lib/server/firefox/ffPage.js +0 -556
  383. data/node_modules/playwright-core/lib/server/firefox/firefox.js +0 -110
  384. data/node_modules/playwright-core/lib/server/formData.js +0 -75
  385. data/node_modules/playwright-core/lib/server/frameSelectors.js +0 -171
  386. data/node_modules/playwright-core/lib/server/frames.js +0 -1654
  387. data/node_modules/playwright-core/lib/server/har/harRecorder.js +0 -139
  388. data/node_modules/playwright-core/lib/server/har/harTracer.js +0 -531
  389. data/node_modules/playwright-core/lib/server/helper.js +0 -103
  390. data/node_modules/playwright-core/lib/server/index.js +0 -114
  391. data/node_modules/playwright-core/lib/server/input.js +0 -311
  392. data/node_modules/playwright-core/lib/server/instrumentation.js +0 -70
  393. data/node_modules/playwright-core/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
  394. data/node_modules/playwright-core/lib/server/javascript.js +0 -306
  395. data/node_modules/playwright-core/lib/server/launchApp.js +0 -91
  396. data/node_modules/playwright-core/lib/server/macEditingCommands.js +0 -139
  397. data/node_modules/playwright-core/lib/server/network.js +0 -617
  398. data/node_modules/playwright-core/lib/server/page.js +0 -825
  399. data/node_modules/playwright-core/lib/server/pipeTransport.js +0 -85
  400. data/node_modules/playwright-core/lib/server/playwright.js +0 -85
  401. data/node_modules/playwright-core/lib/server/progress.js +0 -102
  402. data/node_modules/playwright-core/lib/server/protocolError.js +0 -49
  403. data/node_modules/playwright-core/lib/server/recorder/contextRecorder.js +0 -316
  404. data/node_modules/playwright-core/lib/server/recorder/recorderActions.js +0 -5
  405. data/node_modules/playwright-core/lib/server/recorder/recorderApp.js +0 -190
  406. data/node_modules/playwright-core/lib/server/recorder/recorderCollection.js +0 -127
  407. data/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +0 -177
  408. data/node_modules/playwright-core/lib/server/recorder/recorderUtils.js +0 -71
  409. data/node_modules/playwright-core/lib/server/recorder/throttledFile.js +0 -46
  410. data/node_modules/playwright-core/lib/server/recorder.js +0 -324
  411. data/node_modules/playwright-core/lib/server/registry/browserFetcher.js +0 -168
  412. data/node_modules/playwright-core/lib/server/registry/dependencies.js +0 -322
  413. data/node_modules/playwright-core/lib/server/registry/index.js +0 -924
  414. data/node_modules/playwright-core/lib/server/registry/nativeDeps.js +0 -490
  415. data/node_modules/playwright-core/lib/server/registry/oopDownloadBrowserMain.js +0 -138
  416. data/node_modules/playwright-core/lib/server/screenshotter.js +0 -348
  417. data/node_modules/playwright-core/lib/server/selectors.js +0 -73
  418. data/node_modules/playwright-core/lib/server/socksClientCertificatesInterceptor.js +0 -328
  419. data/node_modules/playwright-core/lib/server/socksInterceptor.js +0 -100
  420. data/node_modules/playwright-core/lib/server/trace/recorder/snapshotter.js +0 -171
  421. data/node_modules/playwright-core/lib/server/trace/recorder/snapshotterInjected.js +0 -493
  422. data/node_modules/playwright-core/lib/server/trace/recorder/tracing.js +0 -486
  423. data/node_modules/playwright-core/lib/server/trace/test/inMemorySnapshotter.js +0 -93
  424. data/node_modules/playwright-core/lib/server/trace/viewer/traceViewer.js +0 -216
  425. data/node_modules/playwright-core/lib/server/transport.js +0 -191
  426. data/node_modules/playwright-core/lib/server/types.js +0 -24
  427. data/node_modules/playwright-core/lib/server/usKeyboardLayout.js +0 -555
  428. data/node_modules/playwright-core/lib/server/webkit/webkit.js +0 -87
  429. data/node_modules/playwright-core/lib/server/webkit/wkAccessibility.js +0 -194
  430. data/node_modules/playwright-core/lib/server/webkit/wkBrowser.js +0 -328
  431. data/node_modules/playwright-core/lib/server/webkit/wkConnection.js +0 -173
  432. data/node_modules/playwright-core/lib/server/webkit/wkExecutionContext.js +0 -146
  433. data/node_modules/playwright-core/lib/server/webkit/wkInput.js +0 -169
  434. data/node_modules/playwright-core/lib/server/webkit/wkInterceptableRequest.js +0 -162
  435. data/node_modules/playwright-core/lib/server/webkit/wkPage.js +0 -1216
  436. data/node_modules/playwright-core/lib/server/webkit/wkProvisionalPage.js +0 -94
  437. data/node_modules/playwright-core/lib/server/webkit/wkWorkers.js +0 -104
  438. data/node_modules/playwright-core/lib/third_party/diff_match_patch.js +0 -2222
  439. data/node_modules/playwright-core/lib/third_party/pixelmatch.js +0 -255
  440. data/node_modules/playwright-core/lib/utils/ascii.js +0 -31
  441. data/node_modules/playwright-core/lib/utils/comparators.js +0 -171
  442. data/node_modules/playwright-core/lib/utils/crypto.js +0 -174
  443. data/node_modules/playwright-core/lib/utils/debug.js +0 -46
  444. data/node_modules/playwright-core/lib/utils/debugLogger.js +0 -91
  445. data/node_modules/playwright-core/lib/utils/env.js +0 -49
  446. data/node_modules/playwright-core/lib/utils/eventsHelper.js +0 -38
  447. data/node_modules/playwright-core/lib/utils/expectUtils.js +0 -33
  448. data/node_modules/playwright-core/lib/utils/fileUtils.js +0 -205
  449. data/node_modules/playwright-core/lib/utils/happy-eyeballs.js +0 -181
  450. data/node_modules/playwright-core/lib/utils/headers.js +0 -52
  451. data/node_modules/playwright-core/lib/utils/hostPlatform.js +0 -133
  452. data/node_modules/playwright-core/lib/utils/httpServer.js +0 -236
  453. data/node_modules/playwright-core/lib/utils/index.js +0 -368
  454. data/node_modules/playwright-core/lib/utils/isomorphic/cssParser.js +0 -250
  455. data/node_modules/playwright-core/lib/utils/isomorphic/cssTokenizer.js +0 -979
  456. data/node_modules/playwright-core/lib/utils/isomorphic/locatorGenerators.js +0 -651
  457. data/node_modules/playwright-core/lib/utils/isomorphic/locatorParser.js +0 -179
  458. data/node_modules/playwright-core/lib/utils/isomorphic/locatorUtils.js +0 -62
  459. data/node_modules/playwright-core/lib/utils/isomorphic/mimeType.js +0 -29
  460. data/node_modules/playwright-core/lib/utils/isomorphic/selectorParser.js +0 -397
  461. data/node_modules/playwright-core/lib/utils/isomorphic/stringUtils.js +0 -139
  462. data/node_modules/playwright-core/lib/utils/isomorphic/traceUtils.js +0 -39
  463. data/node_modules/playwright-core/lib/utils/isomorphic/urlMatch.js +0 -120
  464. data/node_modules/playwright-core/lib/utils/linuxUtils.js +0 -78
  465. data/node_modules/playwright-core/lib/utils/manualPromise.js +0 -109
  466. data/node_modules/playwright-core/lib/utils/multimap.js +0 -75
  467. data/node_modules/playwright-core/lib/utils/network.js +0 -160
  468. data/node_modules/playwright-core/lib/utils/processLauncher.js +0 -248
  469. data/node_modules/playwright-core/lib/utils/profiler.js +0 -53
  470. data/node_modules/playwright-core/lib/utils/rtti.js +0 -44
  471. data/node_modules/playwright-core/lib/utils/semaphore.js +0 -51
  472. data/node_modules/playwright-core/lib/utils/spawnAsync.js +0 -45
  473. data/node_modules/playwright-core/lib/utils/stackTrace.js +0 -121
  474. data/node_modules/playwright-core/lib/utils/task.js +0 -58
  475. data/node_modules/playwright-core/lib/utils/time.js +0 -37
  476. data/node_modules/playwright-core/lib/utils/timeoutRunner.js +0 -66
  477. data/node_modules/playwright-core/lib/utils/traceUtils.js +0 -44
  478. data/node_modules/playwright-core/lib/utils/userAgent.js +0 -105
  479. data/node_modules/playwright-core/lib/utils/wsServer.js +0 -127
  480. data/node_modules/playwright-core/lib/utils/zipFile.js +0 -75
  481. data/node_modules/playwright-core/lib/utils/zones.js +0 -62
  482. data/node_modules/playwright-core/lib/utilsBundle.js +0 -82
  483. data/node_modules/playwright-core/lib/utilsBundleImpl/index.js +0 -53
  484. data/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open +0 -1066
  485. data/node_modules/playwright-core/lib/vite/htmlReport/index.html +0 -66
  486. data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-aW6Vz3gf.js +0 -24
  487. data/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-ez37Vkbh.css +0 -1
  488. data/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  489. data/node_modules/playwright-core/lib/vite/recorder/assets/index-B-MT5gKo.css +0 -1
  490. data/node_modules/playwright-core/lib/vite/recorder/assets/index-DCpXOVIh.js +0 -47
  491. data/node_modules/playwright-core/lib/vite/recorder/index.html +0 -29
  492. data/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +0 -9
  493. data/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-eFKCUIu2.js +0 -24
  494. data/node_modules/playwright-core/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
  495. data/node_modules/playwright-core/lib/vite/traceViewer/assets/workbench-D0cirtfA.js +0 -72
  496. data/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-BeNbaIVa.js +0 -9
  497. data/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.ez37Vkbh.css +0 -1
  498. data/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  499. data/node_modules/playwright-core/lib/vite/traceViewer/embedded.BkuvsLJp.js +0 -2
  500. data/node_modules/playwright-core/lib/vite/traceViewer/embedded.html +0 -16
  501. data/node_modules/playwright-core/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
  502. data/node_modules/playwright-core/lib/vite/traceViewer/index.C968kAiC.js +0 -2
  503. data/node_modules/playwright-core/lib/vite/traceViewer/index.CrbWWHbf.css +0 -1
  504. data/node_modules/playwright-core/lib/vite/traceViewer/index.html +0 -27
  505. data/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +0 -9
  506. data/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +0 -21
  507. data/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +0 -3
  508. data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BkFnr4V0.js +0 -10
  509. data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.D3cNFP6u.css +0 -1
  510. data/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +0 -18
  511. data/node_modules/playwright-core/lib/vite/traceViewer/workbench.DjbIuxix.css +0 -1
  512. data/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DSXBckUd.css +0 -32
  513. data/node_modules/playwright-core/lib/zipBundle.js +0 -25
  514. data/node_modules/playwright-core/lib/zipBundleImpl.js +0 -5
  515. data/node_modules/playwright-core/package.json +0 -44
  516. data/node_modules/playwright-core/types/protocol.d.ts +0 -21500
  517. data/node_modules/playwright-core/types/structs.d.ts +0 -45
  518. data/node_modules/playwright-core/types/types.d.ts +0 -21431
  519. data/node_modules/undici-types/LICENSE +0 -21
  520. data/node_modules/undici-types/README.md +0 -6
  521. data/node_modules/undici-types/agent.d.ts +0 -31
  522. data/node_modules/undici-types/api.d.ts +0 -43
  523. data/node_modules/undici-types/balanced-pool.d.ts +0 -29
  524. data/node_modules/undici-types/cache.d.ts +0 -36
  525. data/node_modules/undici-types/client.d.ts +0 -108
  526. data/node_modules/undici-types/connector.d.ts +0 -34
  527. data/node_modules/undici-types/content-type.d.ts +0 -21
  528. data/node_modules/undici-types/cookies.d.ts +0 -28
  529. data/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  530. data/node_modules/undici-types/dispatcher.d.ts +0 -255
  531. data/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  532. data/node_modules/undici-types/errors.d.ts +0 -149
  533. data/node_modules/undici-types/eventsource.d.ts +0 -63
  534. data/node_modules/undici-types/fetch.d.ts +0 -209
  535. data/node_modules/undici-types/file.d.ts +0 -39
  536. data/node_modules/undici-types/filereader.d.ts +0 -54
  537. data/node_modules/undici-types/formdata.d.ts +0 -108
  538. data/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  539. data/node_modules/undici-types/global-origin.d.ts +0 -7
  540. data/node_modules/undici-types/handlers.d.ts +0 -15
  541. data/node_modules/undici-types/header.d.ts +0 -4
  542. data/node_modules/undici-types/index.d.ts +0 -71
  543. data/node_modules/undici-types/interceptors.d.ts +0 -15
  544. data/node_modules/undici-types/mock-agent.d.ts +0 -50
  545. data/node_modules/undici-types/mock-client.d.ts +0 -25
  546. data/node_modules/undici-types/mock-errors.d.ts +0 -12
  547. data/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  548. data/node_modules/undici-types/mock-pool.d.ts +0 -25
  549. data/node_modules/undici-types/package.json +0 -55
  550. data/node_modules/undici-types/patch.d.ts +0 -71
  551. data/node_modules/undici-types/pool-stats.d.ts +0 -19
  552. data/node_modules/undici-types/pool.d.ts +0 -39
  553. data/node_modules/undici-types/proxy-agent.d.ts +0 -28
  554. data/node_modules/undici-types/readable.d.ts +0 -60
  555. data/node_modules/undici-types/retry-agent.d.ts +0 -8
  556. data/node_modules/undici-types/retry-handler.d.ts +0 -116
  557. data/node_modules/undici-types/util.d.ts +0 -18
  558. data/node_modules/undici-types/webidl.d.ts +0 -222
  559. data/node_modules/undici-types/websocket.d.ts +0 -152
  560. data/yarn.lock +0 -41
@@ -1,1066 +0,0 @@
1
- #!/bin/sh
2
- #---------------------------------------------
3
- # xdg-open
4
- #
5
- # Utility script to open a URL in the registered default application.
6
- #
7
- # Refer to the usage() function below for usage.
8
- #
9
- # Copyright 2009-2010, Fathi Boudra <fabo@freedesktop.org>
10
- # Copyright 2009-2010, Rex Dieter <rdieter@fedoraproject.org>
11
- # Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at>
12
- # Copyright 2006, Jeremy White <jwhite@codeweavers.com>
13
- #
14
- # LICENSE:
15
- #
16
- # Permission is hereby granted, free of charge, to any person obtaining a
17
- # copy of this software and associated documentation files (the "Software"),
18
- # to deal in the Software without restriction, including without limitation
19
- # the rights to use, copy, modify, merge, publish, distribute, sublicense,
20
- # and/or sell copies of the Software, and to permit persons to whom the
21
- # Software is furnished to do so, subject to the following conditions:
22
- #
23
- # The above copyright notice and this permission notice shall be included
24
- # in all copies or substantial portions of the Software.
25
- #
26
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
27
- # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
29
- # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
30
- # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
31
- # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
32
- # OTHER DEALINGS IN THE SOFTWARE.
33
- #
34
- #---------------------------------------------
35
-
36
- manualpage()
37
- {
38
- cat << _MANUALPAGE
39
- Name
40
-
41
- xdg-open -- opens a file or URL in the user's preferred
42
- application
43
-
44
- Synopsis
45
-
46
- xdg-open { file | URL }
47
-
48
- xdg-open { --help | --manual | --version }
49
-
50
- Description
51
-
52
- xdg-open opens a file or URL in the user's preferred
53
- application. If a URL is provided the URL will be opened in the
54
- user's preferred web browser. If a file is provided the file
55
- will be opened in the preferred application for files of that
56
- type. xdg-open supports file, ftp, http and https URLs.
57
-
58
- xdg-open is for use inside a desktop session only. It is not
59
- recommended to use xdg-open as root.
60
-
61
- Options
62
-
63
- --help
64
- Show command synopsis.
65
-
66
- --manual
67
- Show this manual page.
68
-
69
- --version
70
- Show the xdg-utils version information.
71
-
72
- Exit Codes
73
-
74
- An exit code of 0 indicates success while a non-zero exit code
75
- indicates failure. The following failure codes can be returned:
76
-
77
- 1
78
- Error in command line syntax.
79
-
80
- 2
81
- One of the files passed on the command line did not
82
- exist.
83
-
84
- 3
85
- A required tool could not be found.
86
-
87
- 4
88
- The action failed.
89
-
90
- See Also
91
-
92
- xdg-mime(1), xdg-settings(1), MIME applications associations
93
- specification
94
-
95
- Examples
96
-
97
- xdg-open 'http://www.freedesktop.org/'
98
-
99
- Opens the freedesktop.org website in the user's default
100
- browser.
101
-
102
- xdg-open /tmp/foobar.png
103
-
104
- Opens the PNG image file /tmp/foobar.png in the user's default
105
- image viewing application.
106
- _MANUALPAGE
107
- }
108
-
109
- usage()
110
- {
111
- cat << _USAGE
112
- xdg-open -- opens a file or URL in the user's preferred
113
- application
114
-
115
- Synopsis
116
-
117
- xdg-open { file | URL }
118
-
119
- xdg-open { --help | --manual | --version }
120
-
121
- _USAGE
122
- }
123
-
124
- #@xdg-utils-common@
125
-
126
- #----------------------------------------------------------------------------
127
- # Common utility functions included in all XDG wrapper scripts
128
- #----------------------------------------------------------------------------
129
-
130
- DEBUG()
131
- {
132
- [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && return 0;
133
- [ ${XDG_UTILS_DEBUG_LEVEL} -lt $1 ] && return 0;
134
- shift
135
- echo "$@" >&2
136
- }
137
-
138
- # This handles backslashes but not quote marks.
139
- first_word()
140
- {
141
- read first rest
142
- echo "$first"
143
- }
144
-
145
- #-------------------------------------------------------------
146
- # map a binary to a .desktop file
147
- binary_to_desktop_file()
148
- {
149
- search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
150
- binary="`which "$1"`"
151
- binary="`readlink -f "$binary"`"
152
- base="`basename "$binary"`"
153
- IFS=:
154
- for dir in $search; do
155
- unset IFS
156
- [ "$dir" ] || continue
157
- [ -d "$dir/applications" ] || [ -d "$dir/applnk" ] || continue
158
- for file in "$dir"/applications/*.desktop "$dir"/applications/*/*.desktop "$dir"/applnk/*.desktop "$dir"/applnk/*/*.desktop; do
159
- [ -r "$file" ] || continue
160
- # Check to make sure it's worth the processing.
161
- grep -q "^Exec.*$base" "$file" || continue
162
- # Make sure it's a visible desktop file (e.g. not "preferred-web-browser.desktop").
163
- grep -Eq "^(NoDisplay|Hidden)=true" "$file" && continue
164
- command="`grep -E "^Exec(\[[^]=]*])?=" "$file" | cut -d= -f 2- | first_word`"
165
- command="`which "$command"`"
166
- if [ x"`readlink -f "$command"`" = x"$binary" ]; then
167
- # Fix any double slashes that got added path composition
168
- echo "$file" | sed -e 's,//*,/,g'
169
- return
170
- fi
171
- done
172
- done
173
- }
174
-
175
- #-------------------------------------------------------------
176
- # map a .desktop file to a binary
177
- desktop_file_to_binary()
178
- {
179
- search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
180
- desktop="`basename "$1"`"
181
- IFS=:
182
- for dir in $search; do
183
- unset IFS
184
- [ "$dir" ] && [ -d "$dir/applications" ] || [ -d "$dir/applnk" ] || continue
185
- # Check if desktop file contains -
186
- if [ "${desktop#*-}" != "$desktop" ]; then
187
- vendor=${desktop%-*}
188
- app=${desktop#*-}
189
- if [ -r $dir/applications/$vendor/$app ]; then
190
- file_path=$dir/applications/$vendor/$app
191
- elif [ -r $dir/applnk/$vendor/$app ]; then
192
- file_path=$dir/applnk/$vendor/$app
193
- fi
194
- fi
195
- if test -z "$file_path" ; then
196
- for indir in "$dir"/applications/ "$dir"/applications/*/ "$dir"/applnk/ "$dir"/applnk/*/; do
197
- file="$indir/$desktop"
198
- if [ -r "$file" ]; then
199
- file_path=$file
200
- break
201
- fi
202
- done
203
- fi
204
- if [ -r "$file_path" ]; then
205
- # Remove any arguments (%F, %f, %U, %u, etc.).
206
- command="`grep -E "^Exec(\[[^]=]*])?=" "$file_path" | cut -d= -f 2- | first_word`"
207
- command="`which "$command"`"
208
- readlink -f "$command"
209
- return
210
- fi
211
- done
212
- }
213
-
214
- #-------------------------------------------------------------
215
- # Exit script on successfully completing the desired operation
216
-
217
- exit_success()
218
- {
219
- if [ $# -gt 0 ]; then
220
- echo "$@"
221
- echo
222
- fi
223
-
224
- exit 0
225
- }
226
-
227
-
228
- #-----------------------------------------
229
- # Exit script on malformed arguments, not enough arguments
230
- # or missing required option.
231
- # prints usage information
232
-
233
- exit_failure_syntax()
234
- {
235
- if [ $# -gt 0 ]; then
236
- echo "xdg-open: $@" >&2
237
- echo "Try 'xdg-open --help' for more information." >&2
238
- else
239
- usage
240
- echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
241
- fi
242
-
243
- exit 1
244
- }
245
-
246
- #-------------------------------------------------------------
247
- # Exit script on missing file specified on command line
248
-
249
- exit_failure_file_missing()
250
- {
251
- if [ $# -gt 0 ]; then
252
- echo "xdg-open: $@" >&2
253
- fi
254
-
255
- exit 2
256
- }
257
-
258
- #-------------------------------------------------------------
259
- # Exit script on failure to locate necessary tool applications
260
-
261
- exit_failure_operation_impossible()
262
- {
263
- if [ $# -gt 0 ]; then
264
- echo "xdg-open: $@" >&2
265
- fi
266
-
267
- exit 3
268
- }
269
-
270
- #-------------------------------------------------------------
271
- # Exit script on failure returned by a tool application
272
-
273
- exit_failure_operation_failed()
274
- {
275
- if [ $# -gt 0 ]; then
276
- echo "xdg-open: $@" >&2
277
- fi
278
-
279
- exit 4
280
- }
281
-
282
- #------------------------------------------------------------
283
- # Exit script on insufficient permission to read a specified file
284
-
285
- exit_failure_file_permission_read()
286
- {
287
- if [ $# -gt 0 ]; then
288
- echo "xdg-open: $@" >&2
289
- fi
290
-
291
- exit 5
292
- }
293
-
294
- #------------------------------------------------------------
295
- # Exit script on insufficient permission to write a specified file
296
-
297
- exit_failure_file_permission_write()
298
- {
299
- if [ $# -gt 0 ]; then
300
- echo "xdg-open: $@" >&2
301
- fi
302
-
303
- exit 6
304
- }
305
-
306
- check_input_file()
307
- {
308
- if [ ! -e "$1" ]; then
309
- exit_failure_file_missing "file '$1' does not exist"
310
- fi
311
- if [ ! -r "$1" ]; then
312
- exit_failure_file_permission_read "no permission to read file '$1'"
313
- fi
314
- }
315
-
316
- check_vendor_prefix()
317
- {
318
- file_label="$2"
319
- [ -n "$file_label" ] || file_label="filename"
320
- file=`basename "$1"`
321
- case "$file" in
322
- [[:alpha:]]*-*)
323
- return
324
- ;;
325
- esac
326
-
327
- echo "xdg-open: $file_label '$file' does not have a proper vendor prefix" >&2
328
- echo 'A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated' >&2
329
- echo 'with a dash ("-"). An example '"$file_label"' is '"'example-$file'" >&2
330
- echo "Use --novendor to override or 'xdg-open --manual' for additional info." >&2
331
- exit 1
332
- }
333
-
334
- check_output_file()
335
- {
336
- # if the file exists, check if it is writeable
337
- # if it does not exists, check if we are allowed to write on the directory
338
- if [ -e "$1" ]; then
339
- if [ ! -w "$1" ]; then
340
- exit_failure_file_permission_write "no permission to write to file '$1'"
341
- fi
342
- else
343
- DIR=`dirname "$1"`
344
- if [ ! -w "$DIR" ] || [ ! -x "$DIR" ]; then
345
- exit_failure_file_permission_write "no permission to create file '$1'"
346
- fi
347
- fi
348
- }
349
-
350
- #----------------------------------------
351
- # Checks for shared commands, e.g. --help
352
-
353
- check_common_commands()
354
- {
355
- while [ $# -gt 0 ] ; do
356
- parm="$1"
357
- shift
358
-
359
- case "$parm" in
360
- --help)
361
- usage
362
- echo "Use 'man xdg-open' or 'xdg-open --manual' for additional info."
363
- exit_success
364
- ;;
365
-
366
- --manual)
367
- manualpage
368
- exit_success
369
- ;;
370
-
371
- --version)
372
- echo "xdg-open 1.1.3"
373
- exit_success
374
- ;;
375
- esac
376
- done
377
- }
378
-
379
- check_common_commands "$@"
380
-
381
- [ -z "${XDG_UTILS_DEBUG_LEVEL}" ] && unset XDG_UTILS_DEBUG_LEVEL;
382
- if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then
383
- # Be silent
384
- xdg_redirect_output=" > /dev/null 2> /dev/null"
385
- else
386
- # All output to stderr
387
- xdg_redirect_output=" >&2"
388
- fi
389
-
390
- #--------------------------------------
391
- # Checks for known desktop environments
392
- # set variable DE to the desktop environments name, lowercase
393
-
394
- detectDE()
395
- {
396
- # see https://bugs.freedesktop.org/show_bug.cgi?id=34164
397
- unset GREP_OPTIONS
398
-
399
- if [ -n "${XDG_CURRENT_DESKTOP}" ]; then
400
- case "${XDG_CURRENT_DESKTOP}" in
401
- # only recently added to menu-spec, pre-spec X- still in use
402
- Cinnamon|X-Cinnamon)
403
- DE=cinnamon;
404
- ;;
405
- ENLIGHTENMENT)
406
- DE=enlightenment;
407
- ;;
408
- # GNOME, GNOME-Classic:GNOME, or GNOME-Flashback:GNOME
409
- GNOME*)
410
- DE=gnome;
411
- ;;
412
- KDE)
413
- DE=kde;
414
- ;;
415
- # Deepin Desktop Environments
416
- DEEPIN|Deepin|deepin)
417
- DE=dde;
418
- ;;
419
- LXDE)
420
- DE=lxde;
421
- ;;
422
- LXQt)
423
- DE=lxqt;
424
- ;;
425
- MATE)
426
- DE=mate;
427
- ;;
428
- XFCE)
429
- DE=xfce
430
- ;;
431
- X-Generic)
432
- DE=generic
433
- ;;
434
- esac
435
- fi
436
-
437
- if [ x"$DE" = x"" ]; then
438
- # classic fallbacks
439
- if [ x"$KDE_FULL_SESSION" != x"" ]; then DE=kde;
440
- elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
441
- elif [ x"$MATE_DESKTOP_SESSION_ID" != x"" ]; then DE=mate;
442
- elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
443
- elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
444
- elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=xfce
445
- elif echo $DESKTOP | grep -q '^Enlightenment'; then DE=enlightenment;
446
- elif [ x"$LXQT_SESSION_CONFIG" != x"" ]; then DE=lxqt;
447
- fi
448
- fi
449
-
450
- if [ x"$DE" = x"" ]; then
451
- # fallback to checking $DESKTOP_SESSION
452
- case "$DESKTOP_SESSION" in
453
- gnome)
454
- DE=gnome;
455
- ;;
456
- LXDE|Lubuntu)
457
- DE=lxde;
458
- ;;
459
- MATE)
460
- DE=mate;
461
- ;;
462
- xfce|xfce4|'Xfce Session')
463
- DE=xfce;
464
- ;;
465
- esac
466
- fi
467
-
468
- if [ x"$DE" = x"" ]; then
469
- # fallback to uname output for other platforms
470
- case "$(uname 2>/dev/null)" in
471
- CYGWIN*)
472
- DE=cygwin;
473
- ;;
474
- Darwin)
475
- DE=darwin;
476
- ;;
477
- esac
478
- fi
479
-
480
- if [ x"$DE" = x"gnome" ]; then
481
- # gnome-default-applications-properties is only available in GNOME 2.x
482
- # but not in GNOME 3.x
483
- which gnome-default-applications-properties > /dev/null 2>&1 || DE="gnome3"
484
- fi
485
-
486
- if [ -f "$XDG_RUNTIME_DIR/flatpak-info" ]; then
487
- DE="flatpak"
488
- fi
489
- }
490
-
491
- #----------------------------------------------------------------------------
492
- # kfmclient exec/openURL can give bogus exit value in KDE <= 3.5.4
493
- # It also always returns 1 in KDE 3.4 and earlier
494
- # Simply return 0 in such case
495
-
496
- kfmclient_fix_exit_code()
497
- {
498
- version=`LC_ALL=C.UTF-8 kde-config --version 2>/dev/null | grep '^KDE'`
499
- major=`echo $version | sed 's/KDE.*: \([0-9]\).*/\1/'`
500
- minor=`echo $version | sed 's/KDE.*: [0-9]*\.\([0-9]\).*/\1/'`
501
- release=`echo $version | sed 's/KDE.*: [0-9]*\.[0-9]*\.\([0-9]\).*/\1/'`
502
- test "$major" -gt 3 && return $1
503
- test "$minor" -gt 5 && return $1
504
- test "$release" -gt 4 && return $1
505
- return 0
506
- }
507
-
508
- #----------------------------------------------------------------------------
509
- # Returns true if there is a graphical display attached.
510
-
511
- has_display()
512
- {
513
- if [ -n "$DISPLAY" ] || [ -n "$WAYLAND_DISPLAY" ]; then
514
- return 0
515
- else
516
- return 1
517
- fi
518
- }
519
-
520
- # This handles backslashes but not quote marks.
521
- last_word()
522
- {
523
- read first rest
524
- echo "$rest"
525
- }
526
-
527
- # Get the value of a key in a desktop file's Desktop Entry group.
528
- # Example: Use get_key foo.desktop Exec
529
- # to get the values of the Exec= key for the Desktop Entry group.
530
- get_key()
531
- {
532
- local file="${1}"
533
- local key="${2}"
534
- local desktop_entry=""
535
-
536
- IFS_="${IFS}"
537
- IFS=""
538
- while read line
539
- do
540
- case "$line" in
541
- "[Desktop Entry]")
542
- desktop_entry="y"
543
- ;;
544
- # Reset match flag for other groups
545
- "["*)
546
- desktop_entry=""
547
- ;;
548
- "${key}="*)
549
- # Only match Desktop Entry group
550
- if [ -n "${desktop_entry}" ]
551
- then
552
- echo "${line}" | cut -d= -f 2-
553
- fi
554
- esac
555
- done < "${file}"
556
- IFS="${IFS_}"
557
- }
558
-
559
- # Returns true if argument is a file:// URL or path
560
- is_file_url_or_path()
561
- {
562
- if echo "$1" | grep -q '^file://' \
563
- || ! echo "$1" | egrep -q '^[[:alpha:]+\.\-]+:'; then
564
- return 0
565
- else
566
- return 1
567
- fi
568
- }
569
-
570
- # If argument is a file URL, convert it to a (percent-decoded) path.
571
- # If not, leave it as it is.
572
- file_url_to_path()
573
- {
574
- local file="$1"
575
- if echo "$file" | grep -q '^file:///'; then
576
- file=${file#file://}
577
- file=${file%%#*}
578
- file=$(echo "$file" | sed -r 's/\?.*$//')
579
- local printf=printf
580
- if [ -x /usr/bin/printf ]; then
581
- printf=/usr/bin/printf
582
- fi
583
- file=$($printf "$(echo "$file" | sed -e 's@%\([a-f0-9A-F]\{2\}\)@\\x\1@g')")
584
- fi
585
- echo "$file"
586
- }
587
-
588
- open_cygwin()
589
- {
590
- cygstart "$1"
591
-
592
- if [ $? -eq 0 ]; then
593
- exit_success
594
- else
595
- exit_failure_operation_failed
596
- fi
597
- }
598
-
599
- open_darwin()
600
- {
601
- open "$1"
602
-
603
- if [ $? -eq 0 ]; then
604
- exit_success
605
- else
606
- exit_failure_operation_failed
607
- fi
608
- }
609
-
610
- open_kde()
611
- {
612
- if [ -n "${KDE_SESSION_VERSION}" ]; then
613
- case "${KDE_SESSION_VERSION}" in
614
- 4)
615
- kde-open "$1"
616
- ;;
617
- 5)
618
- kde-open${KDE_SESSION_VERSION} "$1"
619
- ;;
620
- esac
621
- else
622
- kfmclient exec "$1"
623
- kfmclient_fix_exit_code $?
624
- fi
625
-
626
- if [ $? -eq 0 ]; then
627
- exit_success
628
- else
629
- exit_failure_operation_failed
630
- fi
631
- }
632
-
633
- open_dde()
634
- {
635
- if dde-open -version >/dev/null 2>&1; then
636
- dde-open "$1"
637
- else
638
- open_generic "$1"
639
- fi
640
-
641
- if [ $? -eq 0 ]; then
642
- exit_success
643
- else
644
- exit_failure_operation_failed
645
- fi
646
- }
647
-
648
- open_gnome3()
649
- {
650
- if gio help open 2>/dev/null 1>&2; then
651
- gio open "$1"
652
- elif gvfs-open --help 2>/dev/null 1>&2; then
653
- gvfs-open "$1"
654
- else
655
- open_generic "$1"
656
- fi
657
-
658
- if [ $? -eq 0 ]; then
659
- exit_success
660
- else
661
- exit_failure_operation_failed
662
- fi
663
- }
664
-
665
- open_gnome()
666
- {
667
- if gio help open 2>/dev/null 1>&2; then
668
- gio open "$1"
669
- elif gvfs-open --help 2>/dev/null 1>&2; then
670
- gvfs-open "$1"
671
- elif gnome-open --help 2>/dev/null 1>&2; then
672
- gnome-open "$1"
673
- else
674
- open_generic "$1"
675
- fi
676
-
677
- if [ $? -eq 0 ]; then
678
- exit_success
679
- else
680
- exit_failure_operation_failed
681
- fi
682
- }
683
-
684
- open_mate()
685
- {
686
- if gio help open 2>/dev/null 1>&2; then
687
- gio open "$1"
688
- elif gvfs-open --help 2>/dev/null 1>&2; then
689
- gvfs-open "$1"
690
- elif mate-open --help 2>/dev/null 1>&2; then
691
- mate-open "$1"
692
- else
693
- open_generic "$1"
694
- fi
695
-
696
- if [ $? -eq 0 ]; then
697
- exit_success
698
- else
699
- exit_failure_operation_failed
700
- fi
701
- }
702
-
703
- open_xfce()
704
- {
705
- if exo-open --help 2>/dev/null 1>&2; then
706
- exo-open "$1"
707
- elif gio help open 2>/dev/null 1>&2; then
708
- gio open "$1"
709
- elif gvfs-open --help 2>/dev/null 1>&2; then
710
- gvfs-open "$1"
711
- else
712
- open_generic "$1"
713
- fi
714
-
715
- if [ $? -eq 0 ]; then
716
- exit_success
717
- else
718
- exit_failure_operation_failed
719
- fi
720
- }
721
-
722
- open_enlightenment()
723
- {
724
- if enlightenment_open --help 2>/dev/null 1>&2; then
725
- enlightenment_open "$1"
726
- else
727
- open_generic "$1"
728
- fi
729
-
730
- if [ $? -eq 0 ]; then
731
- exit_success
732
- else
733
- exit_failure_operation_failed
734
- fi
735
- }
736
-
737
- open_flatpak()
738
- {
739
- gdbus call --session \
740
- --dest org.freedesktop.portal.Desktop \
741
- --object-path /org/freedesktop/portal/desktop \
742
- --method org.freedesktop.portal.OpenURI.OpenURI \
743
- "" "$1" {}
744
-
745
- if [ $? -eq 0 ]; then
746
- exit_success
747
- else
748
- exit_failure_operation_failed
749
- fi
750
- }
751
-
752
- #-----------------------------------------
753
- # Recursively search .desktop file
754
-
755
- search_desktop_file()
756
- {
757
- local default="$1"
758
- local dir="$2"
759
- local target="$3"
760
-
761
- local file=""
762
- # look for both vendor-app.desktop, vendor/app.desktop
763
- if [ -r "$dir/$default" ]; then
764
- file="$dir/$default"
765
- elif [ -r "$dir/`echo $default | sed -e 's|-|/|'`" ]; then
766
- file="$dir/`echo $default | sed -e 's|-|/|'`"
767
- fi
768
-
769
- if [ -r "$file" ] ; then
770
- command="$(get_key "${file}" "Exec" | first_word)"
771
- command_exec=`which $command 2>/dev/null`
772
- icon="$(get_key "${file}" "Icon")"
773
- # FIXME: Actually LC_MESSAGES should be used as described in
774
- # http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html
775
- localised_name="$(get_key "${file}" "Name")"
776
- set -- $(get_key "${file}" "Exec" | last_word)
777
- # We need to replace any occurrence of "%f", "%F" and
778
- # the like by the target file. We examine each
779
- # argument and append the modified argument to the
780
- # end then shift.
781
- local args=$#
782
- local replaced=0
783
- while [ $args -gt 0 ]; do
784
- case $1 in
785
- %[c])
786
- replaced=1
787
- arg="${localised_name}"
788
- shift
789
- set -- "$@" "$arg"
790
- ;;
791
- %[fFuU])
792
- replaced=1
793
- arg="$target"
794
- shift
795
- set -- "$@" "$arg"
796
- ;;
797
- %[i])
798
- replaced=1
799
- shift
800
- set -- "$@" "--icon" "$icon"
801
- ;;
802
- *)
803
- arg="$1"
804
- shift
805
- set -- "$@" "$arg"
806
- ;;
807
- esac
808
- args=$(( $args - 1 ))
809
- done
810
- [ $replaced -eq 1 ] || set -- "$@" "$target"
811
- "$command_exec" "$@"
812
-
813
- if [ $? -eq 0 ]; then
814
- exit_success
815
- fi
816
- fi
817
-
818
- for d in $dir/*/; do
819
- [ -d "$d" ] && search_desktop_file "$default" "$d" "$target"
820
- done
821
- }
822
-
823
-
824
- open_generic_xdg_mime()
825
- {
826
- filetype="$2"
827
- default=`xdg-mime query default "$filetype"`
828
- if [ -n "$default" ] ; then
829
- xdg_user_dir="$XDG_DATA_HOME"
830
- [ -n "$xdg_user_dir" ] || xdg_user_dir="$HOME/.local/share"
831
-
832
- xdg_system_dirs="$XDG_DATA_DIRS"
833
- [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/
834
-
835
- DEBUG 3 "$xdg_user_dir:$xdg_system_dirs"
836
- for x in `echo "$xdg_user_dir:$xdg_system_dirs" | sed 's/:/ /g'`; do
837
- search_desktop_file "$default" "$x/applications/" "$1"
838
- done
839
- fi
840
- }
841
-
842
- open_generic_xdg_file_mime()
843
- {
844
- filetype=`xdg-mime query filetype "$1" | sed "s/;.*//"`
845
- open_generic_xdg_mime "$1" "$filetype"
846
- }
847
-
848
- open_generic_xdg_x_scheme_handler()
849
- {
850
- scheme="`echo $1 | sed -n 's/\(^[[:alnum:]+\.-]*\):.*$/\1/p'`"
851
- if [ -n $scheme ]; then
852
- filetype="x-scheme-handler/$scheme"
853
- open_generic_xdg_mime "$1" "$filetype"
854
- fi
855
- }
856
-
857
- has_single_argument()
858
- {
859
- test $# = 1
860
- }
861
-
862
- open_envvar()
863
- {
864
- local oldifs="$IFS"
865
- local browser browser_with_arg
866
-
867
- IFS=":"
868
- for browser in $BROWSER; do
869
- IFS="$oldifs"
870
-
871
- if [ -z "$browser" ]; then
872
- continue
873
- fi
874
-
875
- if echo "$browser" | grep -q %s; then
876
- # Avoid argument injection.
877
- # See https://bugs.freedesktop.org/show_bug.cgi?id=103807
878
- # URIs don't have IFS characters spaces anyway.
879
- has_single_argument $1 && $(printf "$browser" "$1")
880
- else
881
- $browser "$1"
882
- fi
883
-
884
- if [ $? -eq 0 ]; then
885
- exit_success
886
- fi
887
- done
888
- }
889
-
890
- open_generic()
891
- {
892
- if is_file_url_or_path "$1"; then
893
- local file="$(file_url_to_path "$1")"
894
-
895
- check_input_file "$file"
896
-
897
- if has_display; then
898
- filetype=`xdg-mime query filetype "$file" | sed "s/;.*//"`
899
- open_generic_xdg_mime "$file" "$filetype"
900
- fi
901
-
902
- if which run-mailcap 2>/dev/null 1>&2; then
903
- run-mailcap --action=view "$file"
904
- if [ $? -eq 0 ]; then
905
- exit_success
906
- fi
907
- fi
908
-
909
- if has_display && mimeopen -v 2>/dev/null 1>&2; then
910
- mimeopen -L -n "$file"
911
- if [ $? -eq 0 ]; then
912
- exit_success
913
- fi
914
- fi
915
- fi
916
-
917
- if has_display; then
918
- open_generic_xdg_x_scheme_handler "$1"
919
- fi
920
-
921
- if [ -n "$BROWSER" ]; then
922
- open_envvar "$1"
923
- fi
924
-
925
- # if BROWSER variable is not set, check some well known browsers instead
926
- if [ x"$BROWSER" = x"" ]; then
927
- BROWSER=www-browser:links2:elinks:links:lynx:w3m
928
- if has_display; then
929
- BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chromium:chromium-browser:google-chrome:microsoft-edge:$BROWSER
930
- fi
931
- fi
932
-
933
- open_envvar "$1"
934
-
935
- exit_failure_operation_impossible "no method available for opening '$1'"
936
- }
937
-
938
- open_lxde()
939
- {
940
-
941
- # pcmanfm only knows how to handle file:// urls and filepaths, it seems.
942
- if pcmanfm --help >/dev/null 2>&1 && is_file_url_or_path "$1"; then
943
- local file="$(file_url_to_path "$1")"
944
-
945
- # handle relative paths
946
- if ! echo "$file" | grep -q ^/; then
947
- file="$(pwd)/$file"
948
- fi
949
-
950
- pcmanfm "$file"
951
- else
952
- open_generic "$1"
953
- fi
954
-
955
- if [ $? -eq 0 ]; then
956
- exit_success
957
- else
958
- exit_failure_operation_failed
959
- fi
960
- }
961
-
962
- open_lxqt()
963
- {
964
- open_generic "$1"
965
- }
966
-
967
- [ x"$1" != x"" ] || exit_failure_syntax
968
-
969
- url=
970
- while [ $# -gt 0 ] ; do
971
- parm="$1"
972
- shift
973
-
974
- case "$parm" in
975
- -*)
976
- exit_failure_syntax "unexpected option '$parm'"
977
- ;;
978
-
979
- *)
980
- if [ -n "$url" ] ; then
981
- exit_failure_syntax "unexpected argument '$parm'"
982
- fi
983
- url="$parm"
984
- ;;
985
- esac
986
- done
987
-
988
- if [ -z "${url}" ] ; then
989
- exit_failure_syntax "file or URL argument missing"
990
- fi
991
-
992
- detectDE
993
-
994
- if [ x"$DE" = x"" ]; then
995
- DE=generic
996
- fi
997
-
998
- DEBUG 2 "Selected DE $DE"
999
-
1000
- # sanitize BROWSER (avoid caling ourselves in particular)
1001
- case "${BROWSER}" in
1002
- *:"xdg-open"|"xdg-open":*)
1003
- BROWSER=$(echo $BROWSER | sed -e 's|:xdg-open||g' -e 's|xdg-open:||g')
1004
- ;;
1005
- "xdg-open")
1006
- BROWSER=
1007
- ;;
1008
- esac
1009
-
1010
- case "$DE" in
1011
- kde)
1012
- open_kde "$url"
1013
- ;;
1014
-
1015
- dde)
1016
- open_dde "$url"
1017
- ;;
1018
-
1019
- gnome3|cinnamon)
1020
- open_gnome3 "$url"
1021
- ;;
1022
-
1023
- gnome)
1024
- open_gnome "$url"
1025
- ;;
1026
-
1027
- mate)
1028
- open_mate "$url"
1029
- ;;
1030
-
1031
- xfce)
1032
- open_xfce "$url"
1033
- ;;
1034
-
1035
- lxde)
1036
- open_lxde "$url"
1037
- ;;
1038
-
1039
- lxqt)
1040
- open_lxqt "$url"
1041
- ;;
1042
-
1043
- enlightenment)
1044
- open_enlightenment "$url"
1045
- ;;
1046
-
1047
- cygwin)
1048
- open_cygwin "$url"
1049
- ;;
1050
-
1051
- darwin)
1052
- open_darwin "$url"
1053
- ;;
1054
-
1055
- flatpak)
1056
- open_flatpak "$url"
1057
- ;;
1058
-
1059
- generic)
1060
- open_generic "$url"
1061
- ;;
1062
-
1063
- *)
1064
- exit_failure_operation_impossible "no method available for opening '$url'"
1065
- ;;
1066
- esac