Add exwm integration within FG42
Signed-off-by: Sameer Rahmani <lxsameer@gnu.org>
This commit is contained in:
parent
15c343f192
commit
dc655490b6
|
@ -23,4 +23,5 @@ lib/**/*.elc
|
||||||
*.elc
|
*.elc
|
||||||
tmp/
|
tmp/
|
||||||
test-runner/
|
test-runner/
|
||||||
.fpkg/
|
.fpkg/
|
||||||
|
/fg42-wm
|
9
Makefile
9
Makefile
|
@ -25,14 +25,21 @@ install:
|
||||||
@cp ./config/fg42.user.el ${HOME}/.fg42.el
|
@cp ./config/fg42.user.el ${HOME}/.fg42.el
|
||||||
@echo "Creating the link..."
|
@echo "Creating the link..."
|
||||||
@echo "#! /bin/sh" > ./fg42
|
@echo "#! /bin/sh" > ./fg42
|
||||||
|
@cp ./scripts/fg42-wm ./fg42-wm
|
||||||
@echo "export FG42_HOME=$(shell pwd)" >> ./fg42
|
@echo "export FG42_HOME=$(shell pwd)" >> ./fg42
|
||||||
@echo 'emacs --name FG42 --no-site-file --no-site-lisp --no-splash --title FG42 -l $$FG42_HOME/fg42-config.el "$$@"' >> ./fg42
|
@echo "export FG42_HOME=$(shell pwd)" >> ./fg42-wm
|
||||||
|
@echo 'FG42_WM=false emacs --name FG42 --no-site-file --no-site-lisp --no-splash --title FG42 -l $$FG42_HOME/fg42-config.el "$$@"' >> ./fg42
|
||||||
|
@echo 'FG42_WM=true emacs --name FG42 --no-site-file --no-site-lisp --no-splash --title FG42 -l $$FG42_HOME/fg42-config.el "$$@"' >> ./fg42-wm
|
||||||
@chmod +x ./fg42
|
@chmod +x ./fg42
|
||||||
|
@chmod +x ./fg42-wm
|
||||||
@sudo rm -f /usr/local/bin/fg42
|
@sudo rm -f /usr/local/bin/fg42
|
||||||
|
@sudo rm -f /usr/local/bin/fg42-wm
|
||||||
@sudo ln -s `pwd`/fg42 /usr/local/bin/fg42
|
@sudo ln -s `pwd`/fg42 /usr/local/bin/fg42
|
||||||
|
@sudo ln -s `pwd`/fg42-wm /usr/local/bin/fg42-wm
|
||||||
@echo "Copying share files..."
|
@echo "Copying share files..."
|
||||||
@sudo mkdir -p /usr/share/fg42/
|
@sudo mkdir -p /usr/share/fg42/
|
||||||
@sudo cp -r ./share/* /usr/share/fg42/
|
@sudo cp -r ./share/* /usr/share/fg42/
|
||||||
|
@sudo cp -r ./share/xsessions/fg42.desktop /usr/share/xsessions/
|
||||||
@echo " "
|
@echo " "
|
||||||
@echo "------------------------------------------------------------------------------------"
|
@echo "------------------------------------------------------------------------------------"
|
||||||
@echo "Make sure to install external dependencies of FG42. For more info checkout README.md"
|
@echo "Make sure to install external dependencies of FG42. For more info checkout README.md"
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
(ability which-key ()
|
(ability which-key ()
|
||||||
(when (is-evil?)
|
(when (is-evil?)
|
||||||
(which-key-mode t)))
|
(which-key-mode t)))
|
||||||
|
|
||||||
;; enhance evil mode with space leader keybindings
|
;; enhance evil mode with space leader keybindings
|
||||||
(ability space-keys (which-key)
|
(ability space-keys (which-key)
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
(ability highligh-current-line ()
|
(ability highligh-current-line ()
|
||||||
"Highlights the current line."
|
"Highlights the current line."
|
||||||
(global-hl-line-mode t))
|
(global-hl-line-mode t))
|
||||||
(ability flycheck ()
|
(ability flycheck ()
|
||||||
"Check syntax on the fly using flycheck."
|
"Check syntax on the fly using flycheck."
|
||||||
(require 'flycheck)
|
(require 'flycheck)
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun extensions/serene-initialize ()
|
(defun extensions/serene-initialize ()
|
||||||
"Initialize the common Lisp extension."
|
"Initialize the Serene extension."
|
||||||
|
|
||||||
(require 'extensions/serene/serene-simple-mode)
|
(require 'extensions/serene/serene-simple-mode)
|
||||||
(add-hook 'serene-simple-mode-hook #'paredit-mode)
|
(add-hook 'serene-simple-mode-hook #'paredit-mode)
|
||||||
|
|
|
@ -56,6 +56,21 @@ to them.
|
||||||
,@body)))
|
,@body)))
|
||||||
|
|
||||||
|
|
||||||
|
(defmacro defability (name deps &optional docs &rest body)
|
||||||
|
"Define an ability with the given NAME, DEPS, DOCS and BODY.
|
||||||
|
|
||||||
|
*deps* should be a list of abilities with the defined ability dependens
|
||||||
|
to them.
|
||||||
|
|
||||||
|
*body* is a block of code which will run as the ability initializer code."
|
||||||
|
(declare (doc-string 3) (indent 2))
|
||||||
|
;; TODO: there's no point of using `if' in the quoted code. evaluate
|
||||||
|
;; the `if' in compile time and return nil or evalute the body.
|
||||||
|
`(if (active-ability? (intern ,(symbol-name name)))
|
||||||
|
(when (null (delq t (mapcar 'active-ability? (quote ,deps))))
|
||||||
|
,@body)))
|
||||||
|
|
||||||
|
|
||||||
(defmacro extension (name &rest args)
|
(defmacro extension (name &rest args)
|
||||||
"A simple DSL to define new fg42 extension by given NAME and ARGS."
|
"A simple DSL to define new fg42 extension by given NAME and ARGS."
|
||||||
;(declare (doc-string 1) (indent 1))
|
;(declare (doc-string 1) (indent 1))
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
Name=FG42
|
Name=FG42
|
||||||
GenericName=FG42
|
GenericName=FG42
|
||||||
Comment=An Emacs base IDE for emacs lovers.
|
Comment=An Emacs base editor for true believers
|
||||||
MimeType=text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-java;application/x-shellscript;text/x-c;text/x-c++;text/x-ruby;text/x-python;text/x-clojure;text/css;text/html;text/x-javascript;
|
MimeType=text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-java;application/x-shellscript;text/x-c;text/x-c++;text/x-ruby;text/x-python;text/x-clojure;text/css;text/html;text/x-javascript;
|
||||||
Type=Application
|
Type=Application
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=Development;TextEditor;
|
Categories=Development;TextEditor;
|
||||||
StartupWMClass=FG42
|
StartupWMClass=FG42
|
||||||
Exec=/usr/local/bin/fg42 %F
|
Exec=/usr/local/bin/fg42 %F
|
||||||
Icon=kuso
|
Icon=fg42
|
||||||
Version=2.67
|
Version=2.67
|
Loading…
Reference in New Issue