Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
All the socket stuff is done syncing it with select calls so we can
get either a X11 event or a Socket event.
Also cleanup the C mess, it's done all in rust now :).
|
|
Nom it's not needed for now.
|
|
Something simple, but it works pretty well. The mapping between the strings that
comes from the socket and functions, modifiers, keys, etc. needs some rewrite
because now there's a manual mapping.
The autostart file shows some functionality on how it will work. Since the
next_xevent is ticking on 1s, it's preferible to make the writes on the
socket all together, otherwise will pass 1 sec between two calls.
|
|
Now the next_xevent (from the safex11) will not block forever. So we
can listen the socket without doing some thread stuff.
|
|
First steps on the socket handling. Dotwm will use this for communication between
different clients trying to modify the behaviour (just take a look into hlwm's
herbstclient program).
It's needed a parser for the configuration, make the protocol and get it working
better. For now I'm checking if it's anything into the socket every time I've a
XEvent. But it shouldn't be this way.
|
|
|
|
The spawn of process within the exec_cmd function now are handled by a new
function (collect_zombies).
For reference, this code was taken from the _zombie_ crate.
|
|
The bindings don't need to be handled on the window manager
This would be useful for the client/server feature.
|
|
This now allows to call a ExecFn with a &mut DotWM by parameter. This help
to do some things like do the window swapping. through mod4 + tab.
Also the bindings are not longer on the wm, because this generates some problems
with the ExecFn.
Also, now it's posible to resize the windows :)
|
|
For now this have some bugs. Some complex programs (i.e. thunar, firefox) will spawn
a lot of XCreateEvents and the last window it's not focused correctly.
Also the enter notify should work on an input instead hovering the window
|
|
This initial commit has the following:
* We can spawn a terminal.
* Given a new window, we can move it around the screen, but only the
window that was created, all the other windows disappear on the void,
so.. :(
and that's it
|