[43f91c]: inst / zenity_text_info.m Maximize Restore History

Download this file

zenity_text_info.m    55 lines (49 with data), 1.9 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
## Copyright (C) 2006 Sřren Hauberg <soren@hauberg.org>
##
## This program is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free Software
## Foundation; either version 3 of the License, or (at your option) any later
## version.
##
## This program is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
## details.
##
## You should have received a copy of the GNU General Public License along with
## this program; if not, see <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
## @deftypefn {Function File} @var{s} = zenity_text_info(@var{title}, @var{text}, @var{editable})
## Display a large amount of text in a graphical display.
## The title of the display window is set with the variable @var{title},
## and the actual text ti display is set with the variable @var{text}.
## If the optional argument @var{editable} is given the displayed text
## is editable. In this case the altered text is returned from the function.
##
## @seealso{zenity_calendar, zenity_list, zenity_progress, zenity_entry, zenity_message,
## zenity_file_selection, zenity_notification}
## @end deftypefn
function s = zenity_text_info(title, text, editable)
if (nargin < 2 || !ischar(title) || !ischar(text))
print_usage();
endif
if (nargin < 3)
editable = "--editable";
else
editable = "";
endif
filename = tmpnam();
fid = fopen(filename, "w");
fprintf(fid, "%s", text);
fclose(fid);
cmd = sprintf('zenity --text-info --title="%s" --filename="%s" %s', title, filename, editable);
[status, output] = system(cmd);
unlink(filename);
if (status == 0)
s = output;
elseif (status == 1)
s = "";
else
error("zenity_text_info: %s", output);
endif
endfunction