tomhrr / mawled Goto Github PK
View Code? Open in Web Editor NEWTiling window manager
License: BSD 3-Clause "New" or "Revised" License
Tiling window manager
License: BSD 3-Clause "New" or "Revised" License
See if there's a way to make event access safer, possibly by way of a macro that defines the right type of event and casts the core event accordingly.
E.g. (def bit-enum (enum extern int (a b c d e)))
, where a
has a value of 1, b
a value of 2, c
a value of 4, and so on, to make defining various X11 values easier.
There appears to be an off-by-one problem with window width and height, where the background is still visible on the left and top edges of the display.
While building, I get the following error:
dalec -c src/x11-xlib.dt
dalec -c src/workspace.dt
/tmp/nix-build-mawled-20170423.drv-0/mawled-1bd97af11fe3c44c9578f87a6f4eb5cfa88ca104-src/libx11-xlib.so: undefined symbol: XConfigureWindow
dalec: unable to load dynamic library
make: *** [Makefile:10: libworkspace.dtm] Error 1
But I'm not sure what that means:
Although libX11
is find-able, the command shouldn't care, since it's -c
.
Even if I do specify the -l
and -L
flags, the result is just the same (the path is alive and does contain the file and the symbol).
I guess the problem may be with Dale and not particularly Mawled.
It seems like the compiler just ignores the -c
flag when compiling src/workplace.dt
-- present or not, the error is the same; while if we omit the flag when compiling src/x11-xlib.dt
the error is just as expected (undefined reference to 'main'
). Moreover, the same error arises when we just do dalec -sas src/workspace.dt
.
BTW, it's not that any linking to external libraries doesn't work: dalec -lglut eg/glut-example/glut-example.dt
works fine.
Narrowed the search space. -- It crashes on calling generator.run
in dalec.cpp
.
More specifically, on FormTopLevelInstParse(&units, top);
inside Generator::run
.
Here's where it fails, in Dale, in src/dale/Form/TopLevel/Inst/Inst.cpp
:
const char *form = form_token->str_value.c_str();
bool (*toplevel_form)(Units *units, Node *n) =
CoreForms::getTopLevel(form);
if (toplevel_form) {
toplevel_form(units, node); /* <-- the point of failure */
return true;
}
But it's difficult to understand what's going on there.
It boils down to calling llvm::sys::DynamicLibrary::LoadLibraryPermanently
from Reader::addDynamicLibrary
in src/dale/Module/Reader/Reader.cpp
with the file <my-build-path>/mawled/libx11-xlib.so
, but why?
Moving a window to a workspace with a fullscreen layout, and then switching to that workspace, will cause the focus to switch between them at speed, rendering them unusable. Switching to another workspace will then cause a crash.
The (bin
) directory should be created before the installation into it or install
should be called with -D
flag:
PS: this probably isn't worth a pull request but worth a separate issue; anyway, I'd like to drop the patch from the port, and, if you don't have an objections, try to merge it into Nixpkgs: any suggestions are welcome
For example, open two windows, switch workspace, move the mouse such that the second window will have the focus on returning to the original workspace, switch back to the original workspace. Both windows will have the 'focus' border set.
On changing the screen dimensions, and then switching to another workspace and back again, mawled will crash. If redraw occurs after the dimension change, switching workspaces rapidly also appears to cause a crash.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.