Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
GNOME
Settings
Commits
4ce6d0a7
Commit
4ce6d0a7
authored
Dec 20, 2012
by
Bastien Nocera
Browse files
shell: Add bash completion file
Only completes the panel names for now.
parent
d0dda2fa
Changes
3
Hide whitespace changes
Inline
Side-by-side
shell/Makefile.am
View file @
4ce6d0a7
...
...
@@ -78,6 +78,12 @@ sys_in_files = gnome-control-center.desktop.in
sys_DATA
=
$(sys_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
completiondir
=
$(datadir)
/bash-completion/completions
completion_in_files
=
gnome_control_center_completion.bash.in
completion_DATA
=
$(completion_in_files:.bash.in=.bash)
gnome_control_center_completion.bash
:
gnome_control_center_completion.bash.in list-panel.sh
$(AM_V_GEN)
cat
$<
|
sed
"s,@PANELS@,
`
$(srcdir)
/list-panel.sh
$(top_srcdir)
`
,"
>
$@
EXTRA_DIST
=
\
$(ui_DATA)
\
gnome-control-center.desktop.in.in
...
...
shell/gnome_control_center_completion.bash.in
0 → 100644
View file @
4ce6d0a7
#!/bin/bash
#
# gnome-control-center tab completion for bash.
_gnome_control_center
()
{
local
cur prev command_list i v
cur
=
${
COMP_WORDS
[COMP_CWORD]
}
prev
=
${
COMP_WORDS
[COMP_CWORD-1]
}
case
"
$prev
"
in
-o
|
--overview
)
command_list
=
""
;;
*
)
if
[
$prev
=
"gnome-control-center"
]
;
then
command_list
=
"--overview --verbose --version"
command_list
=
"
$command_list
@PANELS@"
elif
[
$prev
=
"--verbose"
]
;
then
command_list
=
"@PANELS@"
fi
# FIXME
# Add the argvs for some of the panels that
# support it, such as network
for
i
in
--overview
--version
@PANELS@
;
do
if
[
$i
=
$prev
]
;
then
command_list
=
""
fi
done
;;
esac
for
i
in
$command_list
;
do
if
[
-z
"
${
i
/
$cur
*
}
"
]
;
then
COMPREPLY
=(
${
COMPREPLY
[@]
}
$i
)
fi
done
}
# load the completion
complete
-F
_gnome_control_center gnome-control-center
shell/list-panel.sh
0 → 100755
View file @
4ce6d0a7
#!/bin/sh
LIST
=
""
for
i
in
$1
/panels/
*
/gnome-
*
panel.desktop.in.in
;
do
basename
=
`
basename
$i
`
LIST
=
"
$LIST
`
echo
$basename
|
sed
's/gnome-//'
|
sed
's/-panel.desktop.in.in/ /'
`
"
done
echo
-n
$LIST
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment