Skip to content

koo5/new_shit

Repository files navigation

what is this
===
a proof of concept of a structural editor and a programming / shell language / user interface, inspired by inform 7, playing with natural language-like projections and stuff
screenshots: <http://imgur.com/a/otY8X#1>
info: http://goo.gl/1XilSW
irc: [irc://irc.freenode.net/lemonparty](irc://irc.freenode.net/lemonparty)



fedora 27
===
 sudo yum install git python3-devel python3-numpy freetype-devel autoconf automake libtool libffi-devel
 
 i didnt succeed in building libmarpa under fedora, but you can use:

git clone git@github.com:lemon-operating-language/libmarpa-dist.git 
cd libmarpa-dist/dist/
autoreconf -i
./configure 
make
sudo make install




getting it to run - ubuntu16.4
===


sudo apt-get install  -y git \
  cwebx texinfo  git  mercurial python3-dev python3-numpy libav-tools \
    libsdl1.2-dev  libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev \
    libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev \
        libfreetype6-dev   python3-pip   python3-levenshtein   \
        build-essential autoconf automake libtool libffi-dev



git clone https://github.com/jeffreykegler/libmarpa.git
cd libmarpa;
make dist;
cd dist;
./configure;
make;
sudo make install ;
cd ../../



#optionally:
virtualenv -p python3  env
. env/bin/activate.fish



pip install -r requirements.txt
#or: pip3 install --user \
  cffi \
  fuzzywuzzy \
  hg+http://bitbucket.org/pygame/pygame





git clone https://github.com/koo5/new_shit.git
cd new_shit


LD_PRELOAD=/usr/local/lib/libmarpa.so ./src/sdl_client.py










getting it to run - old
===
needed:
python3.4, 3.5 (?)
fuzzywuzzy - for basic ordering of the menu

recommended:
cffi and libmarpa - needed for parsing
apt-get install python3-cffi
or
pip3 install --user cffi
build and install
https://github.com/jeffreykegler/libmarpa.git
or run with --lame

apt-get install python3-pip python3.4
pip3 install --user fuzzywuzzy

the pygame frontend requires pygame, obviously  
python3 pygame:
https://packages.debian.org/experimental/python3-pygame
http://pygame.org/wiki/CompileUbuntu
^this seems to work well
https://launchpad.net/~thopiekar/+archive/ubuntu/pygame <- seems to not include freetype


running it
===
LD_PRELOAD=/usr/local/lib/libmarpa.so ./src/sdl_client.py


if the latest commit doesnt run, git checkout HEAD^ until you find one that does:)


getting started
===
some context sensitive help is in the sidebar. Press F1 to toggle between menu and help. Move the cursor a bit. 
Stop by in the irc channel. 



files
===
* sdl_client.py: the frontend, handles a window, events, drawing. run this one.
* nodes.py: AST classes
* widgets.py textbox, number box, button..
* element.py - both widgets and nodes descend from Element
* tags.py: the results of calling element.render(), text, attribute, child..
* server_frames.py, rpcing_frames.py: the panels: Root, Menu, Info..
* lemon_colors.py: color settings
* lemon_args.py: command line arguments
* notes1: a failed attempt to migrate all documentation into lemon:)



license
===
not decided yet, some standard license or this experiment: <https://github.com/koo5/Free-Man-License> 
For now: By contributing to lemon, you agree to granting me nonexclusive rights to use your contribution (with attribution) within lemon, in any way, including relicensing and reselling. Also, the patent claim protection clauses like in http://www.gnu.org/licenses/agpl-3.0.html apply.:)



linux system control dependencies
===
sudo apt install wmctrl xbacklight xrandr 
 





plans
===
splitting the program into the server, the pygame editor frontend window, and a new QT-based sidebar window. After researching several options im leaning
towards using gRPC for this.
(possibly both-ways) integrations with: 
https://www.kickstarter.com/projects/xiki/xikihub-the-social-command-line
https://github.com/MycroftAI
gnome3/unity/whatever menu
only one way:
solr or ES for searching through local documents from within newshit
i would also like to do some front-ending for https://github.com/researchstudio-sat/webofneeds
as well as further develop ./hallucinations/koord.lemon.txt , which could be integrated in webofneeds