{"id":16985826,"url":"https://github.com/as400jplpc/nim_webwsi","last_synced_at":"2026-04-14T01:31:01.719Z","repository":{"id":174038256,"uuid":"320291626","full_name":"AS400JPLPC/nim_webwsi","owner":"AS400JPLPC","description":"webview and socket and  interactif","archived":false,"fork":false,"pushed_at":"2021-10-21T17:35:09.000Z","size":5207,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T01:42:05.593Z","etag":null,"topics":["nim","socket-io","webkit2gtk","webview"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AS400JPLPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-10T14:08:45.000Z","updated_at":"2021-10-21T17:35:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"10ed9ddf-65eb-4a28-8c82-c326e3741afc","html_url":"https://github.com/AS400JPLPC/nim_webwsi","commit_stats":null,"previous_names":["as400jplpc/nim_webwsi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AS400JPLPC/nim_webwsi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AS400JPLPC%2Fnim_webwsi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AS400JPLPC%2Fnim_webwsi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AS400JPLPC%2Fnim_webwsi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AS400JPLPC%2Fnim_webwsi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AS400JPLPC","download_url":"https://codeload.github.com/AS400JPLPC/nim_webwsi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AS400JPLPC%2Fnim_webwsi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31778580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"ssl_error","status_checked_at":"2026-04-14T00:10:29.837Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nim","socket-io","webkit2gtk","webview"],"created_at":"2024-10-14T02:44:15.268Z","updated_at":"2026-04-14T01:31:01.691Z","avatar_url":"https://github.com/AS400JPLPC.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nim_websi\n**webview and socket and  interactif**\u003cbr /\u003e\n\u003cbr /\u003e\u003cbr /\u003e\nNim bindings for zserge's Webview which is an excellent cross-platform single header webview library for C/C++ using Gtk  \n\u003cbr /\u003e\nthank-you [oskca](https://github.com/oskca/webview)  Your work inspired me a lot \n\u003cbr /\u003e  \nrequire \u003cbr /\u003e\nthank-you [https://github.com/treeform/ws](https://github.com/treeform/ws)  \n\u003cbr /\u003e\u003cbr /\u003e  \n**Linux**\u003cbr /\u003e\n\n\u0026rarr;\u0026nbsp;JavaScriptCore/JavaScript.h\u003cbr /\u003e  \n\u0026rarr;\u0026nbsp;gtk/gtk.h\u003cbr /\u003e  \n\u0026rarr;\u0026nbsp;webkit2/webkit2.h\u003cbr /\u003e  \n\u0026rarr;\u0026nbsp;X11/Xlib.h\u003cbr /\u003e  \n\u0026rarr;\u0026nbsp;glib.h\u003cbr /\u003e  \n\u0026rarr;\u0026nbsp;{.passL: staticExec\"pkg-config --libs gtk+-3.0 webkit2gtk-4.0\".}\u003cbr /\u003e  \n\n\n\u0026rarr;\u0026nbsp;**update**\u0026nbsp;\u0026nbsp;:2021/04/21\u0026nbsp;\u0026nbsp;version save WEBWSI_Hold.tar.gz\u0026nbsp;\u0026nbsp; in inject_css and set_font\u003cbr /\u003e  \u003cbr /\u003e  \n\u0026rarr;\u0026nbsp;**update**\u0026nbsp;\u0026nbsp;:2021/04/21\u0026nbsp;\u0026nbsp;delete\u0026nbsp; inject_css and set_font \n\u003cbr /\u003e  \n\n\n** fonction:\u003cbr /\u003e\nAllows you to process a web page as we practice with ex (Apache) but with the webview principle.\nWith a web-socket type interaction.\n\nthe possibility of having 3 distinctive screens (session):\n\n\u0026ndash;\u0026nbsp;   the base page (new a window)\n\n\u0026ndash;\u0026nbsp;   a modal page (new a window)\n\n\u0026ndash;\u0026nbsp;   a dialog page (new a window)\n\nEach of these pages works like a web page processed with a browser.   \n  \n\n\nBut nothing is worth an example folder :\"NimWeb\"  \n  \nthe folder for WScode / CODIUM is present in the NimWeb folder\nyou have an example of compilation with compil.sh\nexecutable option-\u003e no-pie \n\ndownload in .nimble folder \"webwsi-0.1.0\"   \n  \nimage :  \n  img : [EXEMPLE](https://github.com/AS400JPLPC/nim_webwsi/blob/master/exemple.png)\n\nsource:  \n  src : [EXEMPLE](https://github.com/AS400JPLPC/nim_webwsi/blob/master/NimWeb/ecr00.nim)\n\n**Procs**\n\nproc init(w: webwsi): cint {...}\n\nproc loop(w: webwsi; blocking: cint): cint {...}\n\nproc eval(w: webwsi; js: cstring): cint {...}\n\nproc setTitle(w: webwsi; title: cstring) {...}\n\nproc setAltF4(w: webwsi; hint: bool) {...}\n\nproc showInit(w: webwsi) {...}\n\nproc setDestroy(w: webwsi) {...}\n\nproc setDeletable(w: webwsi; hint: bool) {...}\n\nproc setTaskBar(w: webwsi; hint: bool) {...}\n\nproc setResizable(w: webwsi; hint: bool) {...}\n\nproc setFocus(w: webwsi) {...}\n\nproc setFullscreen(w: webwsi) {...}\n\nproc setColor(w: webwsi; r, g, b, a: uint8) {...}\n\nproc terminate(w: webwsi) {...}\n\nproc exit(w: webwsi) {...}\n\nproc debug(format: cstring) {...}\n\nproc printLog(s: cstring) {...}\n\nproc fullscreen(w: webwsi) {...}\n\nproc chgUrl(w: webwsi; url: cstring) {...}\n\nproc setMessage(w: webwsi; flags: cint; title: cstring; arg: cstring) {...}\n\nproc showModal(w: webwsi; url: cstring) {...}\n\nproc hideModal(w: webwsi) {...}\n\nproc showDialog(w: webwsi; url: cstring) {...}\n\nproc hideDialog(w: webwsi) {...}\n\nproc showWindow(w: webwsi; r: webwsi) {...}\n\nproc externalInvokeCB=(w: webwsi; cb: ExternalInvokeCb) {...}\n\n    Set external invoke callback for webwsi \n\nproc newwebwsi(title = \"webwsi\"; url = \"\"; width = 0; height = 0;\n               resizable = true; debug = false; cb: ExternalInvokeCb = nil): webwsi {...}\n\n    newwebwsi creates and opens a new webwsi window using the given settings. This function will do webwsi init \n\nproc dispatch(w: webwsi; fn: DispatchFn) {...}\n\nproc info(w: webwsi; msg: string) {...}\n\n    Show one alert box \n\nproc warn(w: webwsi; msg: string) {...}\n\nproc erreur(w: webwsi; msg: string) {...}\n\nproc query(w: webwsi; msg: string) {...}\n\nproc msg(w: webwsi; title, msg: string) {...}\n\n    Show one message box \n\nproc run(w: webwsi) {...}\n\n    run starts the main UI loop until the user closes the webwsi window or Terminate() is called. \n\nproc bindProc[P, R](w: webwsi; scope, name: string; p: (proc (param: P): R))\n\nproc bindProcNoArg(w: webwsi; scope, name: string; p: proc ()) {...}\n\n    ugly hack or macro will fail \n\nproc bindProc[P](w: webwsi; scope, name: string; p: proc (arg: P))\n\nproc endClose(w: var webwsi) {...}\n\n\n\n\n**Macros**\n\nmacro bindProcs(w: webwsi; scope: string; n: untyped): untyped\n\n    bind procs like:\n\n    proc fn[T, U](arg: T): U\n    proc fn[T](arg: T)\n    proc fn()\n\n    to webwsi w, in scope scope then you can invode in js side, like this:\n\n    scope.fn(arg)\n\n\n\nMade with Nim. Generated: 2021-04-21 10:11:14 UTC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fas400jplpc%2Fnim_webwsi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fas400jplpc%2Fnim_webwsi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fas400jplpc%2Fnim_webwsi/lists"}