We already have some window:. Having both is confusion.
Standardise on window:
Signed-off-by: NeilBrown <neil@brown.name>
from this display), it should generally refuse, as closing the last
display can be awkward.
-## Display:close
+## window:close
This is a request for the display to close - may be rejected if it is
the only display left.
Set any attribute on the display pane.
-The attribute "no-close" affects closing. If a Display:close request
+The attribute "no-close" affects closing. If a window:close request
arrives when "no-close" attribute is a non-empty string, that string
should be reported via a message, and the close should be rejected.
-## Display:external-viewer
+## window:external-viewer
str1 is a filename and str2 is (optionally) a basename template
containing "XXXXXX". An external viewer (typically xdg-open) should be
file is stored, some action might be taken to copy it and provide a
local names, based on str2.
-## Display:fullscreen
+## window:fullscreen
If num1 > 0, display should switch to full-screen mode if possible.
If num1 <= 0, display should switch away from full-screen mode.
-## Display:new
+## window:new
If it is possible to duplicate the display (e.g. similar window on same
output), do that.
Draw:image-size
Draw:image
-## Display management commands
+## Window management commands
-Display:close
+window:close
window:set:no-close
-Display:external-viewer
-Display:fullscreen
-Display:new
+window:external-viewer
+window:fullscreen
+window:new
all-displays
with the ncurses/replay test approach.
- [X] Send global notify before/after refresh. LOG must suspend logging
(or notifications at least) during refresh if is visible anywhere
-- [ ] Do I want "Display" as in "Display:close", or "window" as in
+- [X] Do I want "Display" as in "window:close", or "window" as in
"window:notify". Decide, and make everything consistent.
- [ ] Do I really need global-multicall- or can I just use
notifications.
key_add_prefix(window_map, "window:request:", &request_notify);
key_add_prefix(window_map, "window:notify:", &send_notify);
- key_add(window_map, "Display:close", &window_close);
+ key_add(window_map, "window:close", &window_close);
key_add_prefix(window_map, "window:set:", &window_set);
"attach-display-ncurses");
nc_map = key_alloc();
- key_add(nc_map, "Display:refresh", &force_redraw);
- key_add(nc_map, "Display:close", &nc_close_display);
- key_add(nc_map, "Display:external-viewer", &nc_external_viewer);
+ key_add(nc_map, "window:refresh", &force_redraw);
+ key_add(nc_map, "window:close", &nc_close_display);
+ key_add(nc_map, "window:external-viewer", &nc_external_viewer);
key_add(nc_map, "Close", &nc_close);
key_add(nc_map, "Draw:clear", &nc_clear);
key_add(nc_map, "Draw:text-size", &nc_text_size);
cme->format == 32 &&
cme->window == xd->win &&
cme->data.data32[0] == xd->atoms[a_WM_DELETE_WINDOW]) {
- call("Display:close", pane_leaf(home));
+ call("window:close", pane_leaf(home));
return;
}
xcb_flush(xd->conn);
}
if (xcb_connection_has_error(xd->conn)) {
- call("Display:close", ci->home->parent);
+ call("window:close", ci->home->parent);
pane_close(ci->home);
}
return ret;
xcb_map = key_alloc();
- key_add(xcb_map, "Display:close", &xcb_close_display);
- key_add(xcb_map, "Display:external-viewer", &xcb_external_viewer);
- key_add(xcb_map, "Display:fullscreen", &xcb_fullscreen);
- key_add(xcb_map, "Display:new", &xcb_new_display);
+ key_add(xcb_map, "window:close", &xcb_close_display);
+ key_add(xcb_map, "window:external-viewer", &xcb_external_viewer);
+ key_add(xcb_map, "window:fullscreen", &xcb_fullscreen);
+ key_add(xcb_map, "window:new", &xcb_new_display);
key_add(xcb_map, "Close", &xcb_close);
key_add(xcb_map, "Draw:clear", &xcb_clear);
0, NULL, "attach-menubar");
menubar_map = key_alloc();
- key_add(menubar_map, "Display:border", &menubar_border);
+ key_add(menubar_map, "window:border", &menubar_border);
key_add(menubar_map, "Refresh:size", &menubar_refresh_size);
key_add(menubar_map, "Child-Notify", &menubar_child_notify);
key_add(menubar_map, "Refresh:view", &menubar_refresh);
return;
messageline_map = key_alloc();
key_add(messageline_map, "Clone", &messageline_clone);
- key_add(messageline_map, "Display:border", &messageline_border);
+ key_add(messageline_map, "window:border", &messageline_border);
key_add(messageline_map, "Message", &messageline_msg);
key_add(messageline_map, "Message:modal", &messageline_msg);
key_add(messageline_map, "Message:default", &messageline_msg);
} else {
/* Move point to middle and refresh */
call("Move-View-Line", ci->focus, 0, ci->mark);
- call("Display:refresh", ci->focus);
+ call("window:refresh", ci->focus);
}
call("Mode:set-num2", ci->focus, N2_recentre | (step << 16));
return 1;
{CMD(emacs_simple), "Window:split-x", "K:CX-3"},
{CMD(emacs_simple), "Window:close", "K:CX-0"},
{CMD(emacs_simple), "Window:bury", "K:A-B"},
- {CMD(emacs_simple), "Display:new", "K:CX5-2"},
- {CMD(emacs_simple), "Display:close", "K:CX5-0"},
+ {CMD(emacs_simple), "window:new", "K:CX5-2"},
+ {CMD(emacs_simple), "window:close", "K:CX5-0"},
{CMD(emacs_simple), "lib-server:done", "K:CX-#"},
{CMD(emacs_simple), "mode-swap-mark", "K:CX:C-X"},
{CMD(emacs_simple), "Abort", "K:C-G"},
return 1
def handle_close_window(self, key, focus, **a):
- "handle:Display:close"
+ "handle:window:close"
nc = self['no-close']
if nc:
focus.call("Message", nc)
return 1
def handle_fullscreen(self, key, num, **a):
- "handle:Display:fullscreen"
+ "handle:window:fullscreen"
if num > 0:
self.win.fullscreen()
else:
return 1
def handle_new(self, key, focus, **a):
- "handle:Display:new"
+ "handle:window:new"
newdisp = EdDisplay(edlib.editor, self['DISPLAY'])
p = newdisp.call("editor:activate-display", ret='pane')
if p:
return 1
def handle_external(self, key, str, **a):
- "handle:Display:external-viewer"
+ "handle:window:external-viewer"
disp = self['DISPLAY']
if not str or not disp:
return edlib.Enoarg
# This must not happen. What should I do?
def close_win(self, *a):
- self.call("Display:close")
+ self.call("window:close")
return True
def destroy_win(self, *a):
- self.parent("Display:close")
+ self.parent("window:close")
return False
def create_ui(self):
if not msg :
if self.disp:
- self.disp.call("Display:close")
+ self.disp.call("window:close")
if self.sock:
self.sock.close()
self.sock = None
if cmd == "close":
if self.disp:
self.disp.call("window:set:no-close")
- self.disp.call("Display:close")
+ self.disp.call("window:close")
self.disp = None
self.call("event:free", self.read)
self.sock.close()
self.doc = None
if self.term:
self.term.call("window:set:no-close")
- self.term.call("Display:close")
+ self.term.call("window:close")
self.sock.send(b"Done")
return 1
if str != "test":
if self.term:
self.term.call("window:set:no-close")
- self.term.call("Display:close")
+ self.term.call("window:close")
self.sock.send(b"Done")
return 1
self.sock.close()
self.sock = None
if self.disp:
- self.disp.call("Display:close")
+ self.disp.call("window:close")
self.disp = None
global server_sock
if url:
focus.call("Message", "Url: <%s>" % url)
if self.displayed_tag == tag:
- focus.call("Display:external-viewer", url)
+ focus.call("window:external-viewer", url)
self.displayed_tag = tag
else:
focus.call("Message", "URL tag %s not found" % tag)
fd, path = tempfile.mkstemp(ext, prefix)
os.write(fd, content)
os.close(fd)
- focus.call("Display:external-viewer", path, prefix+"XXXXX"+ext)
+ focus.call("window:external-viewer", path, prefix+"XXXXX"+ext)
return 1
def handle_map_attr(self, key, focus, mark, str, str2, comm2, **a):
"handle:K:A-f"
if self.borderless:
self.call("Window:border", 1)
- self.call("Display:border", 1)
- self.call("Display:fullscreen", -1)
+ self.call("window:border", 1)
+ self.call("window:fullscreen", -1)
self.borderless = False
else:
self.call("Window:border", -1)
- self.call("Display:border", -1)
- self.call("Display:fullscreen", 1)
+ self.call("window:border", -1)
+ self.call("window:fullscreen", 1)
self.borderless = True
return 1
return 1
def handle_refresh(self, key, focus, mark, **a):
- "handle:Display:refresh"
+ "handle:window:refresh"
# Refresh causes presentation page to recenter
# page-down just moves down to start of next page.
focus.call("doc:notify:doc:Recentre", mark)