📄 themes.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html><head> <title>GKrellM Themes Reference</title></head><body background="paper1.gif"><h2 align=center>GKrellM Themes Reference</h2><a href="Changelog-themes.html" name="Changelog-themes.html">Changelog-themes</a> <br><h3>Intro</h3><blockquote>The GKrellM structure is a framed stack of monitors and there are twomonitor types, Charts and Meters, which have background images appliedto drawing areas. Charts have two drawing areas, the chart area and thepanel area. Meters have one drawing area, the meter area.Most theme images and options are applied at this level and many canbe specified to apply to a particular Chart or Meter monitor.<pre> _______________________ |_____________________|<- frame | | | | . . | |-----------------| | | | | | Chart Monitor | | chart area | | | | | | | |-----------------| | | | panel area | | | |-----------------| | . . . . | |-----------------| | | | meter area | | Meter Monitor | |-----------------| | . . |_|_________________|_| |_____________________|</pre>A theme is a directory containing theme images. A theme directory may beany of several locations:<pre> ~/.gkrellm2/themes/THEME_NAME/ /usr/local/share/gkrellm2/themes/THEME_NAME/ /usr/share/gkrellm2/themes/THEME_NAME/ /usr/share/themes/THEME_NAME/gkrellm2/ ~/.themes/THEME_NAME/gkrellm2/</pre>The last two locations require gkrellm >= 2.1.16 and are compatible with gtk2theme locations. They areconvenient for installation when making a meta theme including gtk2, gkrellm2,and possibly other themes. The <i>/usr/share/themes/</i> directory componentmay actually be something different depending on how gtk2 was installed.<p>If a"<b>gkrellmrc</b>" file exists in a theme directory, it is parsed for themespecific settings such as borders, margins, colors, and krell parameters.The theme directory also has images for the frame, background images foreach of the drawing areas, and detail images (decals and krells) whichare drawn on panel and meter areas.</blockquote><h3>Terminology</h3><blockquote>Chart monitor - A monitor type which has two background areas - achart area with a bg_chart image as a background, and a panel areawith a bg_panel image as a background. Labels, decals, and krellsare drawn in panel areas.<p>Meter monitor - A monitor type which has a single background area type - ameter area with a bg_meter image as a background. Labels, decals,and krells are also drawn in meter areas. A meter monitor may have multiplemeter areas vertically stacked.<p>Decals are pixmap graphics or text elements such as LEDs, button images,toggling labels, etc. usually placed in fixed locations in panel or meterareas. These may have transparency and may overlap.<p>Krells are pixmap graphics which are programatically moved horizontallyacross the face of a panel or meter area. They implement meter indicatormovements, moving animations, and slider controls. Krells may havetransparency and they usually move over decals.</blockquote><h3>Image Structure</h3><blockquote>All theme images are either base level images which are in the toplevelof the theme directory, or monitor specific theme images which are placedin subdirectories of the toplevel. All base level images have a defaultwhich will be used if it is not provided in a theme.<p>Excluding detail and optional images (see below), here is the base set ofimages required for a theme change in GKrellM (.png used as an example).<pre> F : frame_top.png f : frame_bottom.png : frame_left.png : frame_right.png c : bg_chart.png a chart area background p : bg_panel.png a panel area background m : bg_meter.png a meter area background : bg_grid.png a chart area background grid line : bg_separator.png a chart area data view separator</pre>This is a side section view showing how these images are used to buildGKrellM. frame_left/right and bg_grid are not shown and not allmonitors are shown.<pre> |<--Meters->|<--------Charts----------|<--------Meters---------->| | | Cal | Clk | CPU Chart | PPP Chart |Timer| Mem | Swap | FS | | | | | | | | | | | | | | | o-o\___/-\___/-\______/-----\______/-----\___/-\____/-\____/-\____/o-o | | | | | | | | | | | | | F m m c p c p m m m m f</pre>The last row shows where background images are applied to the monitors.</blockquote><h3>Theme Image Names</h3><blockquote>The background areas, krells, or some monitor detail images can havea monitor specific custom image substituted for the base level defaultimage. For a custom image to take effect, it only has to exist in themonitor specific subdirectory.<p>Here is a list showing the image naming structure in a theme directory. Images may be .png as shown or .jpg or .xpm.<h4>Base level images in the top level of the theme directory</h4><pre>frame_top.pngframe_bottom.pngframe_left.pngframe_right.png--------------------bg_chart.pngbg_grid.pngbg_separator.pngbg_panel.pngbg_meter.png--------------------button_panel_in.pngbutton_panel_out.pngbutton_meter_in.pngbutton_meter_out.png--------------------krell_panel.pngkrell_meter.pngkrell_slider.png--------------------decal_misc.pngdecal_button.png-------------------- (optional images for plotting data)data_in.pngdata_in_grid.pngdata_out.pngdata_out_grid.png-------------------- (optional images separating monitors) (Spacer images in the top level dir is new in GKrellM 2.1.0 and 1.3.0)spacer_top.pngspacer_bottom.pngspacer_top_chart.pngspacer_bottom_chart.pngspacer_top_meter.pngspacer_bottom_meter.png-------------------- (optional frame images aligned with the top and bottom of monitors) (These are new in GKrellM version 2.1.0 and 1.3.0)cap_top_left_chart.pngcap_bottom_left_chart.pngcap_top_right_chart.pngcap_bottom_right_chart.pngcap_top_left_meter.pngcap_bottom_left_meter.pngcap_top_right_meter.pngcap_bottom_right_meter.png</pre><h4>Custom images in the theme subdirectories</h4>Builtin Chart monitor theme subdirectories are:<br>        <i>cpu, disk, inet, net, proc</i><br>Builtin Meter monitor theme subdirectories are:<br>        <i>apm, cal, clock, fs, host, mail,mem, timer, uptime </i> <br>The Battery monitor was originally named APM and the theme subdirectoryfor it remains "apm" to avoid breaking themes.<p>Plugins will each have their own theme subdirectory which can bedetermined from the plugin documentation.<p>All builtin or plugin Chart monitor theme subdirectories may have thecustom images:<pre> bg_chart.png bg_grid.png bg_panel.png krell.png spacer_top.png spacer_bottom.png</pre>All builtin or plugin Meter monitor theme subdirectories may have thecustom images (however, not all may use the krell.png):<pre> bg_meter.png (bg_panel.png is accepted for convenience) krell.png spacer_top.png spacer_bottom.png</pre>In addition to the above custom images, each builtin or plugin mayhave additional images which are extension to the theme. And theymay also accept custom Style, integer, string, or image border settingsin the gkrellmrc. Plugins should document what these images andcustom settings are and how they are used. The builtin theme gkrellmrcsettings will be listed later in the gkrellmrc section, while the builtinimage extensions are listed here:<pre>cpu: cpu/nice.png cpu/nice_grid.pngnet: net/decal_net_leds.pngmail: mail/decal_mail.png mail/krell_penguin.pngmem: mem/krell_buffers.png mem/krell_cache.pngsensors: sensors/bg_volt.pngtimer: timer/decal_timer_button.png timer/bg_timer.png</pre></blockquote><h3>Theme Image Descriptions</h3><blockquote><h4>Background images</h4><ul><li>frame_top.png<br> The rendered height can be set with frame_top_height and a border specified with frame_top_border in gkrellmrc. Transparency is allowed.</li><li>frame_bottom.png<br> The rendered height can be set with frame_bottom_height and a border specified with frame_bottom_border in gkrellmrc. Transparency is allowed.</li><li>frame_left.png<br> The rendered width can be set with frame_left_width and a border specified with frame_left_border in gkrellmrc. Transparency is allowed.</li><li>frame_right.png<br> The rendered width can be set with frame_right_width and a border specified with frame_right_border in gkrellmrc. Transparency is allowed.</li><li>bg_chart.png<br> The background image for the chart area of a chart monitor. A border for this image can be set in the gkrellmrc. To provide custom backgrounds for specific chart monitors, theme subdirectories may have a custom version of this image.</li><li>bg_grid.png<br> This is a 1 or 2 pixel high image which is pasted onto a bg_chart background image to show grid lines. Use it to get nice etched grid lines. It should balance the requirement that it be visible yet not distract the eye from the data that is plotted on the chart. Monitor subdirectories may have a custom version of this image.</li><li>bg_separator<br> The user may optionally split Charts into data views. Data views on a chart will be separated by this image. It will be rendered to bg_separator_height (specified in the gkrellmrc), which should probably be 2 pixels high.</li><li>bg_panel.png<br> The background image for the panel area of a chart monitor. A border for this image can be set in the gkrellmrc. Monitor subdirectories may have a custom version of this image.</li><li>bg_meter.png<br> The background image for the meter areas of meter monitors. A border for this image can be set in the gkrellmrc. Meter monitor subdirectories may have a custom version of this image which for convenience may be named bg_panel.png.</li></ul><h4>Detail images</h4>The default theme images will be used for any of these which do notexist in your theme directory.<ul><li>button_panel_out.png</li><li>button_panel_in.png<br> These are images for a button type where the images for it are displayed only when the panel area where they exist has the mouse. When this button appears, it is an overlay on a label (or decal) to emphasize that the label has been assigned button status for launching a command. Since the button is an overlay, it ideally should be a 1 - 3 pixel highlighting border surrounding a transparent interior (see the default theme implementation), but it could be a semi-transparent special effect image depending on the theme. If these images do not exist in your theme then the button overlay will be constructed with a default gray color and may or may not look good with your theme. Set the border sizes for these images in the gkrellmrc with the button_panel_border option.</li><li>button_meter_out.png</li><li>button_meter_in.png<br> Same as for button_panel except for overlay buttons in a meter area. Set the border with the button_meter_border option in the gkrellmrc. If your bg_meter is similar to bg_panel, then these can be copies of the button_panel_in/out images.</li><li>krell_panel.png<br> A vertical stack of krell frames. See the Tips and Comments below. These are used in the bg_panel areas and are intended to be used as fast response indicators on chart monitors. The default depth is 4, although the middle two frames are identical. If you make a custom krell_panel, you must tell GKrellM the depth in the gkrellmrc file if it is different from the default. Chart monitor subdirectories may have a custom version of this image, which should be named krell.png</li><li>krell_meter.png<br> A vertical stack (default depth 1) of krells used in the bg_meter area of meter monitors. If you make a custom krell_meter, you must tell GKrellM the depth in the gkrellmrc file if it is different from the default. Meter monitor subdirectories may have a custom version of this image, which should be named krell.png</li><li>krell_slider.png<br> A vertical stack (default depth 7) of krells used in the bg_panel or bg_meter areas of chart or meter monitors. If you make a custom krell_slider, you must tell GKrellM the depth in the gkrellmrc file if it is different from the default.</li><li>decal_alarm.png<br> A vertical stack of images that are cycled through when an alarm is triggered. These images are usually placed behind a text decal to highlight the value that has triggered the alarm. If you don't have sensor voltage monitoring or the Battery monitor to play with, run "gkrellm -demo" and you will be able to set Battery alerts and see the decal_alarm and decal_warn in action. Set the number of frames this image has in the gkrellmrc:<br>      decal_alarm_frames n
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -