~aleteoryx/TabbDE

b733a5568e2b746bb15804f57b07b95b033d3b36 — aleteoryx a month ago 0e2a531 master
roadmap, more core proto
2 files changed, 91 insertions(+), 10 deletions(-)

A design/roadmap
M proto/uri_shell.xml
A design/roadmap => design/roadmap +61 -0
@@ 0,0 1,61 @@
Tasks
=====
- fill out urish_surface
- create uri_shell_modals sister protocol
- begin work on proper implementation of a reference wm
- settings management

Schemas to specify and implement
================================
web:
  http
  https
  gopher
  gemini
  spartan
  ftp
  sftp
  rsync
  ipfs
  smb
  nfs
  git
  dns
  magnet
net:
  tcp
  udp
  raw
  unix
util:
  file
  zip
  tar
shell:
  telnet
  ssh
  exec
app:
  irc
  ircs
  xmpp
  matrix
  mailto
  tel
  imap
  imaps
  pop
  pops
  smtp
  smtps
  message
internal:
  system
  settings
  debug
  chrome
  about
special:
  data
  javascript (this will require special protocol support!)
  blob

M proto/uri_shell.xml => proto/uri_shell.xml +30 -10
@@ 45,10 45,10 @@
    </request>

    <request name="open_read">
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
    </request>
    <request name="open_write">
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
      <arg name="mime_type" type="string" />
      <arg name="data" type="fd" />
    </request>


@@ 67,12 67,12 @@
      
    <event name="read_request">
      <arg name="response" type="new_id" interface="urish_response" />
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
      <arg name="flags" type="uint" enum="request_flags" />
    </event>
    <event name="write_request">
      <arg name="response" type="new_id" interface="urish_response" />
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
      <arg name="flags" type="uint" enum="request_flags" />
      <arg name="mime_type" type="string" />
      <arg name="data" type="fd" />


@@ 88,7 88,7 @@
  <interface name="urish_renderer" version="1">
    <event name="render">
      <arg name="response" type="new_id" interface="urish_response" />
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
      <arg name="flags" type="uint" enum="render_flags" />
      <arg name="mime_type" type="string" />
      <arg name="data" type="fd" />


@@ 111,7 111,6 @@
      <arg name="chain" type="new_id" interface="urish_chain" />
    </request>
    <request name="error" type="destructor">
      <arg name="page" type="new_id" interface="urish_page" />
      <arg name="title" type="string" />
      <arg name="message" type="string" />
    </request>


@@ 150,6 149,9 @@
      <arg name="mime_type" type="string" />
      <arg name="data" type="fd" />
    </request>
    <request name="cancel" type="destructor">
      <arg name="new_response" type="object" interface="urish_response" />
    </request>

    <event name="metadata_int">
      <arg name="field" type="string" />


@@ 186,23 188,41 @@
    <request name="refresh" type="destructor" />
    <request name="hard_refresh" type="destructor" />

    <!-- link -->
    <request name="navigate_read" type="destructor">
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
    </request>
    <request name="navigate_write" type="destructor">
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
      <arg name="mime_type" type="string" />
      <arg name="data" type="fd" />
    </request>

    <!-- new tab -->
    <request name="open_read">
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
    </request>
    <request name="open_write">
      <arg name="url" type="string" />
      <arg name="uri" type="string" />
      <arg name="mime_type" type="string" />
      <arg name="data" type="fd" />
    </request>

    <!-- as in, fork the renderer chain -->
    <request name="fork" type="destructor">
      <arg name="new_response" type="object" interface="urish_response" />
    </request>

    <!-- this exists to facilitate bookmarklets -->
    <request name="enable_intercept">
      <arg name="scheme" type="string" />
    </request>
    <request name="disable_intercept">
      <arg name="scheme" type="string" />
    </request>
    <event name="intercept">
      <arg name="uri" type="string" />
    </event>
  </interface>

  <interface name="urish_surface" version="1">