X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/f0067611f158e424e19d4d9f7e0c43b559ae633d..595195a10e5dd568bf249f5fb6778ae3d7037cd5:/doc/emacs/misc.texi diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 03e6613770..5786bc4070 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2015 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @iftex @@ -604,6 +604,28 @@ using the command @kbd{M-x eww-open-file}. You can use EWW as the web browser for @code{browse-url}, @pxref{Browse-URL}. For full details, @pxref{Top, EWW,, eww, The Emacs Web Wowser Manual}. +@node Embedded WebKit Widgets +@section Embedded WebKit Widgets +@cindex xwidget +@cindex webkit widgets +@cindex embedded widgets + +@findex xwidget-webkit-browse-url +@findex xwidget-webkit-mode +@cindex Xwidget-WebKit mode + If Emacs was compiled with the appropriate support packages, it is +able to show browser widgets in its buffers. The command @kbd{M-x +xwidget-webkit-browse-url} asks for a URL to display in the browser +widget. The URL normally defaults to the URL at or before point, but +if there is an active region (@pxref{Mark}), the default URL comes +from the region instead, after removing any whitespace from it. The +command then creates a new buffer with the embedded browser showing +the specified URL. The buffer is put in the Xwidget-WebKit mode +(similar to Image mode, @pxref{File Conveniences}), which provides +one-key commands for scrolling the widget, changing its size, and +reloading it. Type @w{@kbd{C-h b}} in that buffer to see the key +bindings. + @node Shell @section Running Shell Commands from Emacs @cindex subshell @@ -761,6 +783,10 @@ advancing point, and any terminal input for the subshell comes from text in the buffer. To give input to the subshell, go to the end of the buffer and type the input, terminated by @key{RET}. + By default, when the subshell is invoked interactively, the +@file{*shell*} buffer is displayed in a new window. This behavior can +be customized via @code{display-buffer-alist} (@pxref{Window Choice}). + While the subshell is waiting or running a command, you can switch windows or buffers and perform other editing in Emacs. Emacs inserts the output from the subshell into the Shell buffer whenever it has @@ -1191,7 +1217,7 @@ submit the copy as input with @key{RET}. If you wish, you can edit the copy before resubmitting it. If you use this command on an output line, it copies that line to the end of the buffer. -@item Mouse-2 +@item mouse-2 If @code{comint-use-prompt-regexp} is @code{nil} (the default), copy the old input command that you click on, inserting the copy at the end of the buffer (@code{comint-insert-input}). If @@ -1200,7 +1226,7 @@ not over old input, just yank as usual. @end table Moving to a previous input and then copying it with @kbd{C-c -@key{RET}} or @kbd{Mouse-2} produces the same results---the same +@key{RET}} or @kbd{mouse-2} produces the same results---the same buffer contents---that you would get by using @kbd{M-p} enough times to fetch that previous input from the history list. However, @kbd{C-c @key{RET}} copies the text from the buffer, which can be different @@ -1554,6 +1580,44 @@ option. @xref{Initial Options}. When Emacs is started this way, it calls @code{server-start} after initialization, and returns control to the calling terminal instead of opening an initial frame; it then waits in the background, listening for edit requests. + +@cindex socket activation, systemd, Emacs +@item +An external process can invoke the Emacs server when a connection +event occurs upon a specified socket and pass the socket to the new +Emacs server process. An instance of this is @command{systemd}'s +socket functionality: the @command{systemd} service creates a socket and +listens for connections on it; when @command{emacsclient} connects to +it for the first time, @command{systemd} can launch the Emacs server +and hand over the socket to it for servicing @command{emacsclient} +connections. A setup to use this functionality could be: + +@file{~/.config/systemd/user/emacs.service}: +@example +[Unit] +Description=Emacs + +[Service] +Type=forking +ExecStart=/path/to/emacs --daemon +ExecStop=/path/to/emacsclient --eval "(kill-emacs)" +Restart=always + +[Install] +WantedBy=default.target +@end example + +@file{~/.config/systemd/user/emacs.socket}: +@example +[Socket] +ListenStream=/path/to/.emacs.socket + +[Install] +WantedBy=sockets.target +@end example + +The @code{ListenStream} path will be the path that Emacs listens for +connections from @command{emacsclient}; this is a file of your choice. @end itemize @cindex @env{TEXEDIT} environment variable @@ -2071,7 +2135,7 @@ You can also type @kbd{M-x pr-interface @key{RET}}; this creates a @file{*Printing Interface*} buffer, similar to a customization buffer, where you can set the printing options. After selecting what and how to print, you start the print job using the @samp{Print} button (click -@kbd{Mouse-2} on it, or move point over it and type @key{RET}). For +@kbd{mouse-2} on it, or move point over it and type @key{RET}). For further information on the various options, use the @samp{Interface Help} button. @@ -2580,8 +2644,8 @@ typing @kbd{M-x goto-address-mode}. When this buffer-local minor mode is enabled, it finds all the URLs in the buffer, highlights them, and turns them into clickable buttons. You can follow the URL by typing @kbd{C-c @key{RET}} (@code{goto-address-at-point}) while point is on -its text; or by clicking with @kbd{Mouse-2}, or by clicking -@kbd{Mouse-1} quickly (@pxref{Mouse References}). Following a URL is +its text; or by clicking with @kbd{mouse-2}, or by clicking +@kbd{mouse-1} quickly (@pxref{Mouse References}). Following a URL is done by calling @code{browse-url} as a subroutine (@pxref{Browse-URL}). @@ -2654,12 +2718,12 @@ point (@code{dired-at-point}). @code{ffap-dired-other-frame}, analogous to @code{dired-other-frame}. @item M-x ffap-next Search buffer for next file name or URL, then find that file or URL. -@item S-Mouse-3 -@kindex S-Mouse-3 @r{(FFAP)} +@item S-mouse-3 +@kindex S-mouse-3 @r{(FFAP)} @code{ffap-at-mouse} finds the file guessed from text around the position of a mouse click. -@item C-S-Mouse-3 -@kindex C-S-Mouse-3 @r{(FFAP)} +@item C-S-mouse-3 +@kindex C-S-mouse-3 @r{(FFAP)} Display a menu of files and URLs mentioned in current buffer, then find the one you select (@code{ffap-menu}). @end table