Compare commits
105 commits
v0.0.1
...
pureos/byz
Author | SHA1 | Date | |
---|---|---|---|
|
95e14f0b61 | ||
|
9e00cc502d | ||
|
2f5784c6b7 | ||
|
e3c012fc0e | ||
|
460c8bccb9 | ||
|
f487497265 | ||
|
2a444158c6 | ||
|
eb71756777 | ||
|
318802de54 | ||
|
93cab485ac | ||
|
236845a654 | ||
|
878f6bc3e6 | ||
|
5899e8f147 | ||
|
476a7b8eb8 | ||
|
7700a5d2ab | ||
|
030106bf7b | ||
|
a4a703942b | ||
|
d260b8d57d | ||
|
8063732577 | ||
|
b1e1a4fcf5 | ||
|
d583724822 | ||
|
dcd01fd716 | ||
|
368b936446 | ||
|
dce5ee40a2 | ||
|
31bc728d03 | ||
|
ac8bac85cc | ||
|
8bf4e9a307 | ||
|
0537a86740 | ||
|
300fced68a | ||
|
6fe0c7143d | ||
|
09045eab0a | ||
|
d25ac70f77 | ||
|
cae9349e02 | ||
|
f595391bf4 | ||
|
6b25c3aff8 | ||
|
5753e17174 | ||
|
f5d4d141a9 | ||
|
df95a1505a | ||
|
6a645e354c | ||
|
4846c7d158 | ||
|
9b5f4657a9 | ||
|
7bad418b47 | ||
|
3ed5b2dec1 | ||
|
5c5b6a6f32 | ||
|
7310b35d2c | ||
|
fc0172f2e0 | ||
|
e63afb5d08 | ||
|
dff70f945e | ||
|
7ee2a7e4ad | ||
|
f5ae17e61d | ||
|
2556299314 | ||
|
2b3f5fe5f2 | ||
|
61845679b5 | ||
|
01431fca4c | ||
|
e015eeab9c | ||
|
18fb3fcd04 | ||
|
f05992396a | ||
|
b028ca504f | ||
|
ac78586de5 | ||
|
ca347d0c63 | ||
|
7d77f22da2 | ||
|
1d8bbf1abe | ||
|
d39704ed6d | ||
|
f6b2356d28 | ||
|
83222074fc | ||
|
1a56055268 | ||
|
5f1c204830 | ||
|
b600f868b7 | ||
|
9dc35d449c | ||
|
a454a9865d | ||
|
fc24235e80 | ||
|
d9ada05ce7 | ||
|
8725bcd466 | ||
|
fa60c85899 | ||
|
aaae5ae59a | ||
|
82fb957eb8 | ||
|
5ea3116661 | ||
|
298d6218d8 | ||
|
61bc70d7ff | ||
|
d07e9c13c8 | ||
|
dee995cbf2 | ||
|
89e19e6858 | ||
|
85c0e7a4d2 | ||
|
3d35d67bc9 | ||
|
9f65c0b3dc | ||
|
760385479f | ||
|
b116f99b34 | ||
|
01b9288f15 | ||
|
debb3404f5 | ||
|
ac7ecb81f9 | ||
|
1789724bcf | ||
|
7404f3c573 | ||
|
9530ebe594 | ||
|
7906fefe11 | ||
|
6b7a40e890 | ||
|
c3872beba3 | ||
|
4e576defbc | ||
|
90938c6ce7 | ||
|
ab785e2dd9 | ||
|
9ae79ccd0b | ||
|
676f0ca0e5 | ||
|
366a59b044 | ||
|
ee1801fd45 | ||
|
9d0fb24f83 | ||
|
9bec70f81c |
13
Makefile
Normal file
13
Makefile
Normal file
|
@ -0,0 +1,13 @@
|
|||
APPDATA = \
|
||||
sm.puri.librem5.goodies.appdata.xml \
|
||||
$(NULL)
|
||||
|
||||
all: shell-check appstream-check
|
||||
|
||||
shell-check:
|
||||
shellcheck l5-contacts-importer l5-screenshot l5-screen-recorder
|
||||
|
||||
appstream-check:
|
||||
appstream-util validate-relax $(APPDATA)
|
||||
|
||||
.PHONY: all shell-check appstream-check
|
53
README.md
53
README.md
|
@ -1,44 +1,31 @@
|
|||
# diy contacts importer
|
||||
# Librem 5 Goodies
|
||||
|
||||
This repo is just a place to dump experimental scripts to import VCF files.
|
||||
This project serves to create a deb package with several temporary helper bash scripts created for the Librem 5 phone.
|
||||
|
||||
**The use case for it is:**
|
||||
Bring your script here and it might be packaged :tada:
|
||||
|
||||
- To allow a Librem 5 user that is migrating from Android to move his contacts as a vcf file to the Librem 5 and import
|
||||
Please avoid scripts that require cloning and building packages from source.
|
||||
|
||||
This issue is common to all projects that used Evolution (the database backend of gnome contacts) to manage contacts: Openmoko, Uuntu Touch
|
||||
When one of these temporary helper scripts is no longer considered necessary, it will be removed (say if features provided by the script in question are added to `phosh`).
|
||||
|
||||
**Dependencies:**
|
||||
#### Scripts added to this package:
|
||||
|
||||
- `yad`
|
||||
- `syncevolution`
|
||||
- `sed`
|
||||
- `awk`
|
||||
- `libnotify-bin`
|
||||
---
|
||||
|
||||
**logic:** This script breaks down a vcf file with multiple contacts into multiple files. One vcard file per contact entry and imports them one by one.
|
||||
|Script | Description | Dependencies | Notes |
|
||||
|:--:|:--:|:--:|:--:|
|
||||
|Contacts Importer| Allows to import contacts from a vcard file to GNOME Contacts. Can work with a UI and from command line interface|`yad`, `syncevolution`, `libnotify-bin`, `Evolution Data Server`| This script will be removed from this paclage when the version of GNOME-Contacts available in PureOS supports importing contacts from a vcard file. |
|
||||
|Screenshot| Allows to take screenshots in the Librem 5 phone|`yad`, `grim`, `libnotify-bin`, `xdg-user-dirs`| This script will be removed from this package when there is a native app that can take screenshots in `Phosh`. |
|
||||
|Screen recorder | A simple application to record the screen| `wf-recorder`, `yad`, `libnotify-bin` | This script will be removed from this package when `phosh` has better support for recording.|
|
||||
|
||||
The reason for this is that importing all the contacts at once from one single file with `syncevolution` is error prone.
|
||||
**Previously removed scripts:**
|
||||
|
||||
**Current State:** if you run the command `./contacts-importer.sh` it will show a yad/gtk window for the user to select the vcard file and import contacts to `GNOME Contacts`.
|
||||
- Scale the screen: A simple application to scale the screen. This is now supported in `phosh`.
|
||||
|
||||
**problems:** See the issues list.
|
||||
#### Adding a script to this package:
|
||||
|
||||
This is only a quick and dirty bash script to do this task.
|
||||
|
||||
The proper way to do this: "having a easy way to import vcard files to the Librem 5/PureOS and GNOME, with GNOME Contacts and Evolution Data Server as a backend"
|
||||
|
||||
Would be to:
|
||||
|
||||
1. Someone writing a python/gtk application to do this.
|
||||
2. (And even better) Someone submiting a patch to GNOME-Contacts for that application to support importing vcard files.
|
||||
|
||||
- https://gitlab.gnome.org/GNOME/gnome-contacts
|
||||
- https://developer.gnome.org/eds/3.22/
|
||||
|
||||
**Other References:**
|
||||
- http://wiki.openmoko.org/wiki/Import_Vcf_Contacts#Import_and_Manage_Scripts
|
||||
- https://www.isticktoit.net/?p=1536
|
||||
- https://help.ubuntu.com/community/SyncEvolution/Synchronize-evolution-data-with-caldav-cardav-server
|
||||
- https://syncevolution.org/wiki/thunderbird-phone-sync
|
||||
- https://askubuntu.com/questions/360466/how-do-i-sync-contacts-on-ubuntu-touch
|
||||
- Make a new branch based on the `pureos/latest` branch and work from it.
|
||||
- Make a merge request.
|
||||
- Avoid scripts that download and build source code. If you need a dependency not available in PureOS, package it :D
|
||||
- If your script stores files somewhere, then please use `xdg-user-dir` to set the path instead of harcoding directory names like "Documents", "Videos", this is usefull because not all users have their OS in English. See example here; https://source.puri.sm/librem5-apps/librem5-goodies/-/blob/pureos/byzantium/l5-screenshot#L27 `xdg-user-dir` is also quite usefull
|
||||
- if you are not confortable in commiting to a Deb package then open an issue asking for the script to be packaged and we will work it out
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
# Adapted for the L5 with gnome-contacts
|
||||
# Original Script: https://www.isticktoit.net/?p=1536
|
||||
|
||||
|
||||
#Selecting a file
|
||||
|
||||
FILE=`yad --title "Import Contacts" --text="Select a VCF file to import" --file=`
|
||||
|
||||
if [ "$FILE" == "" ]; then
|
||||
`yad --title "Import Contacts" --text="You did not selected any file"` exit 1
|
||||
fi
|
||||
|
||||
notify-send -t 1000 "Import Contacts" "Importing Contacts from $FILE"
|
||||
|
||||
#Name of the database where the contacts will be imported to.
|
||||
CONTACTDB=$(syncevolution --print-databases | grep "system-address-book"| sed 's#(.*##' | sed 's# ##g' )
|
||||
|
||||
#Temp directory to mess with files:
|
||||
|
||||
TEMP=$(mktemp -d -t contacts-importer-XXXXXXXXXXXXX-$(date +%Y-%m-%d-%H-%M-%S))
|
||||
|
||||
#Some control info to make sure the file is a vcard
|
||||
|
||||
MIMETYPE=$(file --mime-type -b $FILE)
|
||||
CONTROL="text/vcard"
|
||||
|
||||
if [[ "$MIMETYPE" != "$CONTROL" ]]; then
|
||||
notify-send -t 1000 "File is not a vcard! Bye!" && exit 1
|
||||
fi
|
||||
|
||||
#Begin importing contacts
|
||||
|
||||
cd $TEMP
|
||||
|
||||
cat $FILE | awk ' /BEGIN:VCARD/ { ++a; fn=sprintf("card_import_L5_%02d.vcf", a); print "Writing: ", fn } { print $0 >> fn; } ' $1
|
||||
|
||||
for f in $TEMP/card_import_L5*
|
||||
do syncevolution --import ${f%} backend=evolution-contacts database=${CONTACTDB}
|
||||
done
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
notify-send "Successful import";
|
||||
exit 0
|
||||
else
|
||||
notify-send "Error" >&2
|
||||
exit 1
|
||||
fi
|
|
@ -1,6 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Name=Contacts Importer
|
||||
Type=Application
|
||||
Icon=preferences-desktop-personal
|
||||
Exec=/usr/bin/contacts-importer
|
||||
Categories=Utility;
|
95
debian/changelog
vendored
95
debian/changelog
vendored
|
@ -1,3 +1,98 @@
|
|||
librem5-goodies (0.0.7pureos1) byzantium; urgency=medium
|
||||
|
||||
[ Guido Günther ]
|
||||
* Make it a native package again.
|
||||
There's no upstream other than us afaik.
|
||||
* ci: Drop check-tarball.
|
||||
Not needed (and hence not working) for a 3.0 (native) package
|
||||
|
||||
-- Guido Günther <agx@sigxcpu.org> Sat, 30 Oct 2021 15:40:47 +0200
|
||||
|
||||
librem5-goodies (0.0.7-1pureos2) byzantium; urgency=medium
|
||||
|
||||
[ João Azevedo ]
|
||||
* Prepare release to byzantium.
|
||||
- Update CI
|
||||
- New release number
|
||||
- Increase debhelper version to 13
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Sat, 30 Oct 2021 00:36:54 +0200
|
||||
|
||||
librem5-goodies (0.0.7pureos1) amber-phone; urgency=medium
|
||||
|
||||
[ João Azevedo ]
|
||||
* New upstream release.
|
||||
- Remove scale the screen script, closes #15
|
||||
- Remove wl-randr as a dependency as it is no longer required
|
||||
- Update packge discription to include l5-screen-recorder
|
||||
- Update appdata file to include the l5-screen-recorder
|
||||
- Add l5-screen-recorder to makefile build tests
|
||||
- Fix shellcheck warning with l5-screen-recorder
|
||||
- Add usage function to l5-screen-recorder
|
||||
- Add l5-screen-recorder icon to notifications
|
||||
- Add l5-screen-recorder to build tests
|
||||
- Update debhelper version
|
||||
|
||||
[ David Hamner ]
|
||||
* Add l5-screen-recorder:
|
||||
- Add l5-screen-recorder script and l5-screen-recorder desktop file
|
||||
- Add wf-recorder as a dependency required by l5-screen-recorder
|
||||
- Add paths for l5-screen-recorder in librem5-goodies.install file
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Fri, 29 Oct 2021 23:28:46 +0200
|
||||
|
||||
librem5-goodies (0.0.6pureos1) amber-phone; urgency=medium
|
||||
|
||||
* Non-maintainer upload.
|
||||
* Use a PureOS compatible version tag
|
||||
|
||||
-- Guido Günther <agx@sigxcpu.org> Wed, 01 Sep 2021 10:38:26 +0200
|
||||
|
||||
librem5-goodies (0.0.6) amber-phone; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
- Make screenshot script l10n friendy, closes: #13
|
||||
- d/control: add dependency; xdg-user-dirs
|
||||
- Add scale the screens support for QEMU image closes: #12
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Sun, 18 Apr 2021 13:33:50 +0200
|
||||
|
||||
librem5-goodies (0.0.5) amber-phone; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
- added tags in the desktop files for then to be visible in phosh
|
||||
- Added appstream metadata file
|
||||
- Added Scale the screen script
|
||||
- Updated the control file and dependencies
|
||||
- Updated changelog file
|
||||
- Updated README file
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Mon, 23 Nov 2020 13:26:52 +0100
|
||||
|
||||
librem5-goodies (0.0.4) amber-phone; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
- replaced zenity with yad in the screenshot script
|
||||
- changed the scripts names to have the prefix l5-
|
||||
- Updated README file
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Tue, 04 Aug 2020 22:17:24 +0200
|
||||
|
||||
librem5-goodies (0.0.3) amber-phone; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
- Added the script: screenshot
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Tue, 04 Aug 2020 22:17:24 +0200
|
||||
|
||||
librem5-goodies (0.0.2) amber-phone; urgency=medium
|
||||
|
||||
* New upstream release.
|
||||
- Changed the project name.
|
||||
- Changed the target repo to amber-phone.
|
||||
|
||||
-- João Azevedo <joao.azevedo@puri.sm> Sun, 26 Jul 2020 16:23:29 +0200
|
||||
|
||||
contacts-importer (0.0.1) byzantium; urgency=medium
|
||||
|
||||
* Initial release.
|
||||
|
|
1
debian/compat
vendored
1
debian/compat
vendored
|
@ -1 +0,0 @@
|
|||
11
|
2
debian/contacts-importer.install
vendored
2
debian/contacts-importer.install
vendored
|
@ -1,2 +0,0 @@
|
|||
contacts-importer /usr/bin
|
||||
contacts-importer.desktop /usr/share/applications
|
37
debian/control
vendored
37
debian/control
vendored
|
@ -1,18 +1,31 @@
|
|||
Source: contacts-importer
|
||||
Source: librem5-goodies
|
||||
Section: comm
|
||||
Priority: optional
|
||||
Maintainer: PureOS Maintainers <pureos-project@lists.puri.sm>
|
||||
Maintainer: João Azevedo <joao.azevedo@puri.sm>
|
||||
Build-Depends:
|
||||
debhelper (>= 11),
|
||||
Homepage: https://source.puri.sm/pureos/packages/diy-contacts-importer
|
||||
Vcs-Git: https://source.puri.sm/pureos/packages/diy-contacts-importer.git
|
||||
Vcs-Browser: https://source.puri.sm/pureos/packages/diy-contacts-importer
|
||||
Standards-Version: 0.0.1
|
||||
appstream-util,
|
||||
debhelper-compat (= 13),
|
||||
shellcheck,
|
||||
Homepage: https://source.puri.sm/librem5-apps/librem5-goodies
|
||||
Vcs-Git: https://source.puri.sm/librem5-apps/librem5-goodies.git
|
||||
Vcs-Browser: https://source.puri.sm/librem5-apps/librem5-goodies
|
||||
Standards-Version: 4.3.0
|
||||
|
||||
Package: contacts-importer
|
||||
Package: librem5-goodies
|
||||
Architecture: all
|
||||
Depends:
|
||||
${misc:Depends}, yad, syncevolution, libnotify-bin, evolution-data-server,
|
||||
Description: Diy contacts importer
|
||||
A simple script to import contacts from vcards into Evolution Data Server
|
||||
|
||||
evolution-data-server,
|
||||
grim,
|
||||
libnotify-bin,
|
||||
syncevolution,
|
||||
yad,
|
||||
xdg-user-dirs,
|
||||
wf-recorder,
|
||||
${misc:Depends},
|
||||
Description: Librem 5 Goodies
|
||||
A collection of bash scripts and applications made to add functionalities to
|
||||
the Librem 5 phone and Phosh Shell. It includes the following:
|
||||
- L5 Contacts Importer: A simple application to import contacts from a vcard
|
||||
file to GNOME Contacts.
|
||||
- L5 Screenshot: A simple application to make screenshots on the Librem 5
|
||||
- L5 Screen Recorder: A simple application to record the Librem 5 screen
|
||||
|
|
5
debian/copyright
vendored
5
debian/copyright
vendored
|
@ -1,6 +1,6 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Source: https://source.puri.sm/pureos/packages/diy-contacts-importer
|
||||
Upstream-Name: diy-contacts-importer
|
||||
Source: https://source.puri.sm/librem5-apps/librem5-goodies
|
||||
Upstream-Name: librem5-goodies
|
||||
|
||||
Files: *
|
||||
Copyright: (C) 2019 João Azevedo (joao.azvedo@puri.sm)
|
||||
|
@ -20,4 +20,3 @@ License: GPL-3+
|
|||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
||||
|
||||
|
|
2
debian/files
vendored
2
debian/files
vendored
|
@ -1,2 +0,0 @@
|
|||
contacts-importer_0.0.1_all.deb comm optional
|
||||
contacts-importer_0.0.1_amd64.buildinfo comm optional
|
6
.gitlab-ci.yml → debian/librem5-ci.yml
vendored
6
.gitlab-ci.yml → debian/librem5-ci.yml
vendored
|
@ -1,9 +1,9 @@
|
|||
include:
|
||||
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-definitions.yml'
|
||||
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-byzantium-jobs.yml'
|
||||
|
||||
stages:
|
||||
- package
|
||||
- test-package
|
||||
|
||||
|
||||
package:deb-pureos-amber:
|
||||
image: pureos/amber
|
||||
extends: .l5-build-debian-package
|
7
debian/librem5-goodies.install
vendored
Normal file
7
debian/librem5-goodies.install
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
l5-contacts-importer /usr/bin
|
||||
l5-contacts-importer.desktop /usr/share/applications
|
||||
l5-screenshot /usr/bin
|
||||
l5-screenshot.desktop /usr/share/applications
|
||||
l5-screen-recorder /usr/bin
|
||||
l5-screen-recorder.desktop /usr/share/applications
|
||||
sm.puri.librem5.goodies.appdata.xml /usr/share/metainfo
|
4
debian/rules
vendored
4
debian/rules
vendored
|
@ -2,3 +2,7 @@
|
|||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_test:
|
||||
make
|
||||
|
||||
|
|
3
debian/tests/control
vendored
Normal file
3
debian/tests/control
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
Test-Command: /usr/bin/l5-contacts-importer --help && /usr/bin/l5-screenshot --help && l5-screen-recorder --help
|
||||
Restrictions: superficial
|
||||
Depends: librem5-goodies
|
9
gbp.conf
Normal file
9
gbp.conf
Normal file
|
@ -0,0 +1,9 @@
|
|||
[DEFAULT]
|
||||
debian-branch = pureos/byzantium
|
||||
debian-tag = pureos/%(version)s
|
||||
upstream-tag = v%(version)s
|
||||
upstream-branch = master
|
||||
pristine-tar = True
|
||||
|
||||
[tag]
|
||||
sign-tags = True
|
71
l5-contacts-importer
Executable file
71
l5-contacts-importer
Executable file
|
@ -0,0 +1,71 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
# Adapted for the L5 with gnome-contacts
|
||||
# Original Script: https://www.isticktoit.net/?p=1536
|
||||
|
||||
function usage()
|
||||
{
|
||||
echo "Usage: $0 <vcard-file>"
|
||||
exit 0
|
||||
}
|
||||
|
||||
NOTIFY_SEND="notify-send -i preferences-desktop-personal"
|
||||
|
||||
case "$1" in
|
||||
--help|-h|-?)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
#Selecting a file
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
FILE="$1"
|
||||
else
|
||||
FILE=$(yad --title "Import Contacts" --text="Select a VCF file to import" --file=)
|
||||
fi
|
||||
|
||||
if [ "$FILE" == "" ]; then
|
||||
yad --title "Import Contacts" --text="You did not selected any file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$NOTIFY_SEND -t 1000 "Import Contacts" "Importing Contacts from $FILE"
|
||||
|
||||
#Name of the database where the contacts will be imported to.
|
||||
CONTACTDB=$(syncevolution --print-databases | grep "system-address-book"| sed 's#(.*##' | sed 's# ##g' )
|
||||
|
||||
#Temp directory to mess with files:
|
||||
|
||||
TEMP=$(mktemp -d -t contacts-importer-XXXXXXXXXXXXX-"$(date +%Y-%m-%d-%H-%M-%S)")
|
||||
|
||||
#Some control info to make sure the file is a vcard
|
||||
|
||||
MIMETYPE=$(file --mime-type -b "$FILE")
|
||||
CONTROL="text/vcard"
|
||||
|
||||
if [[ "$MIMETYPE" != "$CONTROL" ]]; then
|
||||
$NOTIFY_SEND -t 1000 "File is not a vcard! Bye!" && exit 1
|
||||
fi
|
||||
|
||||
#Begin importing contacts
|
||||
|
||||
cd "$TEMP"
|
||||
|
||||
awk ' /BEGIN:VCARD/ { ++a; fn=sprintf("card_import_L5_%02d.vcf", a); print "Writing: ", fn } { print $0 >> fn; } ' "$FILE"
|
||||
|
||||
RET=0
|
||||
for f in "$TEMP"/card_import_L5*
|
||||
do
|
||||
syncevolution --import "${f%}" backend=evolution-contacts database="${CONTACTDB}" || RET=1
|
||||
done
|
||||
|
||||
if [ $RET -eq 0 ]
|
||||
then
|
||||
$NOTIFY_SEND "Successful import"
|
||||
exit 0
|
||||
else
|
||||
$NOTIFY_SEND "Error"
|
||||
exit 1
|
||||
fi
|
10
l5-contacts-importer.desktop
Normal file
10
l5-contacts-importer.desktop
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Name=Contacts Importer
|
||||
Type=Application
|
||||
Icon=preferences-desktop-personal
|
||||
Exec=/usr/bin/l5-contacts-importer %U
|
||||
Categories=Utility;
|
||||
MimeType=text/x-vcard;
|
||||
# Translators: Do NOT translate or transliterate this text (these are enum types)!
|
||||
X-Purism-FormFactor=Workstation;Mobile;
|
||||
|
40
l5-screen-recorder
Executable file
40
l5-screen-recorder
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
# GPL3
|
||||
|
||||
function usage()
|
||||
{
|
||||
echo "Usage: Just press the Screen Shot Icon in the app tray"
|
||||
exit 0
|
||||
}
|
||||
|
||||
NOTIFY_SEND="notify-send -i emblem-videos-symbolic"
|
||||
|
||||
case "$1" in
|
||||
--help|-h|-?)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
|
||||
VIDEO="$(xdg-user-dir VIDEOS)/$(date +%Y-%m-%d-%H%M%S).avi"
|
||||
yad --title ScreenCapture --text "A simple GUI to record the screen" --button="Start capture:100" --button="Quit:0" --buttons-layout=center
|
||||
start_window_return=$?
|
||||
|
||||
if [[ $start_window_return -eq 100 ]]
|
||||
then
|
||||
wf-recorder -a -f "$VIDEO" --codec=asv1 &
|
||||
else
|
||||
exit
|
||||
fi
|
||||
|
||||
yad --title ScreenCapture --text "Screen capture is actively running. \\nFile: $VIDEO" --button='Stop capture:100' --buttons-layout=center
|
||||
exit_window_return=$?
|
||||
|
||||
if [[ $exit_window_return -eq 100 ]]
|
||||
then
|
||||
killall -2 wf-recorder
|
||||
fi
|
||||
|
||||
if test -f "$VIDEO"
|
||||
then
|
||||
$NOTIFY_SEND ScreenCapture "Video stored at $VIDEO"
|
||||
fi
|
8
l5-screen-recorder.desktop
Normal file
8
l5-screen-recorder.desktop
Normal file
|
@ -0,0 +1,8 @@
|
|||
[Desktop Entry]
|
||||
Name=Screen Recorder
|
||||
Type=Application
|
||||
Icon=emblem-videos-symbolic
|
||||
Exec=/usr/bin/l5-screen-recorder
|
||||
Categories=Utility;
|
||||
# Translators: Do NOT translate or transliterate this text (these are enum types)!
|
||||
X-Purism-FormFactor=Workstation;Mobile;
|
44
l5-screenshot
Executable file
44
l5-screenshot
Executable file
|
@ -0,0 +1,44 @@
|
|||
#!/bin/bash
|
||||
# This screenshot program was based on an initial command-line only version
|
||||
# by the purismforum user in community/librem-5
|
||||
#
|
||||
# I've since expanded it to use libnotify and provide a GUI
|
||||
# It requires the grim, libnotify-bin and yad packages:
|
||||
# sudo apt install grim yad libnotify-bin
|
||||
|
||||
# Adding usage information and Icon to libnotify
|
||||
|
||||
function usage()
|
||||
{
|
||||
echo "Usage: $0, or just press the Screen Shot Icon in the app tray"
|
||||
exit 0
|
||||
}
|
||||
|
||||
NOTIFY_SEND="notify-send -i applets-screenshooter"
|
||||
|
||||
case "$1" in
|
||||
--help|-h|-?)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
|
||||
#Variable
|
||||
|
||||
SCREENSHOT="$(xdg-user-dir PICTURES)/$(date +%Y-%m-%d-%H%M%S).png"
|
||||
|
||||
if [ -e /usr/bin/yad ]; then
|
||||
INPUT=$(yad --title Screenshot --text="Take screenshot after X seconds" --form --field=filename:SFL --field=seconds:NUM "$SCREENSHOT" "5" --focus-field=2)
|
||||
echo "$INPUT"
|
||||
SCREENSHOT=$(echo "$INPUT" | cut -d '|' -f1)
|
||||
SECONDS=$(echo "$INPUT" | cut -d '|' -f2)
|
||||
else
|
||||
SECONDS=$(yad --title Screenshot --text="Take screenshot after X seconds" --entry-text=5 --entry)
|
||||
fi
|
||||
|
||||
if [ "$SECONDS" -eq 0 ]; then
|
||||
exit
|
||||
fi
|
||||
$NOTIFY_SEND -t 1000 screenshot "Taking a screenshot in $SECONDS seconds"
|
||||
sleep "$SECONDS";
|
||||
grim "$SCREENSHOT"
|
||||
$NOTIFY_SEND screenshot "Screenshot stored at ${SCREENSHOT}"
|
9
l5-screenshot.desktop
Normal file
9
l5-screenshot.desktop
Normal file
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Name=Screen Shot
|
||||
Type=Application
|
||||
Icon=applets-screenshooter
|
||||
Exec=/usr/bin/l5-screenshot %U
|
||||
Categories=Utility;
|
||||
# Translators: Do NOT translate or transliterate this text (these are enum types)!
|
||||
X-Purism-FormFactor=Workstation;Mobile;
|
||||
|
31
sm.puri.librem5.goodies.appdata.xml
Normal file
31
sm.puri.librem5.goodies.appdata.xml
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2018-2019 Purism, SPC -->
|
||||
<component type="desktop-application">
|
||||
<id>sm.puri.librem5.goodies</id>
|
||||
<metadata_license>gpl-3+</metadata_license>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<name>Librem 5 Goodies</name>
|
||||
<summary>A collection of bash scripts for the Librem 5</summary>
|
||||
|
||||
<description>
|
||||
<p>Librem5 Goodies contains the following scripts:</p>
|
||||
<p>- Contacts importer: An application to import contacts from a vcard</p>
|
||||
<p>- Screen Shot: An application to make screenshots of the Librem 5</p>
|
||||
<p>- Screen recorder: An application to record the Librem 5 screen</p>
|
||||
</description>
|
||||
<url type="homepage">https://source.puri.sm/librem5-apps/librem5-goodies/</url>
|
||||
<developer_name>Purism Developers</developer_name>
|
||||
|
||||
<update_contact>support@puri.sm</update_contact>
|
||||
|
||||
<custom>
|
||||
<value key="Purism::form_factor">workstation</value>
|
||||
<value key="Purism::form_factor">mobile</value>
|
||||
</custom>
|
||||
|
||||
<provides>
|
||||
<binary>librem5-goodies</binary>
|
||||
</provides>
|
||||
|
||||
</component>
|
||||
|
Loading…
Reference in a new issue