mwmrc(4)

NAME

   mwmrc --- the Motif Window Manager Resource Description File

DESCRIPTION

   The  mwmrc  file is a supplementary resource file that controls much of
   the behavior of the Motif window manager mwm.  It contains descriptions
   of  resources  that  cannot  easily  be written using standard X Window
   System, Version 11  resource  syntax.  The  resource  description  file
   contains  entries that are referred to by X resources in defaults files
   (for example, /etc/X11/app-defaults/Mwm)  or  in  the  RESOURCE_MANAGER
   property on the root window. For example, the resource description file
   enables you to specify different types of window menus; however,  an  X
   resource  is used to specify which of these window menus mwm should use
   for a particular window.

   Location
   The  window  manager  searches  for  one  of  the  following   resource
   description files, where $LANG is the value of the language environment
   on a per-user basis:

   $HOME/$LANG/.mwmrc
   $HOME/.mwmrc
   /etc/X11/mwm/$LANG/system.mwmrc
   /etc/X11/mwm/system.mwmrc

   The first file found is the first used. If no file is found, a  set  of
   built-in specifications is used. A particular resource description file
   can be selected using the configFile resource. The following shows  how
   a different resource description file can be specified from the command
   line:

   /usr/bin/mwm -xrm "mwm*configFile: mymwmrc"

   Resource Types
   The following types of resources can be described in the  mwm  resource
   description file:

   Buttons   Window  manager  functions  can  be  bound  (associated) with
             button events.

   Keys      Window manager functions can be bound (associated)  with  key
             press events.

   Menus     Menu  panes  can  be used for the window menu and other menus
             posted with key bindings and button bindings.

MWM RESOURCE DESCRIPTION FILE SYNTAX

   The mwm resource description file is a standard text file that contains
   items   of  information  separated  by  blanks,  tabs,  and  new  lines
   characters. Blank lines are ignored. Items or characters can be  quoted
   to avoid special interpretation (for example, the comment character can
   be  quoted  to  prevent  it  from  being  interpreted  as  the  comment
   character).   A  quoted  item  can be contained in double quotes (" ").
   Single characters can be quoted by preceding  them  by  the  back-slash
   character  (\).  If  a  line  ends  with a back-slash, the next line is
   considered a continuation of that line. All text from an unquoted #  to
   the  end of the line is regarded as a comment and is not interpreted as
   part of a resource description. If ! is the first character in a  line,
   the line is regarded as a comment.

   Window Manager Functions
   Window  manager functions can be accessed with button and key bindings,
   and with window manager menus. Functions are indicated as part  of  the
   specifications  for  button  and  key binding sets, and menu panes. The
   function specification has the following syntax:

   function = function_name [function_args]
   function_name = window manager function
   function_args = {quoted_item | unquoted_item}

   The following functions are supported. If a function is specified  that
   isn't  one  of the supported functions then it is interpreted by mwm as
   f.nop.

   f.beep    This function causes a beep.

   f.circle_down [ icon | window]
             This function causes the window or icon that is on the top of
             the  window stack to be put on the bottom of the window stack
             (so that it is no longer obscuring any other window or icon).
             This  function  affects only those windows and icons that are
             obscuring other windows and icons, or that  are  obscured  by
             other   windows   and  icons.  Secondary  windows  (that  is,
             transient  windows)  are  restacked  with  their   associated
             primary  window.  Secondary windows always stay on top of the
             associated primary window and there can be no  other  primary
             windows  between  the  secondary  windows  and  their primary
             window. If an icon function argument is specified,  then  the
             function applies only to icons. If a window function argument
             is specified then the function applies only to windows.

   f.circle_up [ icon | window]
             This function raises the window or icon on the bottom of  the
             window  stack  (so  that  it  is  not  obscured  by any other
             windows). This function affects only those windows and  icons
             that  are  obscuring  other  windows  and  icons, or that are
             obscured by other windows and icons. Secondary windows  (that
             is,  transient  windows)  are restacked with their associated
             primary window. If an icon  function  argument  is  specified
             then  the  function  applies  only  to  icons.  If  an window
             function argument is specified then the function applies only
             to windows.

   f.exec command (or ! command)
             This  function causes command to be executed (using the value
             of the $MWMSHELL  or  $SHELL  environment  variable  if  set;
             otherwise,  /bin/sh ). The ! notation can be used in place of
             the f.exec function name.

   f.focus_color
             This function sets the colormap focus to a client window.  If
             this  function  is  done  in a root context, then the default
             colormap (setup by the X Window System for the  screen  where
             mwm  is running) is installed and there is no specific client
             window colormap focus. This function is treated as  f.nop  if
             colormapFocusPolicy is not explicit.

   f.focus_key
             This  function  sets  the  keyboard  input  focus to a client
             window or  icon.   This  function  is  treated  as  f.nop  if
             keyboardFocusPolicy  is  not  explicit  or  the  function  is
             executed in a root context.

   f.kill    This function is  used  to  close  application  windows.  The
             actual  processing  that occurs depends on the protocols that
             the application observes. The application lists the protocols
             it  observes  in  the  WM_PROTOCOLS property on its top level
             window. If  the  application  observes  the  WM_DELETE_WINDOW
             protocol,  it  is  sent a message that requests the window be
             deleted.  If the application observes  both  WM_DELETE_WINDOW
             and  WM_SAVE_YOURSELF,  it is sent one message requesting the
             window be deleted and another message advising it to save its
             state.    If    the    application    observes    only    the
             WM_SAVE_YOURSELFprotocol , it is sent a message  advising  it
             to  save  its state. After a delay (specified by the resource
             quitTimeout), the application's connection to the X server is
             terminated.  If  the  application  observes  neither of these
             protocols, its connection to the X server is terminated.

   f.lower [- client | within | freeFamily]
             This function lowers a primary window to the  bottom  of  the
             global  window  stack (where it obscures no other window) and
             lowers the secondary window (transient window or dialog  box)
             within  the client family. The arguments to this function are
             mutually exclusive. The client argument indicates the name or
             class  of  a  client  to lower. The name or class of a client
             appears in the WM_CLASS property on  the  client's  top-level
             window.  If the client argument is not specified, the context
             that the function was invoked in indicates the window or icon
             to  lower.  Specifying  within  lowers  the  secondary window
             within the family (staying above the  parent)  but  does  not
             lower   the   client  family  in  the  global  window  stack.
             Specifying freeFamily lowers the window to the bottom of  the
             global windows stack from its local family stack.

   f.maximize
             This function causes a client window to be displayed with its
             maximum    size.    Refer    to    the     maximumClientSize,
             maximumMaximumSize, and limitResize resources in mwm(1).

   f.menu menu_name
             This function associates a cascading (pull-right) menu with a
             menu pane entry or a menu with a button or key  binding.  The
             menu_name function argument identifies the menu to be used.

   f.minimize
             This   function  causes  a  client  window  to  be  minimized
             (iconified). When a window is minimized with no icon  box  in
             use,  and  if  the lowerOnIconify resource has the value True
             (the default), the icon is placed on the bottom of the window
             stack  (such  that  it obscures no other window).  If an icon
             box is used, then the client's icon changes to its  iconified
             form  inside  the  icon  box.  Secondary  windows  (that  is,
             transient  windows)  are  minimized  with  their   associated
             primary  window.  There is only one icon for a primary window
             and all its secondary windows.

   f.move    This function initiates  an  interactive  move  of  a  client
             window.

   f.next_cmap
             This  function  installs  the  next  colormap  in the list of
             colormaps for the window with the colormap focus.

   f.next_key [ icon | window | transient]
             This function sets the  keyboard  input  focus  to  the  next
             window/icon in the set of windows/icons managed by the window
             manager (the ordering of this set is based on the stacking of
             windows  on the screen). This function is treated as f.nop if
             keyboardFocusPolicy is not explicit. The keyboard input focus
             is  only  moved  to  windows  that  do not have an associated
             secondary window that is application modal. If the  transient
             argument is specified, then transient (secondary) windows are
             traversed (otherwise, if only window is specified,  traversal
             is  done  only  to  the  last  focused  window in a transient
             group). If an icon function argument is specified,  then  the
             function applies only to icons. If a window function argument
             is specified, then the function applies only to windows.

   f.nop     This function does nothing.

   f.normalize
             This function causes a client window to be displayed with its
             normal  size.  Secondary windows (that is, transient windows)
             are placed in their normal state along with their  associated
             primary window.

   f.normalize_and_raise
             This function causes a client window to be displayed with its
             normal size and raised  to  the  top  of  the  window  stack.
             Secondary  windows (that is, transient windows) are placed in
             their  normal  state  along  with  their  associated  primary
             window.

   f.pack_icons
             This  function is used to relayout icons (based on the layout
             policy being used) on the root window or in the icon box.  In
             general this causes icons to be "packed" into the icon grid.

   f.pass_keys
             This  function  is used to enable/disable (toggle) processing
             of  key  bindings  for  window  manager  functions.  When  it
             disables key binding processing all keys are passed on to the
             window with the keyboard input focus and  no  window  manager
             functions are invoked. If the f.pass_keys function is invoked
             with a key binding to disable key binding processing the same
             key binding can be used to enable key binding processing.

   f.post_wmenu
             This  function  is  used to post the window menu. If a key is
             used to post the window menu and  a  window  menu  button  is
             present,  the  window  menu  is automatically placed with its
             top-left corner at the bottom-left corner of the window  menu
             button  for  the  client  window. If no window menu button is
             present, the window menu is placed at the top-left corner  of
             the client window.

   f.prev_cmap
             This  function  installs the previous colormap in the list of
             colormaps for the window with the colormap focus.

   f.prev_key [ icon | window | transient]
             This function sets the keyboard input focus to  the  previous
             window/icon in the set of windows/icons managed by the window
             manager (the ordering of this set is based on the stacking of
             windows  on the screen). This function is treated as f.nop if
             keyboardFocusPolicy is not explicit. The keyboard input focus
             is  only  moved  to  windows  that  do not have an associated
             secondary window that is application modal.  If the transient
             argument is specified, then transient (secondary) windows are
             traversed (otherwise, if only window is specified,  traversal
             is  done  only  to  the  last  focused  window in a transient
             group). If an icon function argument is  specified  then  the
             function  applies  only  to  icons.  If  an  window  function
             argument is specified  then  the  function  applies  only  to
             windows.

   f.quit_mwm
             This function terminates mwm (but NOT the X window system).

   f.raise [-client | within | freeFamily]
             This  function  raises  a  primary  window  to the top of the
             global window stack (where it is obscured by no other window)
             and  raises  the secondary window (transient window or dialog
             box) within the client family. The arguments to this function
             are  mutually  exclusive.  The  client argument indicates the
             name or class of a client to lower.  If  the  client  is  not
             specified,  the  context  that  the  function  was invoked in
             indicates the window or  icon  to  lower.  Specifying  within
             raises  the  secondary  window within the family but does not
             raise  the  client  family  in  the  global   window   stack.
             Specifying  freeFamily  raises  the  window to the top of its
             local family stack and raises the family to the  top  of  the
             global window stack.

   f.raise_lower [ within | freeFamily]
             This  function  raises  a  primary  window  to the top of the
             global window stack if it is partially  obscured  by  another
             window;  otherwise, it lowers the window to the bottom of the
             window stack. The arguments to  this  function  are  mutually
             exclusive. Specifying within raises a secondary window within
             the family (staying  above  the  parent  window),  if  it  is
             partially  obscured  by  another  window in the application's
             family; otherwise, it lowers the window to the bottom of  the
             family  stack. It has no effect on the global window stacking
             order. Specifying freeFamily raises the window to the top  of
             its  local  family  stack, if obscured by another window, and
             raises the family to the top  of  the  global  window  stack;
             otherwise,  it  lowers  the window to the bottom of its local
             family stack and lowers the  family  to  the  bottom  of  the
             global window stack.

   f.refresh This function causes all windows to be redrawn.

   f.refresh_win
             This function causes a client window to be redrawn.

   f.resize  This  function  initiates  an  interactive resize of a client
             window.

   f.restore This function  restores  the  previous  state  of  an  icon's
             associated  window.  If a maximized window is iconified, then
             f.restore restores it to its maximized  state.  If  a  normal
             window  is  iconified,  then  f.restore  restores  it  to its
             normalized state.

   f.restore_and_raise
             This function  restores  the  previous  state  of  an  icon's
             associated  window  and  raises  the window to the top of the
             window stack.  If  a  maximized  window  is  iconified,  then
             f.restore_and_raise  restores  it  to its maximized state and
             raises it to the top of the window stack. If a normal  window
             is  iconified,  then  f.restore_and_raise  restores it to its
             normalized state and raises it  to  the  top  of  the  window
             stack.

   f.restart This   function  causes  mwm  to  be  restarted  (effectively
             terminated and re-executed). Restart is necessary for mwm  to
             incorporate changes in both the mwmrc file and X resources.

   f.screen [ next | prev | back | screen_number]
             This  function  causes  the  pointer to be warp to a specific
             screen number or to  the  next,  previous,  or  last  visited
             (back)  screen.  The  arguments to this function are mutually
             exclusive. The screen_number argument  indicates  the  screen
             number that the pointer is to be warped. Screens are numbered
             starting from screen 0. Specifying next cause the pointer  to
             warp  to the next managed screen (skipping over any unmanaged
             screens). Specifying prev cause the pointer to  warp  to  the
             previous   managed   screen   (skipping  over  any  unmanaged
             screens). Specifying back cause the pointer to  warp  to  the
             last visited screen.

   f.send_msg message_number
             This   function   sends   an   XClientMessageEvent   of  type
             _MOTIF_WM_MESSAGES with message_type set  to  message_number.
             The client message is sent only if message_number is included
             in the client's  _MOTIF_WM_MESSAGES  property.  A  menu  item
             label is grayed out if the menu item is used to do f.send_msg
             of  a  message  that  is  not  included   in   the   client's
             _MOTIF_WM_MESSAGES property.

   f.separator
             This  function  causes a menu separator to be put in the menu
             pane at the specified location (the label is ignored).

   f.set_behavior
             This function causes the window manager to restart  with  the
             default  behavior  (if  a custom behavior is configured) or a
             custom behavior (if a default  behavior  is  configured).  By
             default this is bound to Shift Ctrl Alt <Key>!.

   f.title   This  function  inserts  a  title  in  the  menu  pane at the
             specified location.

   f.version This function  causes  the  window  manager  to  display  its
             release version in a dialog box.

   Function Constraints
   Each function may be constrained as to which resource types can specify
   the function (for  example,  menu  pane)  and  also  what  context  the
   function  can  be  used  in  (for  example, the function is done to the
   selected client window).  Function contexts are:

   root      No client window or icon has been selected as an  object  for
             the function.

   window    A  client  window  has  been  selected  as  an object for the
             function. This includes the window's  title  bar  and  frame.
             Some  functions  are  applied  only when the window is in its
             normalized state (for example, f.maximize) or  its  maximized
             state (for example, f.normalize).

   icon      An icon has been selected as an object for the function.

   If  a  function  is  specified  in  a  type of resource where it is not
   supported or is invoked in a context  that  does  not  apply  then  the
   function  is  treated  as  f.nop.  The  following  table  indicates the
   resource types and function contexts in which window manager  functions
   apply.

   Function                  Contexts                 Resources
   
   f.beep                    root,icon,window         button,key,menu
   f.circle_down             root,icon,window         button,key,menu
   f.circle_up               root,icon,window         button,key,menu
   f.exec                    root,icon,window         button,key,menu
   f.focus_color             root,icon,window         button,key,menu
   f.focus_key               root,icon,window         button,key,menu
   f.kill                    icon,window              button,key,menu
   f.lower                   root,icon,window         button,key,menu
   f.maximize                icon,window(normal)      button,key,menu
   f.menu                    root,icon,window         button,key,menu
   f.minimize                window                   button,key,menu
   f.move                    icon,window              button,key,menu
   f.next_cmap               root,icon,window         button,key,menu
   f.next_key                root,icon,window         button,key,menu

   f.nop                     root,icon,window         button,key,menu
   f.normalize               icon,window(maximized)   button,key,menu
   f.normalize_and_raise     icon,window              button,key,menu
   f.pack_icons              root,icon,window         button,key,menu
   f.pass_keys               root,icon,window         button,key,menu
   f.post_wmenu              root,icon,window         button,key
   f.prev_cmap               root,icon,window         button,key,menu
   f.prev_key                root,icon,window         button,key,menu
   f.quit_mwm                root                     button,key,menu (root only)
   f.raise                   root,icon,window         button,key,menu
   f.raise_lower             icon,window              button,key,menu
   f.refresh                 root,icon,window         button,key,menu
   f.refresh_win             window                   button,key,menu
   f.resize                  window                   button,key,menu
   f.restart                 root                     button,key,menu (root only)
   f.restore                 icon,window              button,key,menu
   f.restore_and_raise       icon,window              button,key,menu
   f.screen                  root,icon,window         button,key,menu
   f.send_msg                icon,window              button,key,menu
   f.separator               root,icon,window         menu
   f.set_behavior            root,icon,window         button,key,menu
   f.title                   root,icon,window         menu
   f.version                 root,icon,window         button,key,menu

WINDOW MANAGER EVENT SPECIFICATION

   Events  are  indicated as part of the specifications for button and key
   binding sets, and menu panes. Button events have the following syntax:

   button =~[modifier_list ]<button_event_name >
   modifier_list =~modifier_name { modifier_name}

   The  following  table  indicates  the  values  that  can  be  used  for
   modifier_name.  Note  that [Alt] and [Meta] can be used interchangeably
   on some hardware.

   Modifier      Description
   
   Ctrl          Control Key
   Shift         Shift Key
   Alt           Alt Key
   Meta          Meta Key
   Mod1          Modifier1
   Mod2          Modifier2
   Mod3          Modifier3
   Mod4          Modifier4
   Mod5          Modifier5

   Locking modifiers are ignored when processing button and key  bindings.
   The  following  table  lists  keys  that  are  interpreted  as  locking
   modifiers.  The X server may map some of these symbols to  the  Mod1  -
   Mod5  modifier  keys.   These  keys may or may not be available on your
   hardware: Key Symbol Caps Lock Shift Lock Kana  Lock  Num  Lock  Scroll
   Lock  The  following  table  indicates  the values that can be used for
   button_event_name.

   Button          Description
   
   Btn1Down        Button 1 Press
   Btn1Up          Button 1 Release
   Btn1Click       Button 1 Press and Release
   Btn1Click2      Button 1 Double Click
   Btn2Down        Button 2 Press
   Btn2Up          Button 2 Release
   Btn2Click       Button 2 Press and Release
   Btn2Click2      Button 2 Double Click
   Btn3Down        Button 3 Press

   Btn3Up          Button 3 Release
   Btn3Click       Button 3 Press and Release
   Btn3Click2      Button 3 Double Click
   Btn4Down        Button 4 Press
   Btn4Up          Button 4 Release
   Btn4Click       Button 4 Press and Release
   Btn4Click2      Button 4 Double Click
   Btn5Down        Button 5 Press
   Btn5Up          Button 5 Release
   Btn5Click       Button 5 Press and Release
   Btn5Click2      Button 5 Double Click

   Key events that are used by the window manager for menu  mnemonics  and
   for  binding  to  window  manager functions are single key presses; key
   releases are ignored. Key events have the following syntax:

   key =~[modifier_list] <Key>key_name
   modifier_list =~modifier_name { modifier_name}

   All modifiers specified are interpreted as being exclusive (this  means
   that  only  the  specified  modifiers can be present when the key event
   occurs).  Modifiers for keys are  the  same  as  those  that  apply  to
   buttons.  The key_name is an X11 keysym name. Keysym names can be found
   in the keysymdef.h file (remove the XK_ prefix).

BUTTON BINDINGS

   The buttonBindings resource value is  the  name  of  a  set  of  button
   bindings  that are used to configure window manager behavior.  A window
   manager function can be done  when  a  button  press  occurs  with  the
   pointer  over  a  framed client window, an icon or the root window. The
   context for indicating where the  button  press  applies  is  also  the
   context  for invoking the window manager function when the button press
   is done (significant for functions that  are  context  sensitive).  The
   button binding syntax is

   Buttons bindings_set_name
   {
       button    context    function
       button    context    function
       ...
       button    context    function
   }

   The  syntax  for  the  context  specification  is:  context  = object[|
   context] object = root | icon | window | title | frame | border  |  app
   The  context  specification indicates where the pointer must be for the
   button binding to be  effective.  For  example,  a  context  of  window
   indicates  that  the  pointer  must  be  over a client window or window
   management frame for the button binding to  be  effective.   The  frame
   context  is  for  the  window  management  frame around a client window
   (including the border and titlebar), the  border  context  is  for  the
   border   part  of  the  window  management  frame  (not  including  the
   titlebar), the title context is  for  the  title  area  of  the  window
   management  frame,  and  the  app context is for the application window
   (not including the window management frame). If an  f.nop  function  is
   specified for a button binding, the button binding is not done.

KEY BINDINGS

   The  keyBindings  resource  value  is the name of a set of key bindings
   that are used to configure window manager behavior.  A  window  manager
   function  can  be done when a particular key is pressed. The context in
   which  the  key  binding  applies  is  indicated  in  the  key  binding
   specification.   The valid contexts are the same as those that apply to
   button bindings. The key binding syntax is:

   Keys bindings_set_name
   {
       key    context    function
       key    context    function
       ...
       key    context    function
   }

   If an f.nop function is specified for a key binding, the key binding is
   not  done. If an f.post_wmenu or f.menu function is bound to a key, mwm
   automatically uses the same key for removing the menu from  the  screen
   after  it  has  been popped up. The context specification syntax is the
   same as for button bindings with one addition. The context ifkey may be
   specified  for  binding keys that may not be available on all displays.
   If the key is not available and  if  ifkey  is  in  the  context,  then
   reporting  of  the  error  message to the error log is suppressed. This
   feature is useful for networked, heterogeneous  environments.  For  key
   bindings,  the frame, title, border, and app contexts are equivalent to
   the window context.  The context for a key event is the window or  icon
   that  has  the  keyboard input focus (root if no window or icon has the
   keyboard input focus).

MENU PANES

   Menus can be popped up using the f.post_wmenu and f.menu window manager
   functions.  The context for window manager functions that are done from
   a menu is root, icon or window depending on how the menu was popped up.
   In  the  case of the window menu or menus popped up with a key binding,
   the location of the keyboard input focus  indicates  the  context.  For
   menus  popped  up  using  a  button  binding, the context of the button
   binding is the context of the menu. The menu pane specification  syntax
   is:

   Menu menu_name
   {
       label  [mnemonic]  [accelerator ]   function
       label  [mnemonic]  [accelerator ]   function
       ...
       label  [mnemonic]  [accelerator ]   function
   }

   Each  line  in  the  Menu specification identifies the label for a menu
   item and the function  to  be  done  if  the  menu  item  is  selected.
   Optionally   a   menu  button  mnemonic  and  a  menu  button  keyboard
   accelerator may be specified. Mnemonics are functional  only  when  the
   menu  is  posted  and  keyboard  traversal  applies. The label may be a
   string or a bitmap file. The  label  specification  has  the  following
   syntax:

   label = text | bitmap_file
   bitmap_file = @file_name
   text = quoted_item | unquoted_item

   The  string  encoding  for labels must be compatible with the menu font
   that is used. Labels are greyed out for menu items that  do  the  f.nop
   function or an invalid function or a function that doesn't apply in the
   current context. A mnemonic specification has the following syntax:

   mnemonic = _ character

   The first matching character in the label is underlined.  If  there  is
   no  matching character in the label, no mnemonic is registered with the
   window manager for that label.  Although  the  character  must  exactly
   match  a  character  in the label, the mnemonic does not execute if any
   modifier (such as  Shift)  is  pressed  with  the  character  key.  The
   accelerator  specification  is  a key event specification with the same
   syntax as is used for key bindings to window manager functions.

INCLUDING FILES

   You may include other files into your mwmrc file by using  the  include
   construct. For example,

   INCLUDE
   {
       /usr/local/shared/mwm.menus
       /home/kmt/personal/my.bindings
   }

   causes  the  files  named  to be read in and interpreted in order as an
   additional part of the mwmrc file. Include is a top-level construct. It
   cannot be nested inside another construct.

WARNINGS

   Errors  that  occur  during  the processing of the resource description
   file are recorded in: $HOME/.mwm/errorlog. Be sure to check  this  file
   if the appearance or behavior of mwm is not what you expect.

FILES

   $HOME/$LANG/.mwmrc
   $HOME/.mwmrc
   /etc/X11/mwm/$LANG/system.mwmrc
   /etc/X11/mwm/system.mwmrc

RELATED INFORMATION

   mwm(1), X(1).

                                                                  mwmrc(4)



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.