2 * Copyright (c) 1990, 2011, Oracle and/or its affiliates. All rights reserved.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
31 static void print_xcolors(XColor
*colors
, int ncolors
);
35 ** Print contents of workspace colors file in human readable form.
45 filename
= comp_colors_filename(basename_arg
);
46 if ((f
= fopen(filename
, "r")) == NULL
)
47 fatal_error("cannot open file '%s' for reading\n", filename
);
49 /* Check magic number and version */
57 if (!cmc_read(f
, &scr_num
, &ncolors
, &colors
))
60 printf("Screen %s.%d\n", XDisplayName(display_name
), scr_num
);
61 printf("%d saved colors\n", ncolors
);
63 print_xcolors(colors
, ncolors
);
72 print_xcolors (XColor
*colors
, int ncolors
)
79 for (c
= colors
; c
< colors
+ ncolors
; c
++) {
80 planes
= c
->red
| c
->green
| c
->blue
;
81 for(i
= 4; i
> 1 && (planes
&0xf)==0; i
--) {
87 printf("#%0*x%0*x%0*x\n", i
, c
->red
, i
, c
->green
, i
, c
->blue
);