Posts

Showing posts from June, 2022

Mission control in GNU Emacs

Image
  Mission control or desktop/window overview in GNU Emacs. This is an Emacs buffer showing some images in a fullscreen frame. The first line shows images of workspaces. The rest are images of active windows in current workspace. It uses the following external tools: wmctrl - For switching applications and workspaces xdotool - For getting id of active window xwd - For taking screenshots in XWD format ffmpeg - For scaling and converting XWD to PNG format Install these essential tools in your system.  $ sudo apt install wmctrl xdotool xwd ffmpeg Load library task.el  (require 'task) Run M-x task-view or M-x task-view-fullscreen . Use mouse to select, g to group, G to ungroup, m to start a move operation and ESC to cancel. Use double click to activate a window or desktop. Press q or RET to exit. Pro Tip: You can select multiple windows.   Code: https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/svg.el https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/task.el ...

GNU Emacs as a Desktop widget

Image
    GNU Emacs has a lot of in-built features which can enhance your computing experience while acting as a desktop widget .e.g. calendar, scratch pad, clock (external) etc. Even when you are not using it as the main application, it can prove useful as a companion application. In the image, menu bar, tool bar and scroll bars have been turned off. You might want to make it sticky (appears in all desktops) and maximized vertically using following command (you can get <win-id> using xwininfo command): $ wmctrl -b add,sticky,maximized_vert -r <win-id> -i  

GNU Emacs Gestures

Image
 Use multi-touch gestures in GNU Emacs.   - Install touchegg https://github.com/JoseExposito/touchegg - Create a copy of touchegg.conf $ mkdir -p ~/.config/touchegg && cp -n /usr/share/touchegg/touchegg.conf ~/.config/touchegg/touchegg.conf   - Add a section for Emacs (pinch to zoom) before closing <touchegg> tag.    <application name="Emacs">     <gesture type="PINCH" fingers="2" direction="IN">       <action type="SEND_KEYS">         <repeat>true</repeat>         <modifiers>Control_L</modifiers>         <keys>x+KP_Subtract</keys>         <decreaseKeys>KP_Add</decreaseKeys>       </action>     </gesture>     <gesture type="PINCH" fingers...

Rabbit hole: Windows + Linux + Emacs + Vim

Image
A computing Rabbit hole!!! Windows 10 running WSL2 (debian) and VcXsrv X server GNU Emacs compiled under WSL2 with XWidget support GNU Emacs running embedded Vim using XWidget's XEMBED protocol