Patch title: Release 94 bulk changes
Abstract:
File: /pliant/graphic/browser/sample/run.pli
Key:
    Removed line
    Added line
# pliant 'precompile /binary/browser.dump module /pliant/graphic/browser/client/main.pli' module /pliant/graphic/browser/sample/run.pli command run_both
# pliant 'precompile /binary/rip.dump module /pliant/graphic/image/rip.pli' module /pliant/graphic/browser/sample/run.pli command run_both

# pliant 'precompile /binary/rip.dump module /pliant/graphic/image/rip.pli' module /pliant/graphic/browser/sample/run.pli command run_server
# PLIANT_ROOT=/second pliant 'precompile /binary/rip.dump module /pliant/graphic/image/rip.pli' module /pliant/graphic/browser/sample/run.pli command run_client


module "/pliant/language/unsafe.pli"
module "/pliant/language/context.pli"

module "/pliant/graphic/browser/server/main.pli"
module "/pliant/util/pml/multiplexer.pli"
module "/pliant/language/stream/loopback.pli"
module "/pliant/graphic/browser/client/main.pli"

module "/pliant/graphic/browser/server/api.pli"
module "test.pli"
module "filemanager.pli"
module "editor.pli"
module "document.pli"
module "status.pli"

constant service_test true
constant service_http false
constant service_floppy false


if service_floppy
  module "/pliant/linux/kernel/device.pli"
  module "/pliant/linux/kernel/module.pli"
  module "/pliant/admin/file.pli"

if service_http
  module "/pliant/protocol/http/server.pli"
  http_server port 8080 secured detached

browser_page "/"
  window main
    text "Welcome"
    if user_name<>""
      text " "+user_name
    text " on '"+computer_fullname+"'."
  window left
    button "test" key "alt t" stretch
      url_call "/test"
    eol
    button "documents" key "alt d" stretch
      url_call "/document/"+computer_fullname+"/document/root/"
    eol
    button "files" key "alt f" help "See and edit disk files" stretch
      url_call "/file/"
    eol
    button "status" key "alt s" over stretch
      if over_on
        section_overwrite "help"
          text "Display controls about the computer"
      eif over_off
        section_overwrite "help"
          void
      else
        url_call "/status/"
    if service_test
      eol
      button "bug" key "alt b" over stretch help "Shortcut to test some browser bugs."
        url_call "/file/tmp/console"
    if service_floppy
      eol
      button "floppy" key "alt f" over stretch help "Build boot floppy."
        kernel_load_module "floppy"
        kernel_make_device "device:/fd0"
        file_copy "file:/backup/floppy.dd" "device:/fd0" reduced
  window bottom
    section "help"
      void

browser_page "/file"
  if (url url:len-1 1)="/"
    file_manager "file:"+subpath
  else
    text_editor "file:"+subpath

browser_page "/document/"
  if (subpath parse any "/" any "/" any "/" any)
    document_editor "/"+subpath
  else
    url_return

browser_page "/windows_manager"
  window right
    para
      text "Help"
  window main
    title "Pliant browser documentation"
    para
      text "The Pliant browser enables you to open 12 sessions at once." ; eol
      text "The browser screen center can be divided in up to four parts, enabling you to view up to four sessions simultaneously." ; eol
      text "The top, left and bottom parts of the screen display information about the current session, so they change each time you switch to another session." ; eol
      text "The right part of the screen always displays information about the window manager session." ; eol
    para
      text "When you start the browser, session 1 is the current session and displays your home page." ; eol
      text "Session 12 is always running the window manager." ; eol
    para
      text "Below we list the various special keys used by the Pliant browser and their respective meanings:" ; eol
    style (tabme border_size 0.3 padding 1)
      table
        row
          cell
            text "Key"
          cell
            text "Action"
        row
          cell
            text "Shift + F1 ... F11"
          cell
            text "Duplicates current session on session 1 .. 11"
        row
          cell
            text "Ctrl + F1 ... F12"
          cell
            text "Switches to session 1 ... 12"
        row
          cell
            style (table border_size 0)
              table
                row
                  cell
                    void
                  cell
                    text "Q"
                  cell
                    text "W"
                  cell
                    text "E"
                row
                  cell
                    text "Ctrl + "
                  cell
                    text "A"
                  cell
                    text "S"
                  cell
                    text "D"
                row
                  cell
                    void
                  cell
                    text "Z"
                  cell
                    text "X"
                  cell
                    text "C"
          cell
            text "Defines which part of the screen the current session is using." ; eol
            text "As an example, Ctrl + A means current session will use only the left side of the screen, and Ctrl + S means the current session will use all the screen." ; eol
            style (text scale 8/72*25.4)
              eol ; text "If your keyboard layout is not QWERTY, then the letters will not be the ones listed here, but the 9 letters of the leftmost 3x3 letters square of your keyboard."
        row
          cell
            text "Ctrl + "
            italic
              text "an_arrow"
          cell
            text "Changes the position of the middle of the screen."
        row
          cell
            text "Ctrl + i"
          cell
            text "Zoom in."
        row
          cell
            text "Ctrl + o"
          cell
            text "Zoom out."
        row
          cell
            text "Ctrl + escape"
          cell
            text "Forces screen high quality redraw."
        row
          cell
            text "Alt + "
            italic
              text "any_letter"
          cell
            text "Toggles the button which has the selected yellow-painted key."


function run_server
  browser_server
  multiplexer_server
  console "Pliant browser server is running." eol
  while true
    sleep 2

function run_clear_client
  browser_client "url [dq]tcp://debian.heliogroup.fr/[dq] windows_manager [dq]tcp://debian.heliogroup.fr/windows_manager[dq] login [dq]hubert.tonneau[dq] [dq]dc2f1e[dq]"

function run_secured_client
  browser_client "url [dq]host://debian.heliogroup.fr/[dq] windows_manager [dq]host://debian.heliogroup.fr/windows_manager[dq] login [dq]hubert.tonneau[dq] [dq]dc2f1e[dq]"

function run_both
  browser_server
  multiplexer_port "loopback:/server/browser" "loopback:/client/browser"
  sleep 0.1
  browser_client "url [dq]loopback:/[dq] windows_manager [dq]loopback:/windows_manager[dq]"

function run_fullscreen
  browser_server
  multiplexer_port "loopback:/server/browser" "loopback:/client/browser"
  sleep 0.1
  browser_client "url [dq]loopback:/[dq] fullscreen windows_manager [dq]loopback:/windows_manager[dq]"

export run_server run_clear_client run_secured_client run_both run_fullscreen