Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
When we wanted to remove the window idx 0 within the list. the current
index went to usize::max_value always. This add a check for the case when
we have more than one window and removes the window 0.
|
|
|
|
|
|
|
|
It's somewhat buggy. But works :). There're 2 desktops only for now, maybe later
I will implement something more dynamic
|
|
The move window sticky is working weirdly. The movement should be using the
attrs.x and attrs.y instead the attrs.x/y + attrs.width/height. But it's
working :).
|
|
|
|
|
|
The implementationn of the EWMH and ICCCM support is incomplete. I need to
check how to implement on the right way.
|
|
The socket interface now allows almost everything that vould be done by
the internals of the window manager.
Also the Window manager now closes fine (on a success exit).
|
|
Just two functions for the parsing of the socket. nothing special.
|
|
|
|
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
|