X Window Applications Summary Window managers (I have used, there are hundreds of such WM programs)... twm Tab Window Manager -- Default but versatile Window Manager ctwm Color Tab Window Manager (versatile, but getting dated) openbox Window manager that is complaint with modern 'session managers' such as Gnome and Gnome-panel Panel/Taskbar... lxpanel panel using Desktop files (similar to fbpanel) fbpanel panel: runs apps direct, tasks not grouped, one panel only! tint2 tint2 is a lightweight panel/taskbar made for OpenBox SuxPanel GTK+ taskbar pannel http://suxpanel.berlios.de/ BMPanel Possibly the heaviest in dependencies in this list http://nsf.110mb.com/bmpanel/ BarPanel Taskbar and Menus http://www.ossproject.org/projects/barpanel PyPanel Lightweight panel in python Wbar Quick launcher, configurable, no autohide WMdrawer Launcher dockapp (ugly defaults) Apwal Simple icon-box launcher, fast Simdock light dock, does not need Display composition Tabble Tabbed launch menu BBDock Launcher dockapp, raises apps that are already running bricons one of the oldest 'toolbar' type programs (very simple) File Managers... nautilus Gnome v3, few options, no user actions nemo based on Gnome v2, ROX Filer thundar Good, compact, can't get icon generation to work pcmanfm NOTE: None of the above have all the features of: compact (no wasted space) layout, automatic icon generation, and general user-defined scripts, The OLD gnome2 nautilus did have all 3 methods, but even it has quirks. Session Helpers gmrun Command line runner, with history skippy Lays out a smaller 'snapshot' of each window to allow users to find a particular window. It's like a slow version of Mac's "Expose" window seltion tool. backstep draw iconified icons on desktop, (or small copys of app window) 3ddesktop pager to animate switch to other workspaces Monitors... xconsole a realony style of xterm output window xpostit open and close small postit notes on the screen xmail Mail Reading program (and indicator) xbiff MailBox status indicator (do you have mail?) xclock clock program (minutes marked) oclock clock program (a `diamond' at 12 o'clock) sunclock Map of the world showing Night/Day (run with -iconic) xload display the load (or other things) graph xmeter as xload but multiple machines at same time xnetload show the network load, for example "xnetload lyrch.cit" xdu display graphically the output of du (to use: "du | xdu &" ) gkrellm General purpose monitor with plugins conky General purpose monitor Light-monitor Monitor and panel built in together http://www.dixsous.org/Light-monitor/ i3bar dzen2 xmobar lemonbar conky single line status monitors i3status one line computer status report for the above.. Or see how to DIY one... http://blog.z3bra.org/2014/04/meeting-at-the-bar.html ploybar All in one version General Utilities... xterm Terminal program (provides the means to display normal text) I still prefer this over every other term program as its terminal handling is still the most complete! xman X client to read manuals. xcalc calculator (normal and reverse polish versions) xlock xlock the screen with some fancy screen displays xscreensaver A program to run various screen savers and to provide Autolocking of idle displays. (See Screen hacks below) xclosedown completely closedown (logout session) a display xlogout put a logout button on screen and wait until it is pressed NOTE:- This is a shell script using the xmessage client Input Handling xvkbd On screen keyboard input using mouse (or pad) (also can generate 'macro' events) Text Editors... xedit file editor (simple - like sunview textedit) xemacs X windows Emacs file editor gvim Graphical Vi Improved file editor Shell Script X Clients... xmessage Display information and a number of buttons xprompt String input entry program xmenu popup a menu of choices dmenu fast simple selection of items program key search or arrow key select, A bit like fzf but takes over the top of the display notifier pops up a window whenever input is received (error reporting) IE: tail -f $HOME/.xsession-errors | notifier -name Errors & notify-send Popup message for short time (requires d-bus to be running) IE: notify-send "The backup is finished" Xdialog A graphical version of the shell curses "dialog" program yad "Yet Another Dialog" zenity General password/string input, file/list selection, question also able to do warnings, progress meters, scale input etc. gdialog wdialog xless A simplistic file display ssh-askpass \ x11-ssh-askpass > Password entry programs (Specifically for SSH) gnome-ssh-askpass / pinentry Password entry program, STDIN command driven for example: SETDESC Enter Password GETPIN Curses version available Window and Window Manager Control... xwit Modify Size Position, Iconification of windows. This fails with some applications (not in fedroa repos!) wmctrl Modify Windows (and desktops) with wm like controls Each provide quite different sets of posible actions wmiface A old KDE3-based window controller xdotool Window modifaction but also X event generation (see Event Generators below) pyautogui A Python API version https://pypi.org/project/PyAutoGUI/ X Event handling and redirection... For details of using event handlers and generators see https://antofthy.gitlab.io/info/X/event_handling.txt Event Handling.... xbindkeys Grab mouse and keybord event and run commands. Typically however this is handled by a Window Manager (like openbox). xhkeys simular to xbindkeys, but with emphesis on 'special keys' on the various non-standard keyboards. EG: Play/Pause, Web etc bbkeys key-grabber (designed for blackbox wm) xhotkeys key to program launcher sxhkd Hotkey daemon xautolock Run a program (lock) when mouse sits in a corner for N secs xspy /xkeys A utility that was sent and then deleted (hard to find) which sits in the background and silently records all keystrokes. easystroke Launch commands with mouse gestures on windows xdotool Some special event handling features (EG: mouse hits edge) But is main task is event generating (see below) Event Generators... xsendevent Sent them via XSentEvent to applications. / xse Most applications ignore such 'fake' events by default making this utility rather usless. The "XTest" Xinterface is more global and is not ignored by default. XAutomation As xsendevent, but using the XTest extension (better). / xte Sort of a xmacro, but without needing the record/playback https://github.com/sleepingsaint/XWindows Python library to grab image and send keys. BUt does nto do anything more! xvkbd On screen keyboard, but can also be used to send a text string input event, and terminate. xmacro Record all X mouse/keyboard events and save into a text file File can then be 'played' on the same or another computer. Can be used to convert on keystroke into a multiple events. But needs a file to 'play' the macro events. xnee record and playback events (now part of Gnu) xdotool This is a program containing a mixture of window modification (such as "xwit" and "wmcrtl") Event generators (such as "xte") which is its primary purpose, with unique features that make it far better then the other 'simplier' programs. It can also handle specific demonic event handling such as "On window entry - print location, and set focus" Re-Route Events Elsewhere... xremote For a short period redirect all local X events to a remote display (until the 'quit' key is given). xroute Set up a X server mirror (for firewalls) -- Just use SSH! Image processing... ghostview Postscript file viewer (allows printing of selected pages) gs ghostscript -- a postscript file view (RAW - use ghostview) xdvi LaTeX DVI file viewer : try xdvi -s 4 {dvifile} gnuplot Graphing package that can plot data and mathemetical graphs xfig Diagram drawing tool - ouput can be used in LaTeX files transfig conversion program of fig files to postscript fig2dev fig file converter -- subprogram to the above transfig pixmap Similar to bitmap, but to create/edit X pixmap (xpm) files. xv Old but still one of the best general image viewers feh A simplified image viewer with reasonable CLI control gqview A complex viewer with minimal 'remote control' geeqie a gqview replacement (why do they keep changing the name!) imagemagick Convert and modify images with a single "convert" command. One command can preform very complex image processing tasks The "display"/"animate" programs allow minimal 'remote control' pbmplus Use pipelines of small image utilities to process images / netpbm generally needs a complex script to do anything complex! gimp The 'Photoshop' for Unix and the Open Source Community. xli display or set background screen from many formats (small,fast) xbmbrowser display all bitmaps/pixmaps in a directory sxpm show X pixmap file. (handles compressed and gziped xpm's) kcolorchooser Allows a user to select a color to use. or use zenity --color-selection or even Xdialog --colorsel 0 0 0 Display Modification and Debugging.... xset set/adjust various screen settings (includes font-path) xsetroot change the background `root' map xbell ring the displays bell (or beep), from a shell script xrefresh Redraw one or all windows and clients on the display xkill Forcefully destory a window from underneath a client client generally will die from the result. xhost X display security control (security by host, auth on/off) xauth X display authority control (security by passwd,`magic-cookie') xdpyinfo print info on the server (EG: screen size and resolution) xvinfo Quick summery of the multiple displays (screens) EG: NUM_DISPLAYS=`xvinfo | grep 'screen #' | wc -l` xwininfo print info on particular window on the screen xlsclients print info on what is running on the screen from where (much cleaner and more concise than "xwininfo") xprop View and modify the 'properitys' attached to windows. These are typically used to modify window manager behaviour. For example... Currently active window xprop -root | sed -n '/^_NET_ACTIVE_WINDOW(WINDOW)/s/.\{40\}//p' Window demanding some attention from user _NET_WM_STATE_DEMANDS_ATTENTION xmodmap modify the key maping of the server (global) xkeycaps modify/reset x keyboard maps interactively (xmodmap output) xev Verbosely list every X window event as it happens in the window poped up. Useful to find out what a key actually produces. ( Also try "xbindkeys -k" ) Modifier mappings can be listed with "xmodmap" (no args) xrdb load/merge/query the server on the current resource settings appres list all resources used by a given application class/name editres edit the resources of a running application listres list resources for known widgets viewres graphically display widget class resources xselection get/set selections (original program) (no daemon mode) xsel ditto (deamon holds selection if -k given, short options) xclip ditto (deamon automatically started - can do images!) xclipboard store multiple selections in clipboard parcellite Gtk Clipboard manager (good but needs a dock) clipit \ a fork of parcellite that is also recommended pastie / gpaste gnome clipboard manager glipper pre-dating parcellite clipman Xfce clipboard manager applet plugin xcutsel GUI to copy selections to/from clipboard autocutsel syncronize cut buffers with clipboard for VNC application AutoKey pyton script for 'typing strings' Note some applications can be controled remotely using DBUS message system see "qdbus" and "qdbusviewer" programs Demo (silly) Clients... xlogo display the X Window System logo in a window (minimal app) xmag magnify the bitmap of the screen xgas gas molcule similation xeyes a silly program which watches the pointer on the screen maze draw a large maze and discover a path through it puzzle simplistic tile moving game. Font Handling... xfd display all the characters in a font in a grid xlsfont list all fonts the server knows fc-list list all the modern fontconfig (client) fonts installed. xfontsel interactively pick a font to use xfs X window font server daemon fsinfo Infromation about a given X Font Server fslsfonts List the fonts available from a Font Server fstobdf Download a bdf format font from a Font Server mkfontdir Make a font directory bdftopcf convert a bdf font to the X11R5 pcf format Low level Image Manipulation... bmtoa convert xbm's to ascii map (IE edit bitmap as text) atobm convert ascii map back to xbm's bitmap Create/edit X bitmap (xbm) files X Bitmaps can be found in /usr/include/X11/bitmaps Local bitmaps can be found in /usr/include/X11/bitmaps/std xwd Dump X window image to a file (xwd image format) xwud display a xwd image file on the screen xpr convert xwd image file to postscript xdpr Window printing program (script to xwd & xpr to printer) scrot Minimal command line screen dump Programming Aids (not strictly X window clients)... xmkmf X make makefile -- convert Imakefile to Makefile makedepend a C program dependancy builder makedirhier create a directory path (all directories in the path) xxgdb X interface to the Gnu debugger "gdb" (multi-window) Secondary X Window Displays... synergy Dual screen a second computer. That is share a keyboard and mouse with two or more computers. So as to use the remote computers monitor xrandr Runtime control of X display and monitor layout (hard to use) xmonitor xrandr wrapper to layout monitors more easilly (personal) arandr GUI program generating xrandr commands to use lxrandr GUI interface for xrandr for setup and confuration of a second X windows, such as projectors lxqt-config-randr GUI for specific xrandr controls x2x one X display conrols another via X link ??? rdesktop Open a window to a Microsoft Windows "Remote Desktop" x2vnc Export display for remote control via a VNC client window. / rfb the UNIX equivelent to "rdesktop" for Microsoft Windows vncserver Start a new internal X window server that you can run xclients / Xvnc on and can be viewed and controled via a VNC client. Also look at Nidia Drivers "Xinearama/TwinView" for attaching two local monitors to one computer. Neat Hacks and Other Fun Programs... xroach Cockroaches are hiding under windows -- Ycck! :-) xfishtank The X aquarium program xantfarm Ants digging on the screen -- needs improvment xneko a cat chases afetr a moving pointer, and sleeps when it stops. xphoon Phase of moon display. sunclock Show which parts of the planet is in daylight greasymouse Make the mouse pointer 'slippery' and hard to control. Games -- This is an old list and lots new ones are available. Action xtank spider xtrek xstratego xmris nethack (X window) xtetris xhextris ast (asteriods) xsokoban xmahjongg xbd - Boulderdash - also in color (maybe a local patch). xtb - Multiplayer tank game, but client/server based in contrast to xtank, doesn't have all the feature though. invaders - Version of Space Invaders made by local folks. Very fancy. xaster - Asteriods, very true to the original. Also has sound. xpilot - Multiplayer action all the way if I may humbly say so. :) xblast - Multiplayer space war -- good. Malstrom - one of the better asteroids games Adventure NetHack - The X window client is now available crossfire - multiplayer arcade game (cross of ultima, hack, gauntlet) yoyo.cc.monash.edu.au:pub/crossfire Strategy xconq - Extendable strategy war game. xemp - Strategy - empire client, only play if you have a month or two to spare. xbattle - Both action and strategy, recommended. xigc - X Internet GO server client xmgt - X my Go teacher -- a Super Go reader/editor CDE or DT Clients dtterm Desktop Terminal Program (yuck) dtwm Desktop Window Manager dtcm Desktop Calandar Manager (Client for openwindows CM) dtfile Desktop File Manager dtpad Desktop File Editor dtmail Desktop Mail Reader dtcalc Desktop Calculator dtscreen Desktop Screensavers and Display Lock (xlock equiv) OpenWindows or XView cmdtool Full Login Terminal Window shelltool Subshell Terminal Window olwm Openwindows Window Manager cm Calandar Manager (networked) filemgr File Manager mailtool Open Look Mail Reader textedit Open Look Text Editor (like xedit) clock OL Clock (like xclock) calctool OL Calculator perfmeter Performance Meter - icon shows a analogue meter (xload,xmeter) printtool print files dragged (picked up with pointer) from mailttool of the file manager. binder binds sunview icons to files for file manager iconedit A sunview icon editor (bitmap is the X bitmap editor) sunview icons are found in /usr/include/images (use xbm2icon and icon2xbm to convert) ------------------------------------------------------------------------------