about summary refs log tree commit diff
path: root/Completion/X/Command/_xloadimage
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2002-01-02 14:45:21 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2002-01-02 14:45:21 +0000
commit8074e07a2ced99c4464d4a72cb93f47a7aacf34b (patch)
tree3a17e6d3d3a0b7daebcdaaeb8daf69d67ec30f13 /Completion/X/Command/_xloadimage
parentbc10b0e0a52883d06195d99553e95b484111c3a0 (diff)
downloadzsh-8074e07a2ced99c4464d4a72cb93f47a7aacf34b.tar.gz
zsh-8074e07a2ced99c4464d4a72cb93f47a7aacf34b.tar.xz
zsh-8074e07a2ced99c4464d4a72cb93f47a7aacf34b.zip
16384: new completion for xli/xloadimage and factor out completion of X visuals
Diffstat (limited to 'Completion/X/Command/_xloadimage')
-rw-r--r--Completion/X/Command/_xloadimage85
1 files changed, 85 insertions, 0 deletions
diff --git a/Completion/X/Command/_xloadimage b/Completion/X/Command/_xloadimage
new file mode 100644
index 000000000..8a3712673
--- /dev/null
+++ b/Completion/X/Command/_xloadimage
@@ -0,0 +1,85 @@
+#compdef xli xloadimage xsetbg xview
+
+local rc ipath extension filter type args
+
+if rc=( ${(f)"$($words[1] -path)"} ); then
+  # xli
+  filter=( .Z )
+  args=(
+    '-cache[force caching of entire input]'
+    "-delete[enable deleting images with 'x' key]"
+    '-dispgamma[specify gamma correction]'
+    '-fillscreen[use whole screen, zooming image]'
+    '-focus[take keyboard focus]'
+    '-path[display image path and suffixes]'
+    -dumpcore
+    '*-iscale[scale image]:scale factor'
+    '*-c'{,olor}'dither[dither image]'
+    '*-expand[expand image to 24-bit]'
+    '*-xpm[specify xpm color map]:color context key:(m g4 g c)'
+  )
+else
+  # xloadimage
+  rc=( ${(f)"$($words[1] -configuration)"} )
+  filter=( ${${(Q)rc[4,-1]%% -*}# } )
+  type=( ${(f)"$($words[1] -supported)"} )
+  args=(
+    '-configuration[display image path, suffixes and filters]'
+    '-dump[dump image into file]:image type:( '${(F)${(M)type:#*Yes*}%% *}' ):filename:_files'
+    -slideshow
+    '*-type[force type of image]:type name:( '${(F)type[3,-1]%% *}' )'
+    '*-shrink[shrink image to fit display]'
+    '*-tile[tile image to fill display]'
+    '*-global[following option applies to all images]'
+  )
+fi
+ipath=( . ${=rc[1]#*:} )
+extension=( ${=rc[2]#*:} )
+
+# all options are valid after -help so no exclusion lists below
+_x_arguments "$args[@]" \
+  '-default[set root background to default]' \
+  '-fit[use default visual and colormap]' \
+  '-fullscreen[use whole screen, suurounding image with border]' \
+  "-goto[specify image to display at end]:image name:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filters})'" \
+  '(*)-help[display information on options]' \
+  '-identity[identify supplied images instead of displaying]' \
+  '-install[forcibly install image colormap on focus]' \
+  '-list[list images]' \
+  '-onroot[display to root window]' \
+  '-path[display image path and suffixes]' \
+  '-pixmap[force the use of a pixmap as backing-store]' \
+  '-private[force use of a private colormap]' \
+  '-quiet[quiet operation]' \
+  '-supported[list supported image types]' \
+  '-verbose[verbose operation]' \
+  '-version[display version info]' \
+  '-view[view image in window]' \
+  '-visual[force use of a specific visual]:visual:_x_visual' \
+  '-windowid[set background pixmap of specific window]:window id:_x_window' \
+  -fork -debug \
+  '*-border[specify background color]:background color:_x_color' \
+  '*-brighten[brighten/darken image]:percentage multiplier' \
+  '*-colors[specify maximum colors in image]:colors' \
+  '*-delay[delay before advancing to next image]:seconds' \
+  '*-dither[dither color image to mono]' \
+  '*-gamma[specify gamma of display image was intended for]:gamma' \
+  '*-gr'{a,e}'y[convert image to grayscale]' \
+  '*-idelay[specify delay for this image]' \
+  '*-smooth[smooth a color image]' \
+  '*-xzoom[zoom X axis of image]:percentage' \
+  '*-yzoon[zoom Y axis of image]:percentage' \
+  '*-zoom:percentage' \
+  '*-newoptions[reset options]' \
+  '*-at[specify coordinates to load next image at]' \
+  '*-background[specify background color for next image]:color:_x_color' \
+  '*-center[center next image on base image]' \
+  '*-clip:X,Y,W,H' \
+  '*-foreground[specify foreground color for next image]:color:_x_color' \
+  '*-halftone[force halftone dithering]' \
+  '*-invert[invert a monochrome image]' \
+  '*-merge[merge image onto the base image]' \
+  "*-name[specify image name]:picture file:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filters})'" \
+  '*-normalize' \
+  '*-rotate[rotate image clockwise]:degrees of rotation:(90 180 270)' \
+  "*:picture file:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filter})'"