Comments (6)
The problem is that any of the calls from gui.c
will have to go through the commands API since it cannot call into the (future) uzbl thread from the gui thread. Same with variables.c
depending on which thread the code in variables.c
is meant to run in (I prefer the uzbl thread (which could call the functions directly), but maybe the gui thread is better?).
from uzbl.
The exact separation of the threads is not clear to me and maybe it something we would have to untangle when we get to that. But even then I think going through the commands API would be a bad idea as there's other mechanism for safely passing those "messages" across threads like gio g_task_run_in_thread.
And the big one in gui.c is js
on page
which I guess would be gui thread call in the end anyway?
from uzbl.
sry. g_task_run_in_thread was not the one I was thinking of. By I think I remember reading you could attach them to specific main loops
from uzbl.
js page
in WebKit2 is a write to the extension's socket/pipe and a wait for the response. We can't block the GUI thread on that.
from uzbl.
hmm, ok. so page like it's implemented now doesn't actually work then? I forget what is just placeholders :)
To get the extension working as big task on it's own but I think you're right saying we should not be trying to block when communicating with it (Not even sure we could). In the gui we could get away with fire and forget for what we're doing now but in the commands we need a way of waiting for the response. Having a nice wrapper api for running javascript would help then to avoid bloating commands.c even more.
from uzbl.
Re variables it's very tempting to run it with the gui because of all the gobject properties we are setting. But I think conceptually it belongs in the uzbl thread so I think that's the correct choice even if it's a bit more work.
from uzbl.
Related Issues (20)
- Javascript in binding not getting executed HOT 19
- uzbl-tabbed shows empty window HOT 3
- event manager doesn't "connect"(?) unless uzbl-browser is being verbose HOT 8
- event-manager NEVER connects, verbose option or not HOT 3
- pb with uzbl scripting (load_url_from_surfraw.sh) HOT 1
- global problem which my explain the symptoms (last issues posted by me) HOT 2
- No website displays after compiling in current environment HOT 15
- blank page, couldn't set ssl credentials, PROP_TIMELINE_PROFILING_ENABLED... ??? HOT 3
- Fonts imported from the web don't load HOT 1
- Example files are installed using cp and do not have the right permissions HOT 16
- Which commit should currently be considered "stable"? HOT 4
- CJK input (e.g. mozc, anthy) via X input methods (e.g. uim, fcitx, ibus) doesn't work in the status bar
- alerta.io is not displayed correctly HOT 6
- ReactJs doesn't work
- What is the official status of this project? HOT 5
- Directory "= " created in current directory HOT 2
- www.uzbl.org web site is down HOT 6
- Github isn't shown correctly
- Keyboards scrolling not working HOT 4
- Web feed not working at uzbl.org HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uzbl.