* Future Gadgets 42 *FG42* is a framework to create and editor and window manager based on *GNU/Emacs*. It has a pre-defined setup as well which can be installed out of the box. But the goal of this project is to provide the API necessary to create an integrated editor. So you need to know about Emacs in advance. ** Install from source In order to install *FG42*, issue the following commands: #+BEGIN_SRC bash # clonse the FG42 repository in ~/.fg42 directory $ git clone https://devheroes.codes/FG42/FG42.git ~/.fg42/ # You can clone it where ever your want $ cd ~/.fg42/ $ make install # Run fg42, It will download and build some lisp dependencies on the first execution. $ fg42 #+END_SRC Since the installer script uses =sudo=, during the installation process, you'll have to enter your password. Make sure that you're user account has a =sudo= access. After installing *FG42* you should be able to start the default editor via =fg42= script. The very first time that you start =fg42= it will download all the necessary packages to operate, so it will take a while for all the packages to install. You can tell when it is finished by a message in the minibuffer and the fact that the look of emacs changes. Enjoy using **FG42** ;) ** Configuration After installation there would be a file at =~/.fg42.el= which is the user specific configuration of *FG42*. You can configure your copy of *FG42* using this file. Also you can generally use this file to configure Emacs as well. ** Terms & Concepts FG42 introduced some new features to the Vanilla *Gnu/Emacs*. So you migh encounter several of these features during your journey. It's a good idea to at least know what you're dealing with. *** Cubes *FG42*'s design is very similar to *Gentoo*. The abstraction unit of functionality in FG42 is a **Cube**. Cubes are function like entities that you can call in order to activate them. They get activated just once and multiple calls don't have any effect on them. *** Flags ** Documentation TBD ** Debugging If you ran into an issue and want to debug FG42, the best and easiest way is to turn on debugging by uncommenting =(setq debug-on-error t)= in your configuration (=~/.fg42.el=) and restarting FG42. After that you'll get a traceback for any exception in FG42. ** what's with the name? I'm a huge fan of [Steins Gate](https://en.wikipedia.org/wiki/Steins;Gate) anime and I follow its naming convensions on *Future Gadgets 42*. ** Why we moved from Github ? We're not happy with Microsoft buying Github and we don't trust a company like Microsoft because of their history and their strategies (For more information take a look at [[https://en.wikipedia.org/wiki/Halloween_documents][Halloween documents]]. So we decided to move to Devheroes as an alternative and we are happy here so far. * License FG42 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. FG42 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. All the documents of FG42 that locate in 'doc' directories release under the term of GNU FDL. Copyright (C) 2010-2021 Sameer Rahmani