GUI

From Things and Stuff Wiki
Revision as of 10:48, 21 February 2013 by Milk (talk | contribs) (→‎X)
Jump to navigation Jump to search


Startup

Q: "I get a tty1 login before KDM pops up." A: "You could disable tty1. Comment out this line in /etc/inittab: c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux"

X

Xwindows drives the underlying graphical interface of most if not all Unix/Linux computers providing a GUI. It was developed in 1984 at MIT. After around 35 years of development, tweaking and adding of new hardware and ideas, it is generally acknowledged to be a bit of a beast. It should be remembered that the common configuration at time of development was a single mini running X providing individual views to Xterminals in a timesharing system. Nowadays the norm is X providing a single screen on a desktop or laptop.

All of this means that there are many ways of achieving the same thing and many slightly different things that can meet the same purpose. In modern X versions sometimes you can get away with limited or no configuration. In the last few years the boast is that X is self configuring. Certainly the best practice rule of thumb is less configuration is better - that is only configure what is wrong.

xrandr

xrandr -q
  show possible and current screen resolutions
xdpyinfo | grep 'dimensions:'
  show just current screen resolution in px and mm

Dualscreen

Multihead

GUI

Utils

  • devilspie
  • telak is a program which displays pictures in root window. It can display content of local file, or download image via http. Telak can be configured to refetch picture every n seconds, so it can be used to display image from webcam.

VNC/SSH

Windows

Fonts

Window Managers

Openbox

xmonad

  • xmonad is a dynamically tiling X11 window manager that is written and configured in Haskell. In a normal WM, you spend half your time aligning and searching for windows. xmonad makes work easier, by automating this.

Config

cabal --recompile
  after changing ~/.xmonad/xmonad.hs

Utils

Hotkeys

mod shift enter
  start terminal
mod shift c
  close current window

mod w
  reload xmonad

mod space
  rotate through window layouts
mod shift space
  reset to workspace default
mod tab
  tab through windows
super 2
  switch to workspace 2

Awesome

Config

echo 'naughty.notify({ text = "hello from tty" })' | awesome-client

debug rc.lua changes;

Xephyr :1 -ac -br -noreset -screen 1152x720 &
DISPLAY=:1.0 awesome -c ~/.config/awesome/rc.lua.new

If xdg/awesome default config loads instead of .config/awesome, this is due to error in the rc.lua.

Usage

My own config. See GitHub for source.

[mod]-Enter
  new terminal window
[mod]-c
  close window

[mod]-j
  rotate window selection clockwise
[mod]-k
  rotate window selection anticlockwise
[mod]-J
  move active window clockwise
[mod]-K
  move active window anticlockwise

[mod]-f
  fullscreen active window

[mod]-a
  create new tag
[mod]-s
  rename active tag
[mod]-shift-r
  reload awesome (to resource config)

Multihead

Wibox

Widgets

Colours

The color format in awesome is either a standard X color name (blue, darkblue, lightred, etc) or a hexadecimal formatted color (#rrggbb or #rrggbbaa). By using the hexadecimal format, you can also specify an alpha channel: that means that #00ff00 will draw pure green, but #00ff00aa will set the alpha channel to ‘aa’ and will blend the green with the color under it.

Text format

You can use Pango markup in a text string. This allows formating the text rendered inside widgets. Pango markup documentation can be found in the Pango documentation at http://library.gnome.org/devel/pango/stable/PangoMarkupFormat.html.

A Pango markup example: .

Shifty

Revelation

Expose-like client selection.

Freedesktop menu

MPD

Other

3.5

i3

based on wmii

Notion

Enlightenment

Sawfish

  • Sawfish is an extensible window manager using a Lisp-based scripting language. Its policy is very minimal compared to most window managers. Its aim is simply to manage windows in the most flexible and attractive manner possible. All high-level WM functions are implemented in Lisp for future extensibility or redefinition. what i wanted when using litestep

Xfce

LXDE

fvwm

dwm

wmii

other tiling

  • Monsterwm is a minimal, lightweight, tiny but monstrous dynamic tiling window manager. It will try to stay as small as possible. Currently under 700 lines with the config file included. It provides a set of four different layout modes (vertical stack, bottom stack, grid and monocle/fullscreen) by default, and has floating mode support. Each virtual desktop has its own properties, unaffected by other desktops' settings. Finally monsterwm supports multiple monitors setups.
  • TTWM is a minimal tiling window manager combining concepts or elements from TinyWM, DWM, and i3wm. Inspiration has also been drawn from other great tilers like MonserWM. TinyTiler is currently under 650 lines of code. In contrast to other tilers, TinyTiler does not have modes nor does have window rules. TinyTiler has only two layouts: right stack and bottom stack. These choices were by design. TinyTiler instead provides two screen sections, the master and the stack. In TinyTiler only one stack window is visibile at a time, the others have tabs in the statusbar.
  • spectrwm is a small dynamic tiling window manager for X11. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration. It was written by hackers for hackers and it strives to be small, compact and fast.

It was largely inspired by xmonad and dwm.

  • nwm - A dynamic window manager for X11 written with Node.js
  • Bluetile is a tiling window manager for Linux, designed to integrate with the GNOME desktop environment. It provides both a traditional, stacking layout mode as well as tiling layouts where windows are arranged to use the entire screen without overlapping. Bluetile tries to make the tiling paradigm easily accessible to users coming from traditional window managers by drawing on known conventions and providing both mouse and keyboard access for all features. based on Xmonad
  • - Piwm is a very small window manager written in Bash. Following are the 5 task it performs : 1) Ctrl + t : Opens xterm, 2) Ctrl + f : Makes current window full screen,

3) Alt + Mouseleft : Moves the window, 4) Alt + Mouseright : Rescales the window, 5) Ctrl + F1 : Refocus the window

  • subtle is a manual tiling window manager with a rather uncommon approach of tiling: Instead of relying on predefined layouts, subtle divides the screen into a grid with customizeable slots (called gravities). For better understanding, the default config uses a 3x3 grid and maps each gravity to one key of the numpad. With those keys, windows can be moved directly to the desired gravity - the same can be done with tagging rules in the config. Another unique concept is the strict tagging: Unlike other tiling window managers, subtle doesn't allow weak tagging and always maps windows to virtual desktops (called views) with matching tags, regardless of the current active view.

other

  • ROX is a fast, user friendly desktop which makes extensive use of drag-and-drop. The interface revolves around the file manager, or filer, following the traditional Unix view that `everything is a file' rather than trying to hide the filesystem beneath start menus, wizards, or druids. The aim is to make a system that is well designed and clearly presented. The ROX style favours using several small programs together instead of creating all-in-one mega-applications.

System GUI

Launchers

Infos

Notifications

other

http://code.google.com/p/gnome2-globalmenu/

Widget toolkits

GTK+

Qt

qtconfig qt4

File managers

Office

LibreOffice is better than OpenOffice these days.

Microblogging

History

other