aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
AgeCommit message (Collapse)AuthorFilesLines
2020-06-22Use MaybeUninit::uninit() in favor of mem::uninitialized()HEADmasterMatias Linares1-2/+2
2019-09-10use dirs crateMatias Linares1-13/+12
2017-10-02Use std UnixListener/UnixStreamMatias Linares1-8/+6
2016-09-04Better path handling for socketMatias Linares1-8/+29
2016-09-04Add Mouse drag support.Matias Linares1-1/+10
This concludes the first 'release' :p.
2016-06-04Allow unknown lints for rust stableMatias Linares1-0/+2
2016-06-03Add Clippy as dependency.Matias Linares1-4/+5
This brings a lot of clean up on the code.
2016-05-25Add a lazy_static connection to the X serverMatias Linares1-2/+1
2016-02-07Change the plain exec_func with something better.Matias Linares1-2/+12
2016-01-27Refactor move sticky.Matias Linares1-0/+3
2015-12-07Implement desktops.Matias Linares1-2/+1
It's somewhat buggy. But works :). There're 2 desktops only for now, maybe later I will implement something more dynamic
2015-11-30Add resize-win-sticky.Matias Linares1-1/+1
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 :).
2015-11-28Better socket handlingMatias Linares1-16/+17
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).
2015-11-27Little implemented the socket parser.Matias Linares1-0/+2
Just two functions for the parsing of the socket. nothing special.
2015-11-22Move the file descriptor of the socket to the select event.Matias Linares1-3/+1
2015-11-22Death to the threads.Matias Linares1-26/+19
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 :).
2015-11-22Cleanup.Matias Linares1-11/+0
Nom it's not needed for now.
2015-11-22Add socket functionality.Matias Linares1-12/+15
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.
2015-11-22next_xevent don't block anymore!Matias Linares1-3/+6
Now the next_xevent (from the safex11) will not block forever. So we can listen the socket without doing some thread stuff.
2015-11-19Implemented socket handler.Matias Linares1-82/+25
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.
2015-11-16Add MIT LICENSEMatias Linares1-0/+2
2015-11-15Clean of zombie process.Matias Linares1-1/+2
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.
2015-11-15Move exec and add binding to the main.Matias Linares1-1/+17
The bindings don't need to be handled on the window manager This would be useful for the client/server feature.
2015-11-09ExecFn Rewrite.Matias Linares1-20/+79
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 :)
2015-11-09Focus handling.Matias Linares1-1/+12
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
2015-11-08Initial commitMatias Linares1-0/+75
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