From 033e74224799017a070d7e443f2f9271f015075a Mon Sep 17 00:00:00 2001 From: Fincer Date: Fri, 17 Mar 2017 19:53:42 +0200 Subject: [PATCH] Add KDE 5 Dolphin search actions plugin --- Readme.md | 7 +++++ kde-servicemenus-searchactions/PKGBUILD | 27 +++++++++++++++++++ .../searchinside-casesensitive.sh | 10 +++++++ .../searchinside.desktop | 19 +++++++++++++ .../searchinside.sh | 10 +++++++ 5 files changed, 73 insertions(+) create mode 100644 kde-servicemenus-searchactions/PKGBUILD create mode 100755 kde-servicemenus-searchactions/searchinside-casesensitive.sh create mode 100755 kde-servicemenus-searchactions/searchinside.desktop create mode 100755 kde-servicemenus-searchactions/searchinside.sh diff --git a/Readme.md b/Readme.md index ff2ca4f..326118f 100644 --- a/Readme.md +++ b/Readme.md @@ -109,6 +109,13 @@ This script can be used for multiple files at the same time but is developed for FORMAT: Arch Linux PKGBUILD script. +**kde-servicemenus-searchactions** +-------------- + +Plasma 5 Dolphin service menu script for searching strings inside files. + +FORMAT: Arch Linux PKGBUILD script + source files. + **kde-servicemenus-unlockpdf** -------------- diff --git a/kde-servicemenus-searchactions/PKGBUILD b/kde-servicemenus-searchactions/PKGBUILD new file mode 100644 index 0000000..79211c4 --- /dev/null +++ b/kde-servicemenus-searchactions/PKGBUILD @@ -0,0 +1,27 @@ +pkgname=kde-servicemenus-searchactions +pkgver=1 +pkgrel=1 +pkgdesc="Search strings inside files using Dolphin or Konqueror (KDE5 Dolphin action)" +url="" +arch=('any') +license=('BSD') +install='' +source=( +searchinside.desktop +searchinside.sh +searchinside-casesensitive.sh +) +depends=('kdialog' 'grep' 'findutils' 'dolphin' 'konsole') +optdepends=() +conflicts=() +#provides='' +makedepends=() + +package() { + mkdir -p $pkgdir/usr/share/kservices5/ServiceMenus/ + cp $srcdir/{searchinside.desktop,searchinside.sh,searchinside-casesensitive.sh} $pkgdir/usr/share/kservices5/ServiceMenus/ + chmod 755 $pkgdir/usr/share/kservices5/ServiceMenus/{searchinside.desktop,searchinside.sh,searchinside-casesensitive.sh} +} +md5sums=('97e0476998ae35c034316e07623463b1' + '5466d8b1b6334ea5a7ce9b5e586545af' + 'e78a0246503d95489730ec71bb998a97') diff --git a/kde-servicemenus-searchactions/searchinside-casesensitive.sh b/kde-servicemenus-searchactions/searchinside-casesensitive.sh new file mode 100755 index 0000000..6676c59 --- /dev/null +++ b/kde-servicemenus-searchactions/searchinside-casesensitive.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +THISFOLDER=$(pwd) +echo -e "\e[1mSearch inside files -- [case sensitive]\e[0m" +echo -e "\nCurrent search folder: $THISFOLDER\n" +read -r -p "Enter string to search: " STRING + +echo -e "\nFiles containing the string \e[93m$STRING\e[0m in \e[94m$THISFOLDER/\e[0m and subfolders are:\n\e[32m" +grep -Rls $STRING $THISFOLDER +echo -e "\e[91m\nSearch finished\e[0m" diff --git a/kde-servicemenus-searchactions/searchinside.desktop b/kde-servicemenus-searchactions/searchinside.desktop new file mode 100755 index 0000000..9c47b7e --- /dev/null +++ b/kde-servicemenus-searchactions/searchinside.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Type=Service +ServiceTypes=KonqPopupMenu/Plugin +MimeType=inode/directory +Icon=system-search +Actions=searchinside;searchinside-casesensitive; +X-KDE-StartupNotify=false +X-KDE-Priority=TopLevel +TryExec=grep + +[Desktop Action searchinside-casesensitive] +Name=Search inside files (case sensitive) +Icon=system-search +Exec=konsole --workdir $(pwd) -p "tabtitle=Search [case sensitive]" -e /usr/share/kservices5/ServiceMenus/searchinside-casesensitive.sh + +[Desktop Action searchinside] +Name=Search inside files (ignore case) +Icon=system-search +Exec=konsole --workdir $(pwd) -p "tabtitle=Search [ignore case]" -e /usr/share/kservices5/ServiceMenus/searchinside.sh diff --git a/kde-servicemenus-searchactions/searchinside.sh b/kde-servicemenus-searchactions/searchinside.sh new file mode 100755 index 0000000..8fec2c6 --- /dev/null +++ b/kde-servicemenus-searchactions/searchinside.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +THISFOLDER=$(pwd) +echo -e "\e[1mSearch inside files -- [ignore case]\e[0m" +echo -e "\nCurrent search folder: $THISFOLDER\n" +read -r -p "Enter string to search: " STRING + +echo -e "\nFiles containing the string \e[93m$STRING\e[0m in \e[94m$THISFOLDER/\e[0m and subfolders are:\n\e[32m" +grep -Rils $STRING $THISFOLDER +echo -e "\e[91m\nSearch finished\e[0m"