added own_window_type config item
authorPhilip Kovacs <pkovacs@users.sourceforge.net>
Wed, 8 Mar 2006 22:17:27 +0000 (22:17 +0000)
committerPhilip Kovacs <pkovacs@users.sourceforge.net>
Wed, 8 Mar 2006 22:17:27 +0000 (22:17 +0000)
git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky@568 7f574dfc-610e-0410-a909-a81674777703

README
doc/config_settings.xml
doc/conky.1
doc/conkyrc.sample
src/conky.c
src/conky.h
src/x11.c
vim/syntax/conkyrc.vim

diff --git a/README b/README
index c79a55c..4d2a99f 100644 (file)
--- a/README
+++ b/README
@@ -283,6 +283,14 @@ CONFIGURATION SETTINGS
              Boolean, set pseudo-transparency?
 
 
+       own_window_type
+             if own_window is yes, you may specify  type  normal  or  desktop
+             (default:  normal).   Desktop  windows  are special windows that
+             have no window decorations; are always visible on your  desktop;
+             do  not  appear  in your pager or taskbar; and are sticky across
+             all workspaces.
+
+
        own_window_colour colour
              If own_window_transparent no, set a specified background  colour
              (defaults  to  black).  Takes  either a hex value (#ffffff) or a
@@ -291,7 +299,8 @@ CONFIGURATION SETTINGS
 
        own_window_hints undecorated,below,above,sticky,skip_taskbar,skip_pager
              If own_window is yes, you may use these window manager hints  to
-             affect the way conky displays
+             affect the way conky displays.  Note: own_window_type desktop is
+             another way to implement many of these hints.
 
 
        out_to_console
@@ -307,7 +316,7 @@ CONFIGURATION SETTINGS
 
 
        total_run_times
-             Total  number of times for Conky to update before quitting. Zero
+             Total number of times for Conky to update before quitting.  Zero
              makes Conky run forever
 
 
@@ -335,7 +344,7 @@ CONFIGURATION SETTINGS
 
        xmms_player
              Use specified player/plugin for the xmms status variables. Valid
-             items  are: none, xmms, bmp, audacious and infopipe. (default is
+             items are: none, xmms, bmp, audacious and infopipe. (default  is
              none). Note that bmpx is currently handled separately.
 
 
@@ -343,7 +352,7 @@ CONFIGURATION SETTINGS
 
 
 VARIABLES
-       Colors are parsed using XParsecolor(), there might be a list  of         them:
+       Colors  are  parsed using XParsecolor(), there might be a list of them:
        /usr/X11R6/lib/X11/rgb.txt.   Also,   http://sedition.com/perl/rgb.html
        [http://sedition.com/perl/rgb.html].  Color can be also in #rrggbb for-
        mat (hex).  Note that when displaying bytes, power is 1024 and not 1000
@@ -394,12 +403,12 @@ VARIABLES
 
 
        apm_battery_time
-             Display remaining APM battery life in hh:mm:ss or  "unknown"  if
+             Display  remaining  APM battery life in hh:mm:ss or "unknown" if
              AC adapterstatus is on-line or charging (FreeBSD only)
 
 
        battery (num)
-             Remaining  capacity  in ACPI or APM battery. ACPI battery number
+             Remaining capacity in ACPI or APM battery. ACPI  battery  number
              can be given as argument (default is BAT0).
 
 
@@ -439,28 +448,28 @@ VARIABLES
 
 
        cpu (cpuN)
-             CPU usage in percents. For SMP machines, the CPU number  can  be
+             CPU  usage  in percents. For SMP machines, the CPU number can be
              provided as an argument. cpu0 is the total usage, and >=cpu1 are
              individual CPUs.
 
 
        cpubar (cpu number) (height),(width)
-             Bar that shows CPU usage, height is bar's height in pixels.  See
+             Bar  that shows CPU usage, height is bar's height in pixels. See
              $cpu for more info on SMP.
 
 
-       cpugraph         (cpu  number)  (height),(width) (gradient colour 1) (gradient
+       cpugraph (cpu number) (height),(width) (gradient         colour  1)  (gradient
        colour 2)
-             CPU  usage graph, with optional colours in hex, minus the #. See
+             CPU usage graph, with optional colours in hex, minus the #.  See
              $cpu for more info on SMP.
 
 
        diskio Displays current disk IO.
 
 
-       diskiograph (height),(width) (gradient colour 1)         (gradient  colour  2)
+       diskiograph  (height),(width)  (gradient         colour 1) (gradient colour 2)
        (scale)
-             Disk IO graph, colours defined in hex, minus the #. If scale  is
+             Disk  IO graph, colours defined in hex, minus the #. If scale is
              non-zero, it becomes the scale for the graph.
 
 
@@ -474,7 +483,7 @@ VARIABLES
 
        downspeedgraph  net  (height),(width)  (gradient         colour  1)  (gradient
        colour 2) (scale)
-             Download  speed  graph,  colours defined in hex, minus the #. If
+             Download speed graph, colours defined in hex, minus  the  #.  If
              scale is non-zero, it becomes the scale for the graph.
 
 
@@ -483,13 +492,13 @@ VARIABLES
 
        exec command
              Executes a shell command and displays the output in conky. warn-
-             ing:  this  takes a lot more resources than other variables. I'd
+             ing: this takes a lot more resources than other  variables.  I'd
              recommend coding wanted behaviour in C and posting a patch.
 
 
        execbar command
-             Same as exec, except if  the  first  value  return  is  a  value
-             between  0-100,  it will use that number for a bar. The size for
+             Same  as  exec,  except  if  the  first  value return is a value
+             between 0-100, it will use that number for a bar. The  size  for
              the bar is currently fixed, but that may change in the future.
 
 
@@ -498,7 +507,7 @@ VARIABLES
 
 
        execi interval command
-             Same as exec but with specific interval. Interval can't be  less
+             Same  as exec but with specific interval. Interval can't be less
              than update_interval in configuration. See also $texeci
 
 
@@ -521,19 +530,19 @@ VARIABLES
 
 
        freq_dyn
-             Returns  CPU  frequency in MHz, but is calculated by counting to
-             clock cycles to complete  an  instruction.  Only  available  for
+             Returns CPU frequency in MHz, but is calculated by  counting  to
+             clock  cycles  to  complete  an  instruction. Only available for
              x86/amd64.
 
 
        freq_dyn_g
-             Returns  CPU  frequency in GHz, but is calculated by counting to
-             clock cycles to complete  an  instruction.  Only  available  for
+             Returns CPU frequency in GHz, but is calculated by  counting  to
+             clock  cycles  to  complete  an  instruction. Only available for
              x86/amd64.
 
 
        fs_bar (height),(width) fs
-             Bar  that  shows how much space is used on a file system. height
+             Bar that shows how much space is used on a file  system.  height
              is the height in pixels. fs is any file on that file system.
 
 
@@ -554,8 +563,8 @@ VARIABLES
 
 
        head logfile lines (interval)
-             Displays first N lines of supplied text text file.  If  interval
-             is  not  supplied,  Conky assumes 2x Conky's interval. Max of 30
+             Displays  first  N lines of supplied text text file. If interval
+             is not supplied, Conky assumes 2x Conky's interval.  Max  of  30
              lines can be displayed, or until the text buffer is filled.
 
 
@@ -564,90 +573,90 @@ VARIABLES
 
 
        i2c (dev) type n
-             I2C sensor from sysfs (Linux 2.6). dev may  be  omitted  if  you
-             have  only  one  I2C  device. type is either in (or vol) meaning
+             I2C  sensor  from  sysfs  (Linux 2.6). dev may be omitted if you
+             have only one I2C device. type is either  in  (or  vol)  meaning
              voltage, fan meaning fan or temp/tempf (first in C, second in F)
-             meaning   temperature.   n   is   number   of  the  sensor.  See
+             meaning  temperature.  n  is   number   of   the   sensor.   See
              /sys/bus/i2c/devices/ on your local computer.
 
 
        i8k_ac_status
-             If running the i8k kernel driver for Inspiron laptops,  displays
-             whether  ac  power  is on, as listed in /proc/i8k (translated to
-             human-readable). Beware that this is by default not  enabled  by
+             If  running the i8k kernel driver for Inspiron laptops, displays
+             whether ac power is on, as listed in  /proc/i8k  (translated  to
+             human-readable).  Beware  that this is by default not enabled by
              i8k itself.
 
 
        i8k_bios
-             If  running the i8k kernel driver for Inspiron laptops, displays
+             If running the i8k kernel driver for Inspiron laptops,  displays
              the bios version as listed in /proc/i8k.
 
 
        i8k_buttons_status
-             If running the i8k kernel driver for Inspiron laptops,  displays
+             If  running the i8k kernel driver for Inspiron laptops, displays
              the volume buttons status as listed in /proc/i8k.
 
 
        i8k_cpu_temp
-             If  running the i8k kernel driver for Inspiron laptops, displays
+             If running the i8k kernel driver for Inspiron laptops,  displays
              the cpu temperature in Celsius, as reported by /proc/i8k.
 
 
        i8k_cpu_tempf
-             If running the i8k kernel driver for Inspiron laptops,  displays
+             If  running the i8k kernel driver for Inspiron laptops, displays
              the cpu temperature in Farenheit, as reported by /proc/i8k.
 
 
        i8k_left_fan_rpm
-             If  running the i8k kernel driver for Inspiron laptops, displays
-             the left fan's rate of rotation, in revolutions  per  minute  as
+             If running the i8k kernel driver for Inspiron laptops,  displays
+             the  left  fan's  rate of rotation, in revolutions per minute as
              listed in /proc/i8k. Beware, some laptops i8k reports these fans
              in reverse order.
 
 
        i8k_left_fan_status
-             If running the i8k kernel driver for Inspiron laptops,  displays
+             If  running the i8k kernel driver for Inspiron laptops, displays
              the left fan status as listed in /proc/i8k (translated to human-
-             readable). Beware,  some  laptops  i8k  reports  these  fans  in
+             readable).  Beware,  some  laptops  i8k  reports  these  fans in
              reverse order.
 
 
        i8k_right_fan_rpm
-             If  running the i8k kernel driver for Inspiron laptops, displays
-             the right fan's rate of rotation, in revolutions per  minute  as
+             If running the i8k kernel driver for Inspiron laptops,  displays
+             the  right  fan's rate of rotation, in revolutions per minute as
              listed in /proc/i8k. Beware, some laptops i8k reports these fans
              in reverse order.
 
 
        i8k_right_fan_status
-             If running the i8k kernel driver for Inspiron laptops,  displays
-             the  right  fan  status  as  listed  in /proc/i8k (translated to
-             human-readable). Beware, some laptops i8k reports these fans  in
+             If  running the i8k kernel driver for Inspiron laptops, displays
+             the right fan status  as  listed  in  /proc/i8k  (translated  to
+             human-readable).  Beware, some laptops i8k reports these fans in
              reverse order.
 
 
        i8k_serial
-             If  running the i8k kernel driver for Inspiron laptops, displays
+             If running the i8k kernel driver for Inspiron laptops,  displays
              your laptop serial number as listed in /proc/i8k.
 
 
        i8k_version
-             If running the i8k kernel driver for Inspiron laptops,  displays
+             If  running the i8k kernel driver for Inspiron laptops, displays
              the version formatting of /proc/i8k.
 
 
        if_running (process)
-             if  PROCESS  is  running,  display everything if_running and the
+             if PROCESS is running, display  everything  if_running  and  the
              matching $endif
 
 
        if_existing (file)
-             if FILE exists, display everything between if_existing  and  the
+             if  FILE  exists, display everything between if_existing and the
              matching $endif
 
 
        if_mounted (mountpoint)
-             if  MOUNTPOINT is mounted, display everything between if_mounted
+             if MOUNTPOINT is mounted, display everything between  if_mounted
              and the matching $endif
 
 
@@ -667,8 +676,8 @@ VARIABLES
              Machine, i686 for example
 
 
-       mails  Mail  count in mail spool. You can use program like fetchmail to
-             get mails from some server using your  favourite  protocol.  See
+       mails  Mail count in mail spool. You can use program like fetchmail  to
+             get  mails  from  some server using your favourite protocol. See
              also new_mails.
 
 
@@ -822,20 +831,20 @@ VARIABLES
              lservice - local service name from /etc/services
 
              The connection index provides you with access to each connection
-             in  the  port  monitor.  The monitor will return information for
-             index values from 0 to n-1 connections. Values higher  than  n-1
-             are  simply  ignored. For the "count" item, the connection index
+             in the port monitor. The monitor  will  return  information  for
+             index  values  from 0 to n-1 connections. Values higher than n-1
+             are simply ignored. For the "count" item, the  connection  index
              must be omitted. It is required for all other items.
 
              Examples:
 
-             ${tcp_portmon 6881 6999 count} - displays the number of  connec-
+             ${tcp_portmon  6881 6999 count} - displays the number of connec-
              tions in the bittorrent port range
 
-             ${tcp_portmon  22 22 rip 0} - displays the remote host ip of the
+             ${tcp_portmon 22 22 rip 0} - displays the remote host ip of  the
              first sshd connection
 
-             ${tcp_portmon 22 22 rip 9} - displays the remote host ip of  the
+             ${tcp_portmon  22 22 rip 9} - displays the remote host ip of the
              tenth sshd connection
 
              ${tcp_portmon 1 1024 rhost 0} - displays the remote host name of
@@ -844,22 +853,22 @@ VARIABLES
              ${tcp_portmon 1 1024 rport 4} - displays the remote host port of
              the fifth connection on a privileged port
 
-             ${tcp_portmon  1 65535 lservice 14} - displays the local service
+             ${tcp_portmon 1 65535 lservice 14} - displays the local  service
              name of the fifteenth connection in the range of all ports
 
              Note that port monitor variables which share the same port range
              actually refer to the same monitor, so many references to a sin-
              gle port range for different items and different indexes all use
-             the  same monitor internally. In other words, the program avoids
+             the same monitor internally. In other words, the program  avoids
              creating redundant monitors.
 
        texeci interval command
-             Runs a command at an interval inside a thread and  displays  the
-             output.  Same  as  $execi,  except  the  command is run inside a
-             thread. Use this if you have a slow script to keep Conky  updat-
-             ing.  You should make the interval slightly longer then the time
-             it takes your script to execute. For  example,  if  you  have  a
-             script  that  take  5  seconds  to  execute, you should make the
+             Runs  a  command at an interval inside a thread and displays the
+             output. Same as $execi, except  the  command  is  run  inside  a
+             thread.  Use this if you have a slow script to keep Conky updat-
+             ing. You should make the interval slightly longer then the  time
+             it  takes  your  script  to  execute. For example, if you have a
+             script that take 5 seconds  to  execute,  you  should  make  the
              interval at least 6 seconds. See also $execi.
 
 
@@ -874,21 +883,21 @@ VARIABLES
 
 
        time (format)
-             Local time, see man strftime to get more information about  for-
+             Local  time, see man strftime to get more information about for-
              mat
 
 
        totaldown net
-             Total  download, overflows at 4 GB on Linux with 32-bit arch and
-             there doesn't seem to be a way to know how  many  times  it  has
+             Total download, overflows at 4 GB on Linux with 32-bit arch  and
+             there  doesn't  seem  to  be a way to know how many times it has
              already done that before conky has started.
 
 
        top type, num
-             This  takes arguments in the form:top (name) (number) Basically,
-             processes are ranked from highest to  lowest  in  terms  of  cpu
-             usage,  which  is  what (num) represents. The types are: "name",
-             "pid", "cpu", and mem". There can  be  a  max  of  10  processes
+             This takes arguments in the form:top (name) (number)  Basically,
+             processes  are  ranked  from  highest  to lowest in terms of cpu
+             usage, which is what (num) represents. The  types  are:  "name",
+             "pid",  "cpu",  and  mem".  There  can  be a max of 10 processes
              listed.
 
 
@@ -912,9 +921,9 @@ VARIABLES
              Upload speed in kilobytes with one decimal
 
 
-       upspeedgraph  net (height),(width) (gradient colour 1) (gradient colour
+       upspeedgraph net (height),(width) (gradient colour 1) (gradient colour
        2) (scale)
-             Upload  speed  graph,  colours  defined  in hex, minus the #. If
+             Upload speed graph, colours defined in  hex,  minus  the  #.  If
              scale is non-zero, it becomes the scale for the graph.
 
 
@@ -938,7 +947,7 @@ VARIABLES
 
 
        voffset (pixels)
-             Change vertical offset by N pixels. Negative values  will  cause
+             Change  vertical  offset by N pixels. Negative values will cause
              text to overlap. See also $offset.
 
 
@@ -951,12 +960,12 @@ VARIABLES
 
 
        xmms_channels
-             xmms  /  bmp / audacious / infopipe: number of audio channels of
+             xmms / bmp / audacious / infopipe: number of audio  channels  of
              current tune
 
 
        xmms_filename
-             xmms / bmp / audacious / infopipe: full  path  and  filename  of
+             xmms  /  bmp  /  audacious / infopipe: full path and filename of
              current tune
 
 
@@ -966,17 +975,17 @@ VARIABLES
 
 
        xmms_length
-             xmms / bmp / audacious / infopipe: total length of current  tune
+             xmms  / bmp / audacious / infopipe: total length of current tune
              as MM:SS
 
 
        xmms_length_seconds
-             xmms  / bmp / audacious / infopipe: total length of current tune
+             xmms / bmp / audacious / infopipe: total length of current  tune
              in seconds
 
 
        xmms_playlist_position
-             xmms / bmp / audacious / infopipe: playlist position of  current
+             xmms  / bmp / audacious / infopipe: playlist position of current
              tune
 
 
@@ -985,12 +994,12 @@ VARIABLES
 
 
        xmms_position
-             xmms  /  bmp  /  audacious / infopipe: MM:SS position of current
+             xmms / bmp / audacious / infopipe:  MM:SS  position  of  current
              tune
 
 
        xmms_position_seconds
-             xmms / bmp / audacious / infopipe: position of current  tune  in
+             xmms  /  bmp / audacious / infopipe: position of current tune in
              seconds
 
 
@@ -1017,11 +1026,11 @@ FILES
 BUGS
        Drawing to root or some other desktop window directly doesn't work with
        all window managers. Especially doesn't work well with Gnome and it has
-       been  reported  that  it         doesn't work with KDE either. Nautilus can be
-       disabled from drawing to desktop         with  program  gconf-editor.  Uncheck
-       show_desktop  in         /apps/nautilus/preferences/.  There  is  -w switch in
-       Conky to set some specific window id. You  might         find  xwininfo  -tree
-       useful  to  find         the  window  to draw to. You can also use -o argument
+       been reported that it doesn't work with KDE  either.  Nautilus  can  be
+       disabled         from  drawing  to  desktop with program gconf-editor. Uncheck
+       show_desktop in /apps/nautilus/preferences/.  There  is -w  switch  in
+       Conky  to  set  some  specific window id. You might find xwininfo -tree
+       useful to find the window to draw to. You  can  also  use  -o  argument
        which makes Conky to create its own window.
 
 SEE ALSO
index 2d7fa63..b4e0297 100644 (file)
 </varlistentry>
 
 <varlistentry>
+       <term><command><option>own_window_type</option></command></term>
+       <listitem>
+               if own_window is yes, you may specify type normal or desktop (default: normal).
+               Desktop windows are special windows that have no window decorations; are always visible 
+               on your desktop; do not appear in your pager or taskbar; and are sticky across all workspaces.
+               <para></para></listitem>
+</varlistentry>
+
+<varlistentry>
        <term><command><option>own_window_colour</option></command>
                <option>colour</option>
        </term>
                 <option>undecorated,below,above,sticky,skip_taskbar,skip_pager</option>
        </term>
        <listitem>
-               If own_window is yes, you may use these window manager hints to affect the way conky displays
+               If own_window is yes, you may use these window manager hints to affect the way conky displays.  
+               Note: own_window_type desktop is another way to implement many of these hints.
        <para></para></listitem>
 </varlistentry>
 
index c662d87..a733283 100644 (file)
@@ -263,12 +263,19 @@ Boolean, create own window to draw?
 Boolean, set pseudo-transparency?
 
 .TP 
+\fBown_window_type\fR
+if own_window is yes, you may specify type normal or desktop (default: normal).
+Desktop windows are special windows that have no window decorations; are always visible 
+on your desktop; do not appear in your pager or taskbar; and are sticky across all workspaces.
+
+.TP 
 \fBown_window_colour\fR \fBcolour\fR 
 If own_window_transparent no, set a specified background colour (defaults to black). Takes either a hex value (#ffffff) or a valid RGB name (see /usr/lib/X11/rgb.txt)
 
 .TP 
 \fBown_window_hints\fR \fBundecorated,below,above,sticky,skip_taskbar,skip_pager\fR 
-If own_window is yes, you may use these window manager hints to affect the way conky displays
+If own_window is yes, you may use these window manager hints to affect the way conky displays. 
+Note: own_window_type desktop is another way to implement many of these hints.
 
 .TP 
 \fBout_to_console\fR 
index b483538..5063a16 100644 (file)
@@ -51,7 +51,10 @@ update_interval 5.0
 total_run_times 0
 
 # Create own window instead of using desktop (required in nautilus)
-own_window no
+own_window yes
+
+# If own_window is yes, you may use type normal or desktop
+own_window desktop
 
 # Use pseudo transparency with own_window?
 own_window_transparent yes
index 2936944..b9cc06a 100644 (file)
@@ -4852,6 +4852,8 @@ static void set_default_configurations(void)
        maximum_width = 0;
 #ifdef OWN_WINDOW
        own_window = 0;
+       window.type=TYPE_NORMAL;
+       window.hints=0;
        strcpy(window.wm_class_name, "conky");  
 #endif
        stippled_borders = 0;
@@ -5297,6 +5299,16 @@ else if (strcasecmp(name, a) == 0 || strcasecmp(name, b) == 0)
                                while (p_hint!=NULL);
                        }
                }
+               CONF("own_window_type") {
+                       if (value) {
+                               if (strncmp(value,"normal",6)==0)
+                                       window.type = TYPE_NORMAL;
+                               else if  (strncmp(value,"desktop",7)==0)
+                                       window.type = TYPE_DESKTOP;
+                               else
+                                       CONF_ERR;
+                       }
+               }
 #endif
                CONF("stippled_borders") {
                        if (value)
index ee817b7..4eade74 100644 (file)
@@ -300,6 +300,11 @@ char tmpstring2[TEXT_BUFFER_SIZE];
 #define ATOM(a) XInternAtom(display, #a, False)
 
 #ifdef OWN_WINDOW
+enum _window_type {
+        TYPE_NORMAL = 0,
+        TYPE_DESKTOP
+};
+
 enum _window_hints {
        HINT_UNDECORATED = 0,
        HINT_BELOW,
@@ -328,6 +333,7 @@ struct conky_window {
        char wm_class_name[256];
        int x;
        int y;
+       unsigned int type;
        unsigned long hints;
 #endif
 };
index 3763f3a..93bc1f4 100644 (file)
--- a/src/x11.c
+++ b/src/x11.c
@@ -250,15 +250,30 @@ void init_window(int own_window, int w, int h, int set_trans, int back_colour, c
                        XSetWMProtocols(display,window.window,NULL,0);
 
 
-                       /* Set NORMAL window type for _NET_WM_WINDOW_TYPE. */
-                       xa = ATOM(_NET_WM_WINDOW_TYPE);
-                       if (xa != None) {
-                               Atom prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
+                       /* Set window type */
+                       if ( (xa = ATOM(_NET_WM_WINDOW_TYPE)) != None ) 
+                       {
+                               Atom prop;
+                               switch(window.type) {
+                               case TYPE_DESKTOP:
+                                       {
+                                       prop = ATOM(_NET_WM_WINDOW_TYPE_DESKTOP);
+                                       fprintf(stderr, "Conky: window type - desktop\n"); fflush(stderr);
+                                       }
+                                       break;
+                               
+                               case TYPE_NORMAL:
+                               default:
+                                       {
+                                       prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
+                                       fprintf(stderr, "Conky: window type - normal\n"); fflush(stderr);
+                                       }
+                                       break;
+                               }
                                XChangeProperty(display, window.window, xa,
                                                XA_ATOM, 32,
                                                PropModeReplace,
-                                               (unsigned char *) &prop,
-                                               1);
+                                               (unsigned char *) &prop, 1);
                        }
 
                        /* Set desired hints */
index 1d8294a..8a0a108 100644 (file)
@@ -51,6 +51,7 @@ syn keyword ConkyrcSetting
         \ own_window_colour
         \ own_window_hints
         \ own_window_transparent
+       \ own_window_type
         \ pad_percents
         \ stippled_borders
         \ total_run_times
@@ -70,8 +71,10 @@ syn keyword ConkyrcConstant
         \ bmp
         \ bottom_left
         \ bottom_right
+       \ desktop
         \ no
         \ none
+       \ normal
         \ skip_pager
         \ skip_taskbar
         \ sticky