├── .circleci └── config.yml ├── .gitignore ├── Readme.md ├── build ├── build-order ├── bump-versions ├── makepot ├── nemo-audio-tab ├── COPYING.GPL3 ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ └── rules ├── nemo-extension │ ├── nemo-audio-tab.glade │ └── nemo-audio-tab.py └── setup.py ├── nemo-compare ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── install │ ├── manpages │ ├── nemo-compare-preferences.1 │ └── rules ├── nemo-compare │ └── COPYING.GPL3 ├── setup.py └── src │ ├── nemo-compare-preferences │ ├── nemo-compare-preferences.py │ ├── nemo-compare.py │ └── utils.py ├── nemo-dropbox ├── AUTHORS ├── COPYING ├── ChangeLog ├── NEWS ├── README ├── data │ ├── emblems │ │ ├── emblem-dropbox-syncing.icon │ │ ├── emblem-dropbox-syncing.png │ │ ├── emblem-dropbox-unsyncable.icon │ │ ├── emblem-dropbox-unsyncable.png │ │ ├── emblem-dropbox-uptodate.icon │ │ └── emblem-dropbox-uptodate.png │ ├── icons │ │ └── hicolor │ │ │ └── symbolic │ │ │ └── apps │ │ │ └── nemo-dropbox-symbolic.svg │ └── meson.build ├── debian │ ├── TODO │ ├── changelog │ ├── control │ ├── copyright │ ├── nemo-dropbox.dirs │ ├── nemo-dropbox.lintian-overrides │ ├── nemo-dropbox.postinst │ ├── nemo-dropbox.postrm │ ├── nemo-dropbox.prerm │ └── rules ├── meson.build ├── meson_options.txt └── src │ ├── async-io-coroutine.h │ ├── dropbox-client-util.c │ ├── dropbox-client-util.h │ ├── dropbox-client.c │ ├── dropbox-client.h │ ├── dropbox-command-client.c │ ├── dropbox-command-client.h │ ├── dropbox.c │ ├── g-util.h │ ├── meson.build │ ├── nemo-dropbox-hooks.c │ ├── nemo-dropbox-hooks.h │ ├── nemo-dropbox.c │ └── nemo-dropbox.h ├── nemo-emblems ├── COPYING.GPL3 ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── install │ └── rules ├── nemo-extension │ └── nemo-emblems.py └── setup.py ├── nemo-extensions.pot ├── nemo-fileroller ├── AUTHORS ├── COPYING ├── ChangeLog ├── NEWS ├── README ├── debian │ ├── changelog │ ├── control │ ├── copyright │ ├── rules │ └── source │ │ └── format ├── meson.build ├── meson_options.txt └── src │ ├── fileroller-module.c │ ├── meson.build │ ├── nemo-fileroller.c │ └── nemo-fileroller.h ├── nemo-image-converter ├── AUTHORS ├── COPYING ├── ChangeLog ├── NEWS ├── README ├── data │ ├── meson.build │ ├── nemo-image-resize.ui │ └── nemo-image-rotate.ui ├── debian │ ├── changelog │ ├── control │ ├── copyright │ └── rules ├── meson.build ├── nemo-image-converter.doap └── src │ ├── image-converter.c │ ├── meson.build │ ├── nemo-image-converter.c │ ├── nemo-image-converter.h │ ├── nemo-image-resizer.c │ ├── nemo-image-resizer.h │ ├── nemo-image-rotator.c │ └── nemo-image-rotator.h ├── nemo-media-columns ├── AUTHORS ├── COPYING ├── MAINTAINERS ├── README ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── rules │ └── source │ │ └── format ├── nemo-media-columns-prefs ├── nemo-media-columns.py ├── org.nemo.extensions.nemo-media-columns.gschema.xml └── setup.py ├── nemo-pastebin ├── COPYING ├── NEWS ├── README ├── data │ ├── nemo-pastebin-configurator.1 │ ├── nemo-pastebin-configurator.ui │ ├── nemo-pastebin.gschema.xml │ ├── nemo-pastebin.png │ └── nemo-pastebin.svg ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── nemo-pastebin.manpages │ └── rules ├── setup.cfg ├── setup.py └── src │ ├── nemo-pastebin-configurator │ ├── nemo-pastebin-configurator.py │ └── nemo-pastebin.py ├── nemo-preview ├── AUTHORS ├── COPYING ├── NEWS ├── README ├── TODO ├── data │ ├── meson.build │ └── org.nemo.Preview.service.in ├── debian │ ├── changelog │ ├── control │ ├── copyright │ ├── docs │ ├── rules │ └── source │ │ └── format ├── meson.build └── src │ ├── js │ ├── ui │ │ ├── application.js │ │ ├── fallbackRenderer.js │ │ ├── main.js │ │ ├── mainWindow.js │ │ ├── mimeHandler.js │ │ ├── spinnerBox.js │ │ ├── tweener.js │ │ └── utils.js │ ├── util │ │ ├── constants.js │ │ ├── path.js.in │ │ └── totemMimeTypes.js │ └── viewers │ │ ├── audio.js │ │ ├── font.js │ │ ├── gst.js │ │ ├── html.js │ │ ├── image.js │ │ ├── text.js │ │ └── xreader.js │ ├── libnemo-preview │ ├── meson.build │ ├── nemo-preview-cover-art.c │ ├── nemo-preview-cover-art.h │ ├── nemo-preview-enum-types.c.in │ ├── nemo-preview-enum-types.h.in │ ├── nemo-preview-file-loader.c │ ├── nemo-preview-file-loader.h │ ├── nemo-preview-font-loader.c │ ├── nemo-preview-font-loader.h │ ├── nemo-preview-font-widget.c │ ├── nemo-preview-font-widget.h │ ├── nemo-preview-pdf-loader.c │ ├── nemo-preview-pdf-loader.h │ ├── nemo-preview-sound-player.c │ ├── nemo-preview-sound-player.h │ ├── nemo-preview-text-loader.c │ ├── nemo-preview-text-loader.h │ ├── nemo-preview-utils.c │ └── nemo-preview-utils.h │ ├── main.c │ ├── meson.build │ ├── nemo-preview.in │ ├── org.nemo.Preview.gresource.xml │ └── resources │ └── gtk-style.css ├── nemo-python ├── AUTHORS ├── COPYING ├── ChangeLog ├── NEWS ├── README ├── debian │ ├── NEWS │ ├── README.Debian │ ├── changelog │ ├── control │ ├── copyright │ ├── docs │ ├── python-nemo.install │ ├── rules │ └── source │ │ └── format ├── docs │ ├── meson.build │ └── reference │ │ ├── entities.docbook.in │ │ ├── meson.build │ │ ├── nemo-python-class-reference.xml │ │ ├── nemo-python-column-provider.xml │ │ ├── nemo-python-column.xml │ │ ├── nemo-python-enum-reference.xml │ │ ├── nemo-python-file-info.xml │ │ ├── nemo-python-info-provider.xml │ │ ├── nemo-python-location-widget-provider.xml │ │ ├── nemo-python-menu-item.xml │ │ ├── nemo-python-menu-provider.xml │ │ ├── nemo-python-menu.xml │ │ ├── nemo-python-operation-result.xml │ │ ├── nemo-python-overview-example.xml │ │ ├── nemo-python-overview-methods.xml │ │ ├── nemo-python-overview.xml │ │ ├── nemo-python-property-page-provider.xml │ │ ├── nemo-python-property-page.xml │ │ ├── nemo-python-provider-reference.xml │ │ └── nemo-python-ref.xml ├── examples │ ├── README │ ├── background-image.py │ ├── block-size-column.py │ ├── location-widget-provider.py │ ├── md5sum-property-page.py │ ├── open-terminal.py │ ├── submenu.py │ └── update-file-info-async.py ├── meson.build ├── meson_options.txt ├── nemo-python.pc.in └── src │ ├── meson.build │ ├── nemo-python-object.c │ ├── nemo-python-object.h │ ├── nemo-python.c │ └── nemo-python.h ├── nemo-repairer ├── AUTHORS ├── COPYING ├── ChangeLog ├── NEWS ├── README ├── debian │ ├── changelog │ ├── control │ ├── copyright │ ├── nemo-filename-repairer.docs │ └── rules ├── meson.build └── src │ ├── encoding-dialog.c │ ├── encoding-dialog.h │ ├── encoding-dialog.ui │ ├── filename-repairer.c │ ├── meson.build │ ├── nemo-filename-repairer.c │ ├── nemo-filename-repairer.h │ ├── repair-dialog.c │ ├── repair-dialog.h │ ├── repair-dialog.ui │ └── repairer.c ├── nemo-seahorse ├── AUTHORS ├── COPYING ├── ChangeLog ├── MAINTAINERS ├── NEWS ├── README ├── THANKS ├── data │ ├── meson.build │ ├── nemo-seahorse-tool.1 │ ├── org.nemo.plugins.seahorse.gschema.xml │ └── org.nemo.plugins.seahorse.window.gschema.xml ├── debian │ ├── changelog │ ├── control │ ├── copyright │ ├── nemo-seahorse.lintian-overrides │ └── rules ├── meson.build ├── meson_options.txt ├── nemo-ext │ ├── meson.build │ ├── nemo-seahorse-module.c │ ├── nemo-seahorse.c │ └── nemo-seahorse.h └── tool │ ├── meson.build │ ├── seahorse-libdialogs.h │ ├── seahorse-marshal.c │ ├── seahorse-marshal.h │ ├── seahorse-marshal.list │ ├── seahorse-multi-encrypt.xml │ ├── seahorse-notification.c │ ├── seahorse-notify.xml │ ├── seahorse-operation.c │ ├── seahorse-operation.h │ ├── seahorse-passphrase.c │ ├── seahorse-passphrase.h │ ├── seahorse-pgp-operation.c │ ├── seahorse-pgp-operation.h │ ├── seahorse-progress.c │ ├── seahorse-progress.h │ ├── seahorse-progress.xml │ ├── seahorse-tool-files.c │ ├── seahorse-tool-progress.c │ ├── seahorse-tool.c │ ├── seahorse-tool.h │ ├── seahorse-util.c │ ├── seahorse-util.h │ ├── seahorse-vfs-data.c │ ├── seahorse-vfs-data.h │ ├── seahorse-widget.c │ └── seahorse-widget.h ├── nemo-share ├── AUTHORS ├── COPYING ├── ChangeLog ├── NEWS ├── README ├── TODO ├── debian │ ├── README.Debian │ ├── README.source │ ├── changelog │ ├── control │ ├── copyright │ ├── examples │ ├── rules │ └── smb.conf ├── interfaces │ ├── meson.build │ └── share-dialog.ui ├── meson.build ├── meson_options.txt └── src │ ├── check-directory-permissions │ ├── install-samba │ ├── meson.build │ ├── nemo-share.c │ ├── nemo-share.h │ ├── org.nemo.share.samba_install.policy.in │ ├── shares.c │ └── shares.h └── nemo-terminal ├── AUTHORS ├── COPYING ├── README ├── debian ├── changelog ├── compat ├── control ├── copyright └── rules ├── pixmap └── logo_120x120.png ├── setup.py └── src ├── nemo-terminal-prefs ├── nemo-terminal-prefs.py ├── nemo_terminal.py └── org.nemo.extensions.nemo-terminal.gschema.xml /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.1 2 | 3 | shared: &shared 4 | steps: 5 | 6 | - checkout 7 | 8 | - run: 9 | name: Prepare environment 10 | command: apt-get update 11 | 12 | - run: 13 | name: Install dependencies 14 | command: | 15 | wget https://github.com/linuxmint/xapps/releases/download/master.${CIRCLE_JOB}/packages.tar.gz -O xapps.tar.gz 16 | wget https://github.com/linuxmint/cinnamon-desktop/releases/download/master.${CIRCLE_JOB}/packages.tar.gz -O cinnamon-desktop.tar.gz 17 | wget https://github.com/linuxmint/nemo/releases/download/master.${CIRCLE_JOB}/packages.tar.gz -O nemo.tar.gz 18 | ls *.tar.gz | xargs -i tar zxvf {} 19 | apt install --yes --allow-downgrades ./packages/*.deb 20 | rm -rf packages 21 | 22 | - run: 23 | name: Build all extensions 24 | command: ./build 25 | 26 | - when: 27 | condition: 28 | not: "$CIRCLE_PULL_REQUEST" 29 | steps: 30 | - run: 31 | name: Prepare packages 32 | command: | 33 | mkdir /packages 34 | mv *.deb /packages/ 35 | git log > /packages/git.log 36 | cd / 37 | tar zcvf packages.tar.gz packages 38 | 39 | - run: 40 | name: Deploy packages to Github 41 | command: | 42 | wget https://github.com/tcnksm/ghr/releases/download/v0.5.4/ghr_v0.5.4_linux_amd64.zip 43 | apt-get install --yes unzip 44 | unzip ghr_v0.5.4_linux_amd64.zip 45 | TAG="master".$CIRCLE_JOB 46 | ./ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME -replace $TAG /packages.tar.gz 47 | ./ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME -recreate -b "Latest unstable packages" $TAG /packages.tar.gz 48 | 49 | jobs: 50 | "mint21": 51 | <<: *shared 52 | docker: 53 | - image: linuxmintd/mint21-amd64 54 | 55 | "lmde5": 56 | <<: *shared 57 | docker: 58 | - image: linuxmintd/lmde5-amd64 59 | 60 | workflows: 61 | version: 2 62 | build: 63 | jobs: 64 | - "mint21" 65 | - "lmde5" 66 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.buildinfo 2 | *.changes 3 | *.ddeb 4 | *.deb 5 | *.debhelper.log 6 | *.dsc 7 | *.egg-info/ 8 | *.gz 9 | *.substvars 10 | *.xz 11 | .debhelper/ 12 | .pybuild/ 13 | _build/ 14 | debhelper-build-stamp 15 | files 16 | nemo-audio-tab/debian/nemo-audio-tab/ 17 | nemo-compare/debian/nemo-compare/ 18 | nemo-dropbox/debian/nemo-dropbox/ 19 | nemo-emblems/debian/nemo-emblems/ 20 | nemo-fileroller/debian/nemo-fileroller/ 21 | nemo-image-converter/debian/nemo-image-converter/ 22 | nemo-media-columns/debian/nemo-media-columns/ 23 | nemo-pastebin/debian/nemo-pastebin/ 24 | nemo-preview/debian/nemo-preview/ 25 | nemo-python/debian/python-nemo-dbg/ 26 | nemo-python/debian/python-nemo/ 27 | nemo-repairer/debian/nemo-filename-repairer/ 28 | nemo-seahorse/debian/nemo-seahorse/ 29 | nemo-share/debian/nemo-share/ 30 | nemo-terminal/debian/nemo-terminal/ 31 | tmp/ 32 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Nemo Extensions 2 | 3 | ## Status 4 | 5 | - nemo-wallpaper: (built in to Nemo) 6 | - nemo-dropbox: functional 7 | - nemo-fileroller: functional 8 | - nemo-seahorse: functional 9 | - nemo-share: functional 10 | - nemo-pastebin: functional 11 | - nemo-compare: functional 12 | - nemo-python (python bindings for Nemo): functional 13 | - nemo-terminal: functional (forked from nautilus-terminal-1.0.0) 14 | - nemo-filename-repairer forked from (nautilus-filename-repairer-0.0.6) 15 | - nemo-image-converter forked from (nautilus-image-converter-0.3.1) 16 | - nemo-audio-tab forked from nemo-media-columns and nemo-emblems 17 | 18 | ## NOT YET INCLUDED: 19 | 20 | - nemo-bzr: part of bzr-gtk, needs to be isolated from it 21 | 22 | ## NAUTILUS EXTENSIONS MISSING IN NEMO: 23 | 24 | - nautilus-actions - nautilus extension to configure programs t 25 | - nautilus-clamscan - Antivirus scanning for Nautilus 26 | - nautilus-ideviceinfo - utility showing information of idevices on 27 | - nautilus-image-manipulator - Resize and send images from Nautilus 28 | - nautilus-qdigidoc - Nautilus file manager support for QDigiDoc 29 | - nautilus-script-audio-convert - A nautilus audio converter script 30 | - nautilus-script-collection-svn - Nautilus subversion management scripts 31 | - nautilus-script-manager - A simple management tool for nautilus scri 32 | - nautilus-script-purrr - 33 | - nautilus-scripts-manager - simple tool for nautilus scripts managemen 34 | - nautilus-search - Add gnome-search-tool to context menu 35 | - nautilus-sendto-empathy - GNOME multi-protocol chat and call client 36 | - nautilus-wipe - Secure deletion extension for Nautilus 37 | -------------------------------------------------------------------------------- /build: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -Eeuo pipefail 3 | 4 | if (( $# >= 1 )); then 5 | projects=( "$@" ) 6 | else 7 | readarray -t projects < <(grep -v '# ' build-order) 8 | fi 9 | 10 | for project in "${projects[@]}"; do 11 | echo .... 12 | echo .... 13 | echo ........................................... BUILDING: "$project" 14 | echo .... 15 | echo .... 16 | 17 | pushd "$project" >/dev/null 18 | mint-build 19 | popd >/dev/null 20 | done 21 | -------------------------------------------------------------------------------- /build-order: -------------------------------------------------------------------------------- 1 | # nemo-python is needed for some of the 2 | # subprojects to install properly. 3 | nemo-python 4 | nemo-audio-tab 5 | nemo-compare 6 | nemo-dropbox 7 | nemo-emblems 8 | nemo-fileroller 9 | nemo-image-converter 10 | nemo-media-columns 11 | nemo-pastebin 12 | nemo-preview 13 | nemo-repairer 14 | nemo-seahorse 15 | nemo-share 16 | nemo-terminal 17 | -------------------------------------------------------------------------------- /bump-versions: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | import argparse 3 | import os 4 | import subprocess 5 | import sys 6 | 7 | parser = argparse.ArgumentParser(description='Bumps versions for a new Cinnamon release.') 8 | parser.add_argument('-c', '--codename', required=True, help='a Mint codename') 9 | parser.add_argument('-v', '--version', required=True, help='a version number') 10 | args = parser.parse_args() 11 | 12 | 13 | with open('build-order') as build_order_file: 14 | projects = [line.strip() for line in build_order_file if not '#' in line] 15 | 16 | for project in projects: 17 | os.chdir(project) 18 | print("") 19 | print(" ", project) 20 | print("----------------") 21 | 22 | for filename in ["setup.py", "meson.build"]: 23 | if os.path.exists(filename): 24 | subprocess.call("sed -i '/version/ {/dependency/! s/[0-9].[0-9].[0-9]/%s/}' %s" % (args.version, filename), shell=True) 25 | 26 | for filename in ["PKG-INFO"]: 27 | if os.path.exists(filename): 28 | subprocess.call(["sed", "-i", "/Version:/s/[0-9].[0-9].[0-9]/%s/" % args.version, filename]) 29 | 30 | subprocess.call(["dch", "--distribution", args.codename, "-v", args.version, args.version], stdout=None, stderr=None) 31 | os.chdir("..") 32 | print("----------------") 33 | -------------------------------------------------------------------------------- /makepot: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -Eeuo pipefail 3 | 4 | pot="nemo-extensions.pot" 5 | 6 | rm -f ${pot} 7 | touch ${pot} 8 | 9 | potfiles_to_extract=( 10 | nemo-audio-tab/nemo-extension/nemo-audio-tab.glade 11 | nemo-image-converter/data/nemo-image-resize.ui 12 | nemo-image-converter/data/nemo-image-rotate.ui 13 | nemo-pastebin/data/nemo-pastebin-configurator.ui 14 | nemo-repairer/src/encoding-dialog.ui 15 | nemo-repairer/src/repair-dialog.ui 16 | nemo-seahorse/tool/seahorse-multi-encrypt.xml 17 | nemo-seahorse/tool/seahorse-notify.xml 18 | nemo-seahorse/tool/seahorse-progress.xml 19 | nemo-share/interfaces/share-dialog.ui 20 | ) 21 | 22 | potfiles_extracted=( ) 23 | for file in "${potfiles_to_extract[@]}"; do 24 | intltool-extract --type=gettext/glade "$file" 25 | potfiles_extracted+=( "${file}.h" ) 26 | done 27 | 28 | potfiles_c=( 29 | nemo-dropbox/src/*.c 30 | nemo-dropbox/src/*.h 31 | nemo-fileroller/src/*.c 32 | nemo-fileroller/src/*.h 33 | nemo-image-converter/data/*.ui.h 34 | nemo-image-converter/src/*.c 35 | nemo-image-converter/src/*.h 36 | nemo-preview/src/*.c 37 | nemo-preview/src/libnemo-preview/*.c 38 | nemo-preview/src/libnemo-preview/*.h 39 | nemo-repairer/src/*.c 40 | nemo-repairer/src/*.h 41 | nemo-repairer/src/*.ui.h 42 | nemo-seahorse/nemo-ext/*.c 43 | nemo-seahorse/nemo-ext/*.h 44 | nemo-seahorse/tool/*.c 45 | nemo-seahorse/tool/*.h 46 | nemo-seahorse/tool/*.xml.h 47 | nemo-share/interfaces/*.ui.h 48 | nemo-share/src/*.c 49 | nemo-share/src/*.h 50 | ) 51 | potfiles_python=( 52 | nemo-audio-tab/nemo-extension/*.glade.h 53 | nemo-audio-tab/nemo-extension/*.py 54 | nemo-compare/src/*.py 55 | nemo-emblems/nemo-extension/*.py 56 | nemo-media-columns/*.py 57 | nemo-pastebin/*.py 58 | nemo-pastebin/src/*.py 59 | nemo-pastebin/data/*.ui.h 60 | nemo-terminal/src/*.py 61 | 62 | ) 63 | potfiles_javascript=( 64 | nemo-preview/src/js/*/*.js 65 | ) 66 | 67 | xgettext --language=C --keyword=_ --keyword=N_ --keyword=g_dngettext:2,3 --output="$pot" --join-existing "${potfiles_c[@]}" 68 | xgettext --language=JavaScript --keyword=_ --keyword=N_ --output="$pot" --join-existing "${potfiles_javascript[@]}" 69 | xgettext --language=Python --keyword=_ --keyword=N_ --output="$pot" --join-existing "${potfiles_python[@]}" 70 | 71 | rm -f "${potfiles_extracted[@]}" 72 | -------------------------------------------------------------------------------- /nemo-audio-tab/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /nemo-audio-tab/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-audio-tab 2 | Section: gnome 3 | Priority: extra 4 | Maintainer: Linux Mint 5 | Build-Depends: debhelper (>= 9), 6 | python3-all, 7 | python3-setuptools, 8 | dh-python 9 | Standards-Version: 3.9.6 10 | Homepage: https://github.com/linuxmint/nemo-extensions 11 | 12 | Package: nemo-audio-tab 13 | Architecture: all 14 | Section: utils 15 | Priority: extra 16 | Depends: ${misc:Depends}, 17 | gir1.2-nemo-3.0, 18 | gir1.2-gtk-3.0, 19 | gir1.2-glib-2.0, 20 | python-nemo (>= 3.9.0), 21 | python3-mutagen 22 | Description: View audio tag information from the file manager's properties tab 23 | -------------------------------------------------------------------------------- /nemo-audio-tab/debian/copyright: -------------------------------------------------------------------------------- 1 | Files: *.* 2 | Copyright: 2015 Linux Mint 3 | License: GPL-3 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; version 3 dated June, 2007. 7 | . 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | . 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 16 | MA 02110-1301, USA. 17 | . 18 | The full text of the can be found in the file 19 | '/usr/share/common-licenses/GPL-3'. 20 | 21 | -------------------------------------------------------------------------------- /nemo-audio-tab/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export PYBUILD_NAME=nemo-audio-tab 4 | 5 | %: 6 | dh $@ --with python3 --buildsystem=pybuild 7 | -------------------------------------------------------------------------------- /nemo-audio-tab/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | from setuptools import setup 4 | 5 | # Create data files 6 | 7 | # Setup stage 8 | setup( packages=[], 9 | name = "nemo-audio-tab", 10 | version = "6.4.0", 11 | description = "View audio tag information from the file manager's properties tab", 12 | author = "Linux Mint", 13 | author_email = "root@linuxmint.com", 14 | url = "https://github.com/linuxmint/nemo-extensions", 15 | license = "GPL3", 16 | 17 | # See debian/control for install-depends - this is useless here, except as reference. 18 | # install_requires (and only works with python modules. It's equally as bad to have 19 | # some deps here, then draw them into debian/control using {python3:Depends} and add 20 | # them to our non-python depends. 21 | 22 | # install_requires = [ 23 | # 'gir1.2-nemo-3.0', 24 | # 'gir1.2-gtk-3.0', 25 | # 'gir1.2-glib-2.0', 26 | # 'python-nemo', 27 | # 'python3-mutagen' 28 | # ] 29 | 30 | data_files = [ 31 | ('/usr/share/nemo-python/extensions', ['nemo-extension/nemo-audio-tab.py']), 32 | ('/usr/share/nemo-audio-tab', ['nemo-extension/nemo-audio-tab.glade']) 33 | ] 34 | ) 35 | -------------------------------------------------------------------------------- /nemo-compare/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /nemo-compare/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-compare 2 | Section: gnome 3 | Priority: extra 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper (>= 9), 6 | python3-all, 7 | python3-setuptools, 8 | dh-python 9 | Standards-Version: 3.9.6 10 | 11 | Package: nemo-compare 12 | Architecture: all 13 | Depends: ${misc:Depends}, 14 | nemo (>= 3.8), 15 | python3, 16 | python-nemo (>= 3.9.0), 17 | meld | kdiff3 | kdiff3-qt | diffuse | kompare | fldiff | tkdiff | bcompare 18 | Description: Context menu comparison extension for Nemo file manager 19 | Simple context menu file comparison extension for Nemo, 20 | inspired by the discontinued 'diff-ext' extension. By default it uses 21 | 'meld' to do the comparison and provides "Compare", "Compare to ~/foo/bar" 22 | and "Compare Later" in Nemo context menu. Using the configurator tool 23 | you can choose your favourite compare tool for one-on-one, three-way and 24 | multi-compare situations. 25 | -------------------------------------------------------------------------------- /nemo-compare/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://dep.debian.net/deps/dep5 2 | Upstream-Name: nemo-compare 3 | Source: https://launchpad.net/nemo-compare 4 | 5 | Files: * 6 | Copyright: 2011, Guido Tabbernuk 7 | License: GPL-3+ 8 | 9 | Files: debian/* 10 | Copyright: 2011, Guido Tabbernuk 11 | License: GPL-3+ 12 | 13 | License: GPL-3+ 14 | This program is free software: you can redistribute it and/or modify 15 | it under the terms of the GNU General Public License as published by 16 | the Free Software Foundation, either version 3 of the License, or 17 | (at your option) any later version. 18 | . 19 | This program is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | GNU General Public License for more details. 23 | . 24 | You should have received a copy of the GNU General Public License 25 | along with this program. If not, see . 26 | . 27 | On Debian systems, the complete text of the GNU General 28 | Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". 29 | 30 | -------------------------------------------------------------------------------- /nemo-compare/debian/install: -------------------------------------------------------------------------------- 1 | /src/nemo-compare.py /usr/share/nemo-compare/ 2 | /src/utils.py /usr/share/nemo-compare/ 3 | /src/nemo-compare-preferences.py /usr/share/nemo-compare/ 4 | 5 | -------------------------------------------------------------------------------- /nemo-compare/debian/manpages: -------------------------------------------------------------------------------- 1 | debian/nemo-compare-preferences.1 2 | -------------------------------------------------------------------------------- /nemo-compare/debian/nemo-compare-preferences.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .\" First parameter, NAME, should be all caps 3 | .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection 4 | .\" other parameters are allowed: see man(7), man(1) 5 | .TH NEMO-COMPARE-PREFERENCES 1 "October 29, 2011" 6 | .\" Please adjust this date whenever revising the manpage. 7 | .\" 8 | .\" Some roff macros, for reference: 9 | .\" .nh disable hyphenation 10 | .\" .hy enable hyphenation 11 | .\" .ad l left justify 12 | .\" .ad b justify to both left and right margins 13 | .\" .nf disable filling 14 | .\" .fi enable filling 15 | .\" .br insert line break 16 | .\" .sp insert n+1 empty lines 17 | .\" for manpage-specific macros, see man(7) 18 | .SH NAME 19 | nemo-compare-preferences \- Nemo Compare preferences dialog 20 | .SH SYNOPSIS 21 | .B nemo-compare-preferences 22 | .SH DESCRIPTION 23 | .B 'nemo-compare-preferences' is a graphical tool to set preferences for 24 | .B Nemo Compare 25 | which is a small extension for the Nemo file manager, which allows users 26 | to compare selected files from the context menu as well as remember them for 27 | later comparison. 28 | .PP 29 | .B nemo-compare-preferences 30 | has been written in Python and GTK+, and after installing the application you 31 | can run it from the application launcher. 32 | .SH SEE ALSO 33 | .BR nemo (1) 34 | .br 35 | .SH AUTHOR 36 | .nh 37 | nemo-compare-preferences was written by Guido Tabbernuk 38 | . 39 | .PP 40 | This manual page was written by Guido Tabbernuk , 41 | for the Debian project (and may be used by others). 42 | -------------------------------------------------------------------------------- /nemo-compare/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export PYBUILD_NAME=nemo-compare 4 | 5 | %: 6 | dh $@ --with python3 --buildsystem=pybuild 7 | 8 | -------------------------------------------------------------------------------- /nemo-compare/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Nemo Compare 4 | 5 | from setuptools import setup 6 | 7 | # Setup stage 8 | setup( packages=[], 9 | name = "nemo-compare", 10 | version = "6.4.0", 11 | description = "Context menu comparison extension for Nemo file manager", 12 | author = "Linux Mint", 13 | author_email = "root@linuxmint.com", 14 | url = "https://github.com/linuxmint/nemo-extensions", 15 | license = "GPL3", 16 | 17 | # See debian/control for install-depends - this is useless here, except as reference. 18 | # install_requires (and only works with python modules. It's equally as bad to have 19 | # some deps here, then draw them into debian/control using {python3:Depends} and add 20 | # them to our non-python depends. 21 | 22 | # install_requires = ['gir1.2-nemo-3.0 >=3.8', 23 | # 'python-nemo >=3.8', 24 | # 'meld'], 25 | data_files = [ 26 | ('/usr/share/nemo-python/extensions', ['src/nemo-compare.py']), 27 | ('/usr/share/nemo-compare', ['src/nemo-compare-preferences.py', 'src/utils.py']), 28 | ('/usr/bin', ['src/nemo-compare-preferences']) 29 | ] 30 | ) 31 | -------------------------------------------------------------------------------- /nemo-compare/src/nemo-compare-preferences: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import subprocess 4 | import sys 5 | 6 | sys.exit(subprocess.call(["/usr/share/nemo-compare/nemo-compare-preferences.py"])) 7 | -------------------------------------------------------------------------------- /nemo-dropbox/AUTHORS: -------------------------------------------------------------------------------- 1 | Rian Hunter 2 | Mike Haimes 3 | David Euresti -------------------------------------------------------------------------------- /nemo-dropbox/NEWS: -------------------------------------------------------------------------------- 1 | nemo-dropbox 0.1.0 2 | ========================== 3 | "Hornay" 4 | 5 | * Initial release. 6 | -------------------------------------------------------------------------------- /nemo-dropbox/README: -------------------------------------------------------------------------------- 1 | Hi Friend! 2 | 3 | This is *the* Dropbox extension for Nemo!!! 4 | 5 | Now you can use your favorite sync, versioning, and backup software with GNU/Linux! 6 | Yes!! Radical!!! Gnarly!!!! 7 | 8 | Check us out at http://www.dropbox.com/ 9 | 10 | <3, 11 | Rian Hunter and the rest of the Dropbox Team 12 | 13 | Building Dropbox Nemo Extension From Source Tarball 14 | -------------------------------------------------- 15 | 16 | You will need the following packages (or equivalent): 17 | 18 | libnemo-extension-dev 19 | 20 | In the nemo-dropbox dir just do: 21 | $ meson builddir && cd builddir 22 | $ meson compile 23 | $ meson install 24 | 25 | After installing the package you must restart Nemo. You can do that by issuing the following command (note: if you're running compiz, doing so may lock up your computer - log out and log back in instead): 26 | 27 | $ killall nemo 28 | -------------------------------------------------------------------------------- /nemo-dropbox/data/emblems/emblem-dropbox-syncing.icon: -------------------------------------------------------------------------------- 1 | 2 | [Icon Data] 3 | 4 | DisplayName=dropbox-syncing 5 | -------------------------------------------------------------------------------- /nemo-dropbox/data/emblems/emblem-dropbox-syncing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-dropbox/data/emblems/emblem-dropbox-syncing.png -------------------------------------------------------------------------------- /nemo-dropbox/data/emblems/emblem-dropbox-unsyncable.icon: -------------------------------------------------------------------------------- 1 | 2 | [Icon Data] 3 | 4 | DisplayName=dropbox-unsyncable 5 | -------------------------------------------------------------------------------- /nemo-dropbox/data/emblems/emblem-dropbox-unsyncable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-dropbox/data/emblems/emblem-dropbox-unsyncable.png -------------------------------------------------------------------------------- /nemo-dropbox/data/emblems/emblem-dropbox-uptodate.icon: -------------------------------------------------------------------------------- 1 | 2 | [Icon Data] 3 | 4 | DisplayName=dropbox-uptodate 5 | -------------------------------------------------------------------------------- /nemo-dropbox/data/emblems/emblem-dropbox-uptodate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-dropbox/data/emblems/emblem-dropbox-uptodate.png -------------------------------------------------------------------------------- /nemo-dropbox/data/icons/hicolor/symbolic/apps/nemo-dropbox-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 47 | 49 | 54 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /nemo-dropbox/data/meson.build: -------------------------------------------------------------------------------- 1 | install_subdir('emblems', 2 | install_dir: project_datadir, 3 | ) 4 | 5 | if get_option('install-dropbox-files') 6 | install_subdir('icons', 7 | install_dir: get_option('datadir'), 8 | ) 9 | endif 10 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/TODO: -------------------------------------------------------------------------------- 1 | 2 | * Find out why the dropbox icon is not properly displayed in gnome-shell. 3 | I would expect the issue to affect other menus (the traditional 4 | menus in gnome for instance, but I have not verified) 5 | 6 | * Update debian/patches/download-via-https.patch to actually validate 7 | the HTTPS certificate. The patch description contains a link with some 8 | documentation on how this can be done. 9 | 10 | * Provide some introductory documentation in README.Debian. It 11 | should notably explain that you can do "dropbox autostart" to make it 12 | automatically start when you login. 13 | 14 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-dropbox 2 | Section: non-free/gnome 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper-compat (= 12), 6 | meson, 7 | libnemo-extension-dev (>= 1.0.0), 8 | libglib2.0-dev (>= 2.14.0), 9 | Standards-Version: 3.9.6 10 | XS-Autobuild: yes 11 | Homepage: http://www.dropbox.com/ 12 | 13 | Package: nemo-dropbox 14 | Architecture: i386 amd64 15 | Depends: nemo, 16 | policykit-1, 17 | procps, 18 | ${shlibs:Depends}, 19 | ${misc:Depends}, 20 | dropbox 21 | Description: Dropbox integration for Nemo 22 | Nemo Dropbox is an extension that integrates the Dropbox web service with 23 | your Cinnamon Desktop. 24 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/nemo-dropbox.dirs: -------------------------------------------------------------------------------- 1 | var/lib/dropbox 2 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/nemo-dropbox.lintian-overrides: -------------------------------------------------------------------------------- 1 | # We have no better way to shut down user processes 2 | nemo-dropbox: killall-is-dangerous prerm:8 3 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/nemo-dropbox.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | UPDATENOTIFIERDIR=/var/lib/update-notifier/user.d 6 | 7 | case "$1" in 8 | configure) 9 | unset DISPLAY # No GUI launched from postinst please 10 | 11 | echo "Please restart all running instances of Nemo, or you will experience problems. i.e. nemo --quit" 12 | 13 | if [ -d $UPDATENOTIFIERDIR ] ; then 14 | # pgrep matches application names from /proc//status which is 15 | # truncated according to sys/procfs.h definition. Problem is it's 16 | # platform dependent. Either 15 or 16 chars. 17 | if pgrep -x nemo > /dev/null 2>&1 ; then 18 | cat > $UPDATENOTIFIERDIR/dropbox-restart-required < /dev/null 26 | Description: Dropbox requires Nemo to be restarted to function properly. 27 | DROPBOXEND 28 | else 29 | rm -f $UPDATENOTIFIERDIR/dropbox-restart-required 30 | fi 31 | fi 32 | 33 | echo 'Dropbox installation successfully completed! You can start Dropbox from your applications menu.' 34 | 35 | if [ "$2" = "" ] && [ -d $UPDATENOTIFIERDIR ] ; then 36 | cat > $UPDATENOTIFIERDIR/dropbox-start-required < /dev/null 43 | Description: Start Dropbox to finish installation. 44 | ButtonText: _Start Dropbox 45 | DROPBOXEND 46 | fi 47 | 48 | ;; 49 | 50 | abort-upgrade|abort-remove|abort-deconfigure) 51 | ;; 52 | 53 | *) 54 | echo "postinst called with unknown argument '$1'" >&2 55 | exit 1 56 | ;; 57 | esac 58 | 59 | # dh_installdeb will replace this with shell code automatically 60 | # generated by other debhelper scripts. 61 | 62 | #DEBHELPER# 63 | 64 | exit 0 65 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/nemo-dropbox.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | case "$1" in 6 | purge) 7 | rm -rf /var/lib/dropbox 8 | ;; 9 | esac 10 | 11 | #DEBHELPER# 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/nemo-dropbox.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | case "$1" in 6 | remove) 7 | dropbox stop || true 8 | killall dropbox || true 9 | rm -f /var/lib/update-notifier/user.d/dropbox-restart-required 10 | rm -f /var/lib/update-notifier/user.d/dropbox-start-required 11 | ;; 12 | esac 13 | 14 | #DEBHELPER# 15 | 16 | exit 0 17 | -------------------------------------------------------------------------------- /nemo-dropbox/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | 8 | # Don't generate a shlibs file for the plugin 9 | override_dh_makeshlibs: 10 | 11 | override_dh_auto_install: 12 | dh_auto_install 13 | -------------------------------------------------------------------------------- /nemo-dropbox/meson.build: -------------------------------------------------------------------------------- 1 | project('nemo-dropbox', 2 | 'c', 3 | version: '6.4.0', 4 | meson_version: '>=0.56.0' 5 | ) 6 | 7 | project_url = 'https://github.com/linuxmint/nemo-extensions' 8 | 9 | 10 | cc = meson.get_compiler('c') 11 | 12 | config = configuration_data() 13 | 14 | 15 | ################################################################################ 16 | # Find libnemo-extensions 17 | 18 | libnemo = dependency('libnemo-extension', version: '>=2.0.0') 19 | libnemo_extension_dir = libnemo.get_variable(pkgconfig: 'extensiondir') 20 | libnemo_extension_ver = libnemo.version().split('.') 21 | 22 | config.set('NEMO_VERSION_MAJOR', libnemo_extension_ver[0]) 23 | config.set('NEMO_VERSION_MINOR', libnemo_extension_ver[1]) 24 | config.set('NEMO_VERSION_MICRO', libnemo_extension_ver[2]) 25 | 26 | glib = dependency('glib-2.0', version: '>=2.14.0') 27 | 28 | ################################################################################ 29 | # Project configuration 30 | 31 | project_datadir = get_option('datadir') / meson.project_name() 32 | 33 | config.set_quoted('GETTEXT_PACKAGE', 'nemo-extensions') 34 | config.set_quoted('PACKAGE_STRING', meson.project_name() ) 35 | config.set_quoted('EMBLEMDIR', get_option('prefix') / project_datadir / 'emblems') 36 | config.set_quoted('NEMOICONDIR', get_option('datadir') / 'nemo-dropbox' / 'icons') 37 | 38 | c_args = [] 39 | c_args += cc.get_supported_arguments('-Wno-deprecated-declarations') 40 | 41 | if [ 'debug', 'relwithdebinfo'].contains(get_option('buildtype')) 42 | c_args += [ '-DND_DEBUG', ] 43 | else 44 | c_args += [ '-DG_DISABLE_ASSERT', '-DG_DISABLE_CHECKS', ] 45 | endif 46 | 47 | add_project_arguments(c_args, language: 'c') 48 | 49 | ################################################################################ 50 | # Generic stuff 51 | 52 | 53 | add_project_arguments('-DHAVE_CONFIG_H', language: 'c') 54 | configure_file( 55 | output: 'config.h', 56 | configuration: config, 57 | ) 58 | 59 | rootInclude = include_directories('.') 60 | 61 | subdir('data') 62 | subdir('src') 63 | 64 | install_data('COPYING', 65 | install_dir: get_option('datadir') / 'licenses' / meson.project_name(), 66 | ) 67 | -------------------------------------------------------------------------------- /nemo-dropbox/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('install-dropbox-files', type : 'boolean', value : true) 2 | -------------------------------------------------------------------------------- /nemo-dropbox/src/async-io-coroutine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * async-io-coroutine.h 5 | * Macros to simplify writing coroutines for the glib main loop. 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifndef ASYNC_IO_COROUTINE_H 25 | #define ASYNC_IO_COROUTINE_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define CRBEGIN(pos) switch (pos) { case 0: 32 | #define CREND } return FALSE 33 | #define CRYIELD(pos) do { pos = __LINE__; return TRUE; case __LINE__:;} while (0) 34 | #define CRHALT return FALSE 35 | 36 | #define CRREADLINE(pos, chan, where) \ 37 | while (1) { \ 38 | gchar *__line; \ 39 | gsize __line_length, __newline_pos; \ 40 | GIOStatus __iostat; \ 41 | \ 42 | __iostat = g_io_channel_read_line(chan, &__line, \ 43 | &__line_length, \ 44 | &__newline_pos, NULL); \ 45 | if (__iostat == G_IO_STATUS_AGAIN) { \ 46 | CRYIELD(pos); \ 47 | } \ 48 | else if (__iostat == G_IO_STATUS_NORMAL) { \ 49 | *(__line + __newline_pos) = '\0'; \ 50 | where = __line; \ 51 | break; \ 52 | } \ 53 | else if (__iostat == G_IO_STATUS_EOF || \ 54 | __iostat == G_IO_STATUS_ERROR) { \ 55 | CRHALT; \ 56 | } \ 57 | else { \ 58 | g_assert_not_reached(); \ 59 | CRHALT; \ 60 | } \ 61 | } 62 | 63 | G_END_DECLS 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /nemo-dropbox/src/dropbox-client-util.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * dropbox-client-util.h 5 | * Header file for dropbox-client-util.c 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifndef DROPBOX_CLIENT_UTIL_H 25 | #define DROPBOX_CLIENT_UTIL_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | gchar *dropbox_client_util_sanitize(const gchar *a); 32 | gchar *dropbox_client_util_desanitize(const gchar *a); 33 | 34 | gboolean 35 | dropbox_client_util_command_parse_arg(const gchar *line, GHashTable *return_table); 36 | 37 | G_END_DECLS 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /nemo-dropbox/src/dropbox-client.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * dropbox-client.h 5 | * Header file for dropbox-client.c 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifndef DROPBOX_CLIENT_H 25 | #define DROPBOX_CLIENT_H 26 | 27 | #include 28 | #include "dropbox-command-client.h" 29 | #include "nemo-dropbox-hooks.h" 30 | 31 | G_BEGIN_DECLS 32 | 33 | typedef struct { 34 | DropboxCommandClient dcc; 35 | NemoDropboxHookserv hookserv; 36 | GHookList onconnect_hooklist; 37 | GHookList ondisconnect_hooklist; 38 | gboolean hook_connect_called; 39 | gboolean command_connect_called; 40 | gboolean hook_disconnect_called; 41 | gboolean command_disconnect_called; 42 | } DropboxClient; 43 | 44 | typedef void (*DropboxClientConnectionAttemptHook)(guint, gpointer); 45 | typedef GHookFunc DropboxClientConnectHook; 46 | 47 | void 48 | dropbox_client_setup(DropboxClient *dc); 49 | 50 | void 51 | dropbox_client_start(DropboxClient *dc); 52 | 53 | gboolean 54 | dropbox_client_is_connected(DropboxClient *dc); 55 | 56 | void 57 | dropbox_client_force_reconnect(DropboxClient *dc); 58 | 59 | void 60 | dropbox_client_add_on_connect_hook(DropboxClient *dc, 61 | DropboxClientConnectHook dhcch, 62 | gpointer ud); 63 | 64 | void 65 | dropbox_client_add_on_disconnect_hook(DropboxClient *dc, 66 | DropboxClientConnectHook dhcch, 67 | gpointer ud); 68 | 69 | void 70 | dropbox_client_add_connection_attempt_hook(DropboxClient *dc, 71 | DropboxClientConnectionAttemptHook dhcch, 72 | gpointer ud); 73 | 74 | G_END_DECLS 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /nemo-dropbox/src/dropbox.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * dropbox.c 5 | * Nemo module registering functions for the Dropbox extension. 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifdef HAVE_CONFIG_H 25 | #include 26 | #endif 27 | 28 | #include 29 | 30 | #include 31 | #include 32 | 33 | #include "nemo-dropbox.h" 34 | 35 | static GType type_list[1]; 36 | 37 | void 38 | nemo_module_initialize (GTypeModule *module) { 39 | g_print ("Initializing %s\n", PACKAGE_STRING); 40 | 41 | nemo_dropbox_register_type (module); 42 | type_list[0] = NEMO_TYPE_DROPBOX; 43 | 44 | dropbox_use_nemo_submenu_workaround 45 | = (NEMO_VERSION_MAJOR < 2 || 46 | (NEMO_VERSION_MAJOR == 2 && NEMO_VERSION_MINOR <= 22)); 47 | dropbox_use_operation_in_progress_workaround = TRUE; 48 | } 49 | 50 | void 51 | nemo_module_shutdown (void) { 52 | g_print ("Shutting down dropbox extension\n"); 53 | } 54 | 55 | void 56 | nemo_module_list_types (const GType **types, 57 | int *num_types) { 58 | *types = type_list; 59 | *num_types = G_N_ELEMENTS (type_list); 60 | } 61 | -------------------------------------------------------------------------------- /nemo-dropbox/src/g-util.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * g-util.h 5 | * Helper macros. 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifndef G_UTIL_H 25 | #define G_UTIL_H 26 | 27 | #include 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | #ifdef ND_DEBUG 33 | 34 | #define debug_enter() {g_print("Entering "); g_print(__FUNCTION__); g_printf("\n");} 35 | #define debug(format, ...) {g_print(__FUNCTION__); g_print(": "); \ 36 | g_printf(format, ## __VA_ARGS__); g_print("\n");} 37 | #define debug_return(v) {g_print("Exiting "); g_print(__FUNCTION__); g_printf("\n"); return v;} 38 | 39 | #else 40 | 41 | #define debug_enter() do {} while(0) 42 | #define debug(format, ...) do {} while(0) 43 | #define debug_return(v) do {} while(0) 44 | 45 | #endif 46 | 47 | G_END_DECLS 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /nemo-dropbox/src/meson.build: -------------------------------------------------------------------------------- 1 | nemo_dropbox_sources = [ 2 | 'dropbox-client-util.c', 3 | 'dropbox-client.c', 4 | 'dropbox-command-client.c', 5 | 'dropbox.c', 6 | 'nemo-dropbox-hooks.c', 7 | 'nemo-dropbox.c', 8 | ] 9 | 10 | libnemo_dropbox = shared_library('nemo-dropbox', 11 | nemo_dropbox_sources, 12 | include_directories: rootInclude, 13 | dependencies: [ 14 | glib, 15 | libnemo, 16 | ], 17 | install: true, 18 | install_dir: libnemo_extension_dir, 19 | ) 20 | -------------------------------------------------------------------------------- /nemo-dropbox/src/nemo-dropbox-hooks.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * nemo-dropbox-hooks.h 5 | * Header file for nemo-dropbox-hooks.c 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifndef NEMO_DROPBOX_HOOKS_H 25 | #define NEMO_DROPBOX_HOOKS_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | typedef void (*DropboxUpdateHook)(GHashTable *, gpointer); 32 | typedef void (*DropboxHookClientConnectHook)(gpointer); 33 | 34 | typedef struct { 35 | GIOChannel *chan; 36 | int socket; 37 | struct { 38 | int line; 39 | gchar *command_name; 40 | GHashTable *command_args; 41 | int numargs; 42 | } hhsi; 43 | gboolean connected; 44 | guint event_source; 45 | GHashTable *dispatch_table; 46 | GHookList ondisconnect_hooklist; 47 | GHookList onconnect_hooklist; 48 | } NemoDropboxHookserv; 49 | 50 | void 51 | nemo_dropbox_hooks_setup(NemoDropboxHookserv *); 52 | 53 | void 54 | nemo_dropbox_hooks_start(NemoDropboxHookserv *); 55 | 56 | gboolean 57 | nemo_dropbox_hooks_is_connected(NemoDropboxHookserv *); 58 | 59 | gboolean 60 | nemo_dropbox_hooks_force_reconnect(NemoDropboxHookserv *); 61 | 62 | void 63 | nemo_dropbox_hooks_add(NemoDropboxHookserv *ndhs, 64 | const gchar *hook_name, 65 | DropboxUpdateHook hook, gpointer ud); 66 | void 67 | nemo_dropbox_hooks_add_on_disconnect_hook(NemoDropboxHookserv *hookserv, 68 | DropboxHookClientConnectHook dhcch, 69 | gpointer ud); 70 | 71 | void 72 | nemo_dropbox_hooks_add_on_connect_hook(NemoDropboxHookserv *hookserv, 73 | DropboxHookClientConnectHook dhcch, 74 | gpointer ud); 75 | 76 | 77 | G_END_DECLS 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /nemo-dropbox/src/nemo-dropbox.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008 Evenflow, Inc. 3 | * 4 | * nemo-dropbox.h 5 | * Header file for nemo-dropbox.c 6 | * 7 | * This file is part of nemo-dropbox. 8 | * 9 | * nemo-dropbox is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 3 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * nemo-dropbox is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with nemo-dropbox. If not, see . 21 | * 22 | */ 23 | 24 | #ifndef NEMO_DROPBOX_H 25 | #define NEMO_DROPBOX_H 26 | 27 | #include 28 | #include 29 | 30 | #include 31 | 32 | #include "dropbox-command-client.h" 33 | #include "nemo-dropbox-hooks.h" 34 | #include "dropbox-client.h" 35 | 36 | G_BEGIN_DECLS 37 | 38 | /* Declarations for the dropbox extension object. This object will be 39 | * instantiated by nemo. It implements the GInterfaces 40 | * exported by libnemo. */ 41 | 42 | #define NEMO_TYPE_DROPBOX (nemo_dropbox_get_type ()) 43 | #define NEMO_DROPBOX(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_DROPBOX, NemoDropbox)) 44 | #define NEMO_IS_DROPBOX(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_DROPBOX)) 45 | typedef struct _NemoDropbox NemoDropbox; 46 | typedef struct _NemoDropboxClass NemoDropboxClass; 47 | 48 | struct _NemoDropbox { 49 | GObject parent_slot; 50 | GHashTable *filename2obj; 51 | GHashTable *obj2filename; 52 | GMutex *emblem_paths_mutex; 53 | GHashTable *emblem_paths; 54 | DropboxClient dc; 55 | }; 56 | 57 | struct _NemoDropboxClass { 58 | GObjectClass parent_slot; 59 | }; 60 | 61 | GType nemo_dropbox_get_type(void); 62 | void nemo_dropbox_register_type(GTypeModule *module); 63 | 64 | extern gboolean dropbox_use_nemo_submenu_workaround; 65 | extern gboolean dropbox_use_operation_in_progress_workaround; 66 | 67 | G_END_DECLS 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /nemo-emblems/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /nemo-emblems/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-emblems 2 | Section: utils 3 | Priority: extra 4 | Maintainer: Linux Mint 5 | Build-Depends: debhelper (>= 9), 6 | python3-all, 7 | python3-setuptools, 8 | dh-python 9 | Standards-Version: 3.9.6 10 | Homepage: https://github.com/linuxmint/nemo-extensions 11 | 12 | Package: nemo-emblems 13 | Architecture: all 14 | Section: utils 15 | Priority: extra 16 | Depends: ${misc:Depends}, 17 | gir1.2-nemo-3.0 (>=3.8), 18 | python-nemo (>= 3.9.0) 19 | Description: Change a folder or file emblem 20 | Change a folder or file emblem in Nemo 21 | -------------------------------------------------------------------------------- /nemo-emblems/debian/copyright: -------------------------------------------------------------------------------- 1 | Files: *.* 2 | Copyright: 2014 Linux Mint 3 | License: GPL-3 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; version 3 dated June, 2007. 7 | . 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | . 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 16 | MA 02110-1301, USA. 17 | . 18 | The full text of the can be found in the file 19 | '/usr/share/common-licenses/GPL-3'. 20 | 21 | -------------------------------------------------------------------------------- /nemo-emblems/debian/install: -------------------------------------------------------------------------------- 1 | nemo-extension/nemo-emblems.py usr/share/nemo-python/extensions 2 | -------------------------------------------------------------------------------- /nemo-emblems/debian/rules: -------------------------------------------------------------------------------- 1 | #export DH_VERBOSE=0 2 | 3 | export PYBUILD_NAME=nemo-emblems 4 | 5 | %: 6 | dh $@ --with python3 --buildsystem=pybuild 7 | -------------------------------------------------------------------------------- /nemo-emblems/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Folder Color 0.0.11 - http://launchpad.net/folder-color 4 | # Copyright (C) 2012-2014 Marcos Alvarez Costales https://launchpad.net/~costales 5 | # 6 | # folder-color is free software; you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation; either version 3 of the License, or 9 | # (at your option) any later version. 10 | # 11 | # Folder Color is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with Folder Color; if not, see http://www.gnu.org/licenses 18 | # for more information. 19 | 20 | 21 | from setuptools import setup 22 | 23 | # Setup stage 24 | setup( packages=[], 25 | name = "nemo-emblems", 26 | version = "6.4.0", 27 | description = "Change your folder and file emblems", 28 | author = "Linux Mint", 29 | author_email = "root@linuxmint.com", 30 | url = "https://github.com/linuxmint/nemo-extensions", 31 | license = "GPL3", 32 | 33 | # See debian/control for install-depends - this is useless here, except as reference. 34 | # install_requires (and only works with python modules. It's equally as bad to have 35 | # some deps here, then draw them into debian/control using {python3:Depends} and add 36 | # them to our non-python depends. 37 | 38 | # install_requires = ['gir1.2-nemo-3.0>=3.9', 39 | # 'python-nemo >=3.9'], 40 | data_files = [ 41 | ('/usr/share/nemo-python/extensions', ['nemo-extension/nemo-emblems.py']) 42 | ] 43 | ) 44 | -------------------------------------------------------------------------------- /nemo-fileroller/AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-fileroller/AUTHORS -------------------------------------------------------------------------------- /nemo-fileroller/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-fileroller/ChangeLog -------------------------------------------------------------------------------- /nemo-fileroller/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-fileroller/NEWS -------------------------------------------------------------------------------- /nemo-fileroller/README: -------------------------------------------------------------------------------- 1 | Nemo File Roller Extension 2 | 3 | This extension adds entries to the context menu in Nemo, which allow you to make use of the compress and extract functions of the File Roller archive manager. 4 | 5 | For the File Roller main application see https://wiki.gnome.org/Apps/FileRoller 6 | -------------------------------------------------------------------------------- /nemo-fileroller/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-fileroller 2 | Section: misc 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: 6 | debhelper-compat (= 12), 7 | meson, 8 | libglib2.0-dev (>= 2.14.0), 9 | libnemo-extension-dev (>= 1.0.0), 10 | Standards-Version: 3.9.6 11 | 12 | Package: nemo-fileroller 13 | Architecture: any 14 | Depends: file-roller, nemo, ${misc:Depends}, ${shlibs:Depends} 15 | Recommends: cinnamon-l10n 16 | Description: File Roller integration for Nemo 17 | Nemo File Roller is an Nemo extension which allows you to create and extract 18 | archives in Nemo. This extension adds "Extract Here" (for archive files) and 19 | "Compress..." items to the right-click menu. 20 | -------------------------------------------------------------------------------- /nemo-fileroller/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: Nemo File Roller 3 | Upstream-Contact: Linux Mint Project 4 | Source: https://github.com/linuxmint/nemo-extensions/ 5 | 6 | Files: * 7 | Copyright: 2004 Free Software Foundation, Inc. 8 | License: GPL-2+ 9 | 10 | Files: debian/* 11 | Copyright: 2013, Benjamin Drung 12 | License: GPL-2+ 13 | 14 | License: GPL-2+ 15 | This program is free software; you can redistribute it and/or modify 16 | it under the terms of the GNU General Public License as published by 17 | the Free Software Foundation; either version 2 of the License, or 18 | (at your option) any later version. 19 | . 20 | This program is distributed in the hope that it will be useful, 21 | but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 23 | General Public License for more details. 24 | . 25 | On Debian systems, the complete text of the GNU General Public License 26 | version 2 can be found in the /usr/share/common-licenses/GPL-2 file. 27 | -------------------------------------------------------------------------------- /nemo-fileroller/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | 8 | # Don't generate a shlibs file for the plugin 9 | override_dh_makeshlibs: 10 | -------------------------------------------------------------------------------- /nemo-fileroller/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /nemo-fileroller/meson.build: -------------------------------------------------------------------------------- 1 | project('nemo-fileroller', 2 | 'c', 3 | version: '6.4.0', 4 | meson_version: '>=0.56.0' 5 | ) 6 | 7 | project_url = 'https://github.com/linuxmint/nemo-extensions' 8 | 9 | 10 | gnome = import('gnome') 11 | pkgconfig = import('pkgconfig') 12 | 13 | config = configuration_data() 14 | 15 | ################################################################################ 16 | # Find libnemo-extensions 17 | 18 | libnemo = dependency('libnemo-extension', version: '>=2.0.0') 19 | libnemo_extension_dir = libnemo.get_variable(pkgconfig: 'extensiondir') 20 | libnemo_extension_ver = libnemo.version().split('.') 21 | 22 | config.set('NEMO_VERSION_MAJOR', libnemo_extension_ver[0]) 23 | config.set('NEMO_VERSION_MINOR', libnemo_extension_ver[1]) 24 | config.set('NEMO_VERSION_MICRO', libnemo_extension_ver[2]) 25 | 26 | glib = dependency('glib-2.0', version: '>=2.14.0') 27 | 28 | ################################################################################ 29 | # Generic stuff 30 | 31 | config.set_quoted('GETTEXT_PACKAGE', 'nemo-extensions') 32 | config.set_quoted('GNOMELOCALEDIR', get_option('prefix')/get_option('datadir')/'locale') 33 | 34 | add_project_arguments('-DHAVE_CONFIG_H', language: 'c') 35 | configure_file( 36 | output: 'config.h', 37 | configuration: config, 38 | ) 39 | 40 | rootInclude = include_directories('.') 41 | 42 | subdir('src') 43 | -------------------------------------------------------------------------------- /nemo-fileroller/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('gtk-doc', type: 'boolean', value: false) 2 | -------------------------------------------------------------------------------- /nemo-fileroller/src/fileroller-module.c: -------------------------------------------------------------------------------- 1 | /* 2 | * File-Roller 3 | * 4 | * Copyright (C) 2004 Free Software Foundation, Inc. 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along 17 | * with this program; if not, write to the Free Software Foundation, Inc., 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 | * 20 | * Author: Paolo Bacchilega 21 | * 22 | */ 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include "nemo-fileroller.h" 29 | 30 | 31 | void 32 | nemo_module_initialize (GTypeModule*module) 33 | { 34 | bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); 35 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); 36 | 37 | nemo_fr_register_type (module); 38 | } 39 | 40 | 41 | void 42 | nemo_module_shutdown (void) 43 | { 44 | } 45 | 46 | 47 | void 48 | nemo_module_list_types (const GType **types, 49 | int *num_types) 50 | { 51 | static GType type_list[1]; 52 | 53 | type_list[0] = NEMO_TYPE_FR; 54 | *types = type_list; 55 | *num_types = 1; 56 | } 57 | -------------------------------------------------------------------------------- /nemo-fileroller/src/meson.build: -------------------------------------------------------------------------------- 1 | nemo_fileroller_sources = [ 2 | 'fileroller-module.c', 3 | 'nemo-fileroller.c', 4 | ] 5 | 6 | libnemo_fileroller = shared_library('nemo-fileroller', 7 | nemo_fileroller_sources, 8 | include_directories: rootInclude, 9 | dependencies: [ 10 | libnemo, 11 | ], 12 | 13 | install: true, 14 | install_dir: libnemo_extension_dir, 15 | ) 16 | -------------------------------------------------------------------------------- /nemo-fileroller/src/nemo-fileroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File-Roller 3 | * 4 | * Copyright (C) 2004 Free Software Foundation, Inc. 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License along 17 | * with this program; if not, write to the Free Software Foundation, Inc., 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 | * 20 | * Author: Paolo Bacchilega 21 | * 22 | */ 23 | 24 | #ifndef NEMO_FILEROLLER_H 25 | #define NEMO_FILEROLLER_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define NEMO_TYPE_FR (nemo_fr_get_type ()) 32 | #define NEMO_FR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_FR, NemoFr)) 33 | #define NEMO_IS_FR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_FR)) 34 | 35 | typedef struct _NemoFr NemoFr; 36 | typedef struct _NemoFrClass NemoFrClass; 37 | 38 | struct _NemoFr { 39 | GObject __parent; 40 | }; 41 | 42 | struct _NemoFrClass { 43 | GObjectClass __parent; 44 | }; 45 | 46 | GType nemo_fr_get_type (void); 47 | void nemo_fr_register_type (GTypeModule *module); 48 | 49 | G_END_DECLS 50 | 51 | #endif /* NEMO_FILEROLLER_H */ 52 | -------------------------------------------------------------------------------- /nemo-image-converter/AUTHORS: -------------------------------------------------------------------------------- 1 | Jürg Billeter 2 | -------------------------------------------------------------------------------- /nemo-image-converter/NEWS: -------------------------------------------------------------------------------- 1 | Version x.x.x 2 | ============= 3 | General 4 | * Port to Gtk3/GNOME3 5 | * Fix distcheck so that it works without root privileges 6 | * Enable silent build 7 | 8 | Translators 9 | 10 | * Yaron Shahrabani (he) 11 | * Siegfried-Angel Gevatter Pujals (ca) 12 | * Jens Wiesser (de) 13 | * Svetoslav Stefanov (bg) 14 | 15 | Version 0.3.0 16 | ============= 17 | 18 | General 19 | 20 | * Port to Nemo 2.21 / GIO (Andrew Walton) 21 | 22 | Translators 23 | 24 | * Washington Lins (pt_BR) 25 | 26 | Version 0.2.1 27 | ============= 28 | 29 | Image Rotator 30 | 31 | * Reset EXIF orientation after image rotation 32 | 33 | Translators 34 | 35 | * Antti Sokero (fi) 36 | 37 | Version 0.2.0 38 | ============= 39 | 40 | Translators 41 | 42 | * Daniel Nylander (sv) 43 | * Eddy Pronk (nl) 44 | * Julien Valroff (fr) 45 | * Pavel Chovancik (cs) 46 | * Piotr Szotkowski (pl) 47 | * Stephen Denham (es) 48 | 49 | Version 0.0.9 50 | ============= 51 | 52 | Translators 53 | 54 | * Kazutaka Harada (ja) 55 | 56 | Version 0.0.8 57 | ============= 58 | 59 | Image Rotator 60 | 61 | * Build fix 62 | 63 | Version 0.0.7 64 | ============= 65 | 66 | General 67 | 68 | * Add support for image rotation 69 | 70 | Version 0.0.6 71 | ============= 72 | 73 | Image Resizer 74 | 75 | * Support scaling images by percentage (Paul W. Frields) 76 | 77 | Translators 78 | 79 | * Sylvain Archenault (fr) 80 | * Tchak (ru) 81 | 82 | Version 0.0.5 83 | ============= 84 | 85 | Translators 86 | 87 | * Tchak (ru) 88 | 89 | Version 0.0.4 90 | ============= 91 | 92 | General 93 | 94 | * Fix filename escaping 95 | 96 | Translators 97 | 98 | * Stefano Fabri (it) 99 | 100 | -------------------------------------------------------------------------------- /nemo-image-converter/README: -------------------------------------------------------------------------------- 1 | Nemo-Image-Converter 2 | ======================== 3 | 4 | The Nemo-Image-Converter extension allows you to resize/rotate images from Nemo. 5 | -------------------------------------------------------------------------------- /nemo-image-converter/data/meson.build: -------------------------------------------------------------------------------- 1 | install_data( 2 | 'nemo-image-resize.ui', 3 | 'nemo-image-rotate.ui', 4 | install_dir: get_option('datadir') / 'nemo-image-converter', 5 | ) 6 | -------------------------------------------------------------------------------- /nemo-image-converter/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-image-converter 2 | Section: gnome 3 | Priority: optional 4 | Maintainer: Julien Lavergne 5 | Homepage: http://github.com/linuxmint/nemo-extensions 6 | Build-Depends: debhelper-compat (= 12), 7 | meson, 8 | pkg-config, 9 | libxml-parser-perl, 10 | libnemo-extension-dev (>= 2.0.8), 11 | libglib2.0-dev (>= 2.37.3), 12 | libgtk-3-dev (>= 3.0.0) 13 | Standards-Version: 3.9.6 14 | 15 | Package: nemo-image-converter 16 | Architecture: any 17 | Depends: ${shlibs:Depends}, 18 | ${misc:Depends}, 19 | imagemagick 20 | Recommends: nemo (>= 2.0.0) 21 | Description: nemo extension to mass resize or rotate images 22 | This package adds a "Resize Images..." menu item to 23 | the context menu of all images. This opens a dialog 24 | where you set the desired image size and file name. 25 | A click on "Resize" finally resizes the image(s) 26 | using ImageMagick's convert tool. 27 | -------------------------------------------------------------------------------- /nemo-image-converter/debian/copyright: -------------------------------------------------------------------------------- 1 | Source: svn://svn.gnome.org/svn/nemo-image-converter/tags/NEMO_IMAGE_CONVERTER_0_3_0/ 2 | 3 | Files: debian/* 4 | Copyright: © 2007-2008, David Paleino 5 | License: GPL-2+ 6 | This package is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; either version 2 of the License, or 9 | (at your option) any later version. 10 | 11 | Files: * 12 | Copyright: © 2004-2008, Jürg Billeter 13 | License: GPL-2+ 14 | 15 | On Debian systems, the complete text of the GNU General 16 | Public License can be found in `/usr/share/common-licenses/GPL-2'. 17 | -------------------------------------------------------------------------------- /nemo-image-converter/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | 8 | # Don't generate a shlibs file for the plugin 9 | override_dh_makeshlibs: 10 | -------------------------------------------------------------------------------- /nemo-image-converter/meson.build: -------------------------------------------------------------------------------- 1 | project('nemo-image-converter', 2 | 'c', 3 | version: '6.4.0', 4 | meson_version: '>=0.56.0' 5 | ) 6 | 7 | project_url = 'https://github.com/linuxmint/nemo-extensions' 8 | 9 | 10 | gnome = import('gnome') 11 | pkgconfig = import('pkgconfig') 12 | 13 | config = configuration_data() 14 | 15 | ################################################################################ 16 | # Find libnemo-extensions 17 | 18 | libnemo = dependency('libnemo-extension', version: '>=2.0.0') 19 | libnemo_extension_dir = libnemo.get_variable(pkgconfig: 'extensiondir') 20 | libnemo_extension_ver = libnemo.version().split('.') 21 | 22 | config.set('NEMO_VERSION_MAJOR', libnemo_extension_ver[0]) 23 | config.set('NEMO_VERSION_MINOR', libnemo_extension_ver[1]) 24 | config.set('NEMO_VERSION_MICRO', libnemo_extension_ver[2]) 25 | 26 | glib = dependency('glib-2.0', version: '>=2.14.0') 27 | 28 | ################################################################################ 29 | # Extension dependencies 30 | 31 | gtk3 = dependency('gtk+-3.0', version: '>=3.0') 32 | 33 | ################################################################################ 34 | # Generic stuff 35 | 36 | config.set_quoted('GETTEXT_PACKAGE', 'nemo-extensions') 37 | config.set_quoted('PACKAGE', meson.project_name()) 38 | config.set_quoted('DATADIR', get_option('prefix')/get_option('datadir')) 39 | config.set_quoted('GNOMELOCALEDIR', get_option('prefix')/get_option('datadir')/'locale') 40 | 41 | add_project_arguments('-DG_LOG_DOMAIN="Nemo-Share"', language: 'c') 42 | 43 | add_project_arguments('-DHAVE_CONFIG_H', language: 'c') 44 | configure_file( 45 | output: 'config.h', 46 | configuration: config, 47 | ) 48 | 49 | rootInclude = include_directories('.') 50 | 51 | subdir('src') 52 | subdir('data') 53 | -------------------------------------------------------------------------------- /nemo-image-converter/nemo-image-converter.doap: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | nemo-image-converter 9 | Nemo extension to rotate/resize image files 10 | 11 | 12 | 13 | 14 | 15 | 16 | Jürg Billeter 17 | 18 | juergbi 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /nemo-image-converter/src/image-converter.c: -------------------------------------------------------------------------------- 1 | /* 2 | * image-converter.c 3 | * 4 | * Copyright (C) 2004-2005 Jürg Billeter 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 | * 20 | * Author: Jürg Billeter 21 | * 22 | */ 23 | 24 | #ifdef HAVE_CONFIG_H 25 | #include 26 | #endif 27 | 28 | #include "nemo-image-converter.h" 29 | 30 | #include 31 | 32 | static GType type_list[1]; 33 | 34 | void nemo_module_initialize (GTypeModule *module); 35 | void nemo_module_shutdown (void); 36 | void nemo_module_list_types (const GType **types, 37 | int *num_types); 38 | 39 | 40 | void 41 | nemo_module_initialize (GTypeModule *module) 42 | { 43 | g_print ("Initializing nemo-image-converter extension\n"); 44 | 45 | nemo_image_converter_register_type (module); 46 | type_list[0] = NEMO_TYPE_IMAGE_CONVERTER; 47 | 48 | bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); 49 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); 50 | } 51 | 52 | void 53 | nemo_module_shutdown (void) 54 | { 55 | g_print ("Shutting down nemo-image-converter extension\n"); 56 | } 57 | 58 | void 59 | nemo_module_list_types (const GType **types, 60 | int *num_types) 61 | { 62 | *types = type_list; 63 | *num_types = G_N_ELEMENTS (type_list); 64 | } 65 | -------------------------------------------------------------------------------- /nemo-image-converter/src/meson.build: -------------------------------------------------------------------------------- 1 | libnemo_image_converter_sources = [ 2 | 'image-converter.c', 3 | 'nemo-image-converter.c', 4 | 'nemo-image-resizer.c', 5 | 'nemo-image-rotator.c', 6 | ] 7 | 8 | libnemo_image_converter = library('nemo-image-converter', 9 | libnemo_image_converter_sources, 10 | include_directories: rootInclude, 11 | dependencies: [ 12 | libnemo, 13 | gtk3, 14 | ], 15 | install: true, 16 | install_dir: libnemo_extension_dir, 17 | ) 18 | -------------------------------------------------------------------------------- /nemo-image-converter/src/nemo-image-converter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-image-converter.h 3 | * 4 | * Copyright (C) 2004-2005 Jürg Billeter 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 | * 20 | * Author: Jürg Billeter 21 | * 22 | */ 23 | 24 | #ifndef NEMO_IMAGE_CONVERTER_H 25 | #define NEMO_IMAGE_CONVERTER_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | /* Declarations for the open terminal extension object. This object will be 32 | * instantiated by nemo. It implements the GInterfaces 33 | * exported by libnemo. */ 34 | 35 | 36 | #define NEMO_TYPE_IMAGE_CONVERTER (nemo_image_converter_get_type ()) 37 | #define NEMO_IMAGE_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_IMAGE_CONVERTER, NemoImageConverter)) 38 | #define NEMO_IS_IMAGE_CONVERTER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_IMAGE_CONVERTER)) 39 | typedef struct _NemoImageConverter NemoImageConverter; 40 | typedef struct _NemoImageConverterClass NemoImageConverterClass; 41 | 42 | struct _NemoImageConverter { 43 | GObject parent_slot; 44 | }; 45 | 46 | struct _NemoImageConverterClass { 47 | GObjectClass parent_slot; 48 | }; 49 | 50 | GType nemo_image_converter_get_type (void); 51 | void nemo_image_converter_register_type (GTypeModule *module); 52 | 53 | G_END_DECLS 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /nemo-image-converter/src/nemo-image-resizer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-image-resize-dialog.h 3 | * 4 | * Copyright (C) 2004-2005 Jürg Billeter 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 | * 20 | * Author: Jürg Billeter 21 | * 22 | */ 23 | 24 | #ifndef NEMO_IMAGE_RESIZER_H 25 | #define NEMO_IMAGE_RESIZER_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define NEMO_TYPE_IMAGE_RESIZER (nemo_image_resizer_get_type ()) 32 | #define NEMO_IMAGE_RESIZER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_IMAGE_RESIZER, NemoImageResizer)) 33 | #define NEMO_IMAGE_RESIZER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NEMO_TYPE_IMAGE_RESIZER, NemoImageResizerClass)) 34 | #define NEMO_IS_IMAGE_RESIZER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_IMAGE_RESIZER)) 35 | #define NEMO_IS_IMAGE_RESIZER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_TYPE_IMAGE_RESIZER)) 36 | #define NEMO_IMAGE_RESIZER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_TYPE_IMAGE_RESIZER, NemoImageResizerClass)) 37 | 38 | typedef struct _NemoImageResizer NemoImageResizer; 39 | typedef struct _NemoImageResizerClass NemoImageResizerClass; 40 | 41 | struct _NemoImageResizer { 42 | GObject parent; 43 | }; 44 | 45 | struct _NemoImageResizerClass { 46 | GObjectClass parent_class; 47 | /* Add Signal Functions Here */ 48 | }; 49 | 50 | GType nemo_image_resizer_get_type (void); 51 | NemoImageResizer *nemo_image_resizer_new (GList *files); 52 | void nemo_image_resizer_show_dialog (NemoImageResizer *dialog); 53 | 54 | G_END_DECLS 55 | 56 | #endif /* NEMO_IMAGE_RESIZER_H */ 57 | -------------------------------------------------------------------------------- /nemo-image-converter/src/nemo-image-rotator.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-image-rotator.h 3 | * 4 | * Copyright (C) 2004-2006 Jürg Billeter 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 | * 20 | * Author: Jürg Billeter 21 | * 22 | */ 23 | 24 | #ifndef NEMO_IMAGE_ROTATOR_H 25 | #define NEMO_IMAGE_ROTATOR_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define NEMO_TYPE_IMAGE_ROTATOR (nemo_image_rotator_get_type ()) 32 | #define NEMO_IMAGE_ROTATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_IMAGE_ROTATOR, NemoImageRotator)) 33 | #define NEMO_IMAGE_ROTATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NEMO_TYPE_IMAGE_ROTATOR, NemoImageRotatorClass)) 34 | #define NEMO_IS_IMAGE_ROTATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_IMAGE_ROTATOR)) 35 | #define NEMO_IS_IMAGE_ROTATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_TYPE_IMAGE_ROTATOR)) 36 | #define NEMO_IMAGE_ROTATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_TYPE_IMAGE_ROTATOR, NemoImageRotatorClass)) 37 | 38 | typedef struct _NemoImageRotator NemoImageRotator; 39 | typedef struct _NemoImageRotatorClass NemoImageRotatorClass; 40 | 41 | struct _NemoImageRotator { 42 | GObject parent; 43 | }; 44 | 45 | struct _NemoImageRotatorClass { 46 | GObjectClass parent_class; 47 | /* Add Signal Functions Here */ 48 | }; 49 | 50 | GType nemo_image_rotator_get_type (void); 51 | NemoImageRotator *nemo_image_rotator_new (GList *files); 52 | void nemo_image_rotator_show_dialog (NemoImageRotator *dialog); 53 | 54 | G_END_DECLS 55 | 56 | #endif /* NEMO_IMAGE_ROTATOR_H */ 57 | -------------------------------------------------------------------------------- /nemo-media-columns/AUTHORS: -------------------------------------------------------------------------------- 1 | RabbitVCS and Original Packages: 2 | -------------------------------- 3 | Jason Field 4 | Bruce van der Kooij 5 | Adam Plumb 6 | Jason Heeris 7 | 8 | Nemo Porting 9 | ------------ 10 | Will Rouesnel 11 | -------------------------------------------------------------------------------- /nemo-media-columns/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Adam Plumb 2 | E-mail: adamplumb@gmail.com 3 | Userid: adamplumb 4 | 5 | Jason Heeris 6 | E-mail: jason.heeris@gmail.com 7 | Userid: jasonheeris 8 | 9 | Andreas 10 | E-mail: electronics45@gmail.com 11 | -------------------------------------------------------------------------------- /nemo-media-columns/README: -------------------------------------------------------------------------------- 1 | Nemo Media Columns 2 | 3 | This extension is meant to be used with the Nemo File Manager. It provides additional columns 4 | for the List View related to media-type files. 5 | -------------------------------------------------------------------------------- /nemo-media-columns/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /nemo-media-columns/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-media-columns 2 | Section: gnome 3 | Priority: extra 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper (>= 9), 6 | python3-all, 7 | python3-setuptools, 8 | dh-python 9 | Standards-Version: 3.9.6 10 | 11 | Package: nemo-media-columns 12 | Architecture: all 13 | Depends: ${misc:Depends}, 14 | python-nemo (>= 3.9.0), 15 | gir1.2-gexiv2-0.10, 16 | python3-mutagen, 17 | python3-pypdf, 18 | python3-pil, 19 | python3-pymediainfo, 20 | gir1.2-nemo-3.0, 21 | python3-stopit 22 | Description: Nemo Extension 23 | A Nemo extension to display music/EXIF and PDF metadata info 24 | in the Nemo List View. 25 | -------------------------------------------------------------------------------- /nemo-media-columns/debian/copyright: -------------------------------------------------------------------------------- 1 | Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 2 | Name: Nemo Columns 3 | Maintainer: Clement Lefebvre 4 | Source: http://ubuntuforums.org/showpost.php?p=6643803&postcount=4 5 | 6 | Files: * 7 | Copyright: 2009-2010, jmdsdf, geb666, Giacomo Bordiga 8 | 2009-2010, jmdsdf, geb666, Giacomo Bordiga 9 | 10 | License: GPL-3 11 | On Debian systems, the complete text of the GPL-3 12 | can be found in the file `/usr/share/common-licenses/GPL-3'. 13 | 14 | Files: debian/* 15 | Copyright: 2010, Filip Chabik 16 | 2010, Alin Andrei 17 | 2009-2010, jmdsdf, geb666, Giacomo Bordiga 18 | License: GPL-3 19 | On Debian systems, the complete text of the GPL-3 20 | can be found in the file `/usr/share/common-licenses/GPL-3'. 21 | -------------------------------------------------------------------------------- /nemo-media-columns/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export PYBUILD_NAME=nemo-media-columns 4 | 5 | %: 6 | dh $@ --with python3 --buildsystem=pybuild 7 | -------------------------------------------------------------------------------- /nemo-media-columns/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /nemo-media-columns/org.nemo.extensions.nemo-media-columns.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | true 8 | How long to allow the plugin to run for each file before aborting. 9 | 10 | 11 | 0.2 12 | 13 | Time to allow the plugin to process a single file. 14 | The plugin will abort and move to the next file if it takes more than this long (seconds). 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /nemo-media-columns/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Nemo Media Columns 4 | 5 | from setuptools import setup 6 | 7 | # Setup stage 8 | setup( packages=[], 9 | name = "nemo-media-columns", 10 | version = "6.4.0", 11 | description = "Column provider for nemo to show additional metadata for media and image files", 12 | author = "Linux Mint", 13 | author_email = "root@linuxmint.com", 14 | url = "https://github.com/linuxmint/nemo-extensions", 15 | license = "GPL3", 16 | 17 | # See debian/control for install-depends - this is useless here, except as reference. 18 | # install_requires (and only works with python modules. It's equally as bad to have 19 | # some deps here, then draw them into debian/control using {python3:Depends} and add 20 | # them to our non-python depends. 21 | 22 | # install_requires = ['gir1.2-nemo-3.0 >=3.8', 23 | # 'python-nemo >=3.8', 24 | # 'gir1.2-gexiv2-0.10', 25 | # 'mutagen', 26 | # 'pypdf', 27 | # 'pil', 28 | # 'pymediainfo' 29 | # 'stopit'], 30 | data_files = [ 31 | ('/usr/share/nemo-python/extensions', ['nemo-media-columns.py']), 32 | ('/usr/bin', ['nemo-media-columns-prefs']), 33 | ('/usr/share/glib-2.0/schemas', ['org.nemo.extensions.nemo-media-columns.gschema.xml']) 34 | ] 35 | ) 36 | -------------------------------------------------------------------------------- /nemo-pastebin/NEWS: -------------------------------------------------------------------------------- 1 | 1.0.0: 2 | 3 | * Initial port from nautilus-pastebin 4 | 5 | -------------------------------------------------------------------------------- /nemo-pastebin/README: -------------------------------------------------------------------------------- 1 | What is this? 2 | -------------------- 3 | nemo-pastebin is an extension for the Nemo file manager, which allows 4 | users to send files to pastebins just a right-click away. 5 | 6 | How does it work? 7 | -------------------- 8 | Simply: right-click on a file, select «Pastebin» and, if the Internet 9 | connection is active, after few seconds the application will show a 10 | notification and copy the paste URL to your clipboard, allowing you to paste 11 | it in a browser tab, IRC channel or wherever you want. 12 | 13 | -------------------- 14 | Original Author: Alessio Treglia 15 | Copyright © 2009, Alessio Treglia 16 | License: GPL-2 17 | -------------------------------------------------------------------------------- /nemo-pastebin/data/nemo-pastebin-configurator.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .\" First parameter, NAME, should be all caps 3 | .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection 4 | .\" other parameters are allowed: see man(7), man(1) 5 | .TH NEMO-PASTEBIN-CONFIGURATOR 1 "October 1, 2009" 6 | .\" Please adjust this date whenever revising the manpage. 7 | .\" 8 | .\" Some roff macros, for reference: 9 | .\" .nh disable hyphenation 10 | .\" .hy enable hyphenation 11 | .\" .ad l left justify 12 | .\" .ad b justify to both left and right margins 13 | .\" .nf disable filling 14 | .\" .fi enable filling 15 | .\" .br insert line break 16 | .\" .sp insert n+1 empty lines 17 | .\" for manpage-specific macros, see man(7) 18 | .SH NAME 19 | nemo-pastebin-configurator \- Nemo Pastebin configuration panel 20 | .SH SYNOPSIS 21 | .B nemo-pastebin-configurator 22 | .SH DESCRIPTION 23 | .B 24 | nemo-pastebin-configurator 25 | is a graphical tool to configure 26 | .B Nemo Pastebin 27 | , a small extension for the Nemo file manager, which allows users to send 28 | files just a right-click away. 29 | .PP 30 | .B nemo-pastebin-configurator 31 | has been written in Python and GTK+2, and after installing the application you 32 | can run it from the Settings submenu. 33 | .SH SEE ALSO 34 | .BR nemo (1), 35 | .br 36 | .SH AUTHOR 37 | nemo-pastebin-configurator was written by 38 | Alessio Treglia . 39 | .PP 40 | This manual page was written by Alessio Treglia , 41 | for the Debian project (and may be used by others). 42 | -------------------------------------------------------------------------------- /nemo-pastebin/data/nemo-pastebin.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | true 5 | Show a bubble 6 | Show a notification to inform the user about whether the operation has been completed successfully or not. 7 | 8 | 9 | true 10 | Open a browser window 11 | Open a browser and point it to the pasted document's URL. 12 | 13 | 14 | "pastebin.com" 15 | Selected pastebin service 16 | The pastebin which the file will be sent to. 17 | 18 | 19 | '' 20 | Author (if not set, the login name will be used) 21 | The name to use as author of the document. 22 | 23 | 24 | '' 25 | Username 26 | Most services don't need this. 27 | 28 | 29 | '' 30 | Password (if needed) 31 | Most services don't need this. 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /nemo-pastebin/data/nemo-pastebin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-pastebin/data/nemo-pastebin.png -------------------------------------------------------------------------------- /nemo-pastebin/debian/compat: -------------------------------------------------------------------------------- 1 | 9 -------------------------------------------------------------------------------- /nemo-pastebin/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-pastebin 2 | Section: gnome 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper (>= 9), 6 | python3-all, 7 | python3-setuptools, 8 | dh-python 9 | Standards-Version: 3.9.6 10 | X-Python-Version: >= 2.7 11 | 12 | Package: nemo-pastebin 13 | Architecture: all 14 | Depends: gir1.2-nemo-3.0, 15 | pastebinit, 16 | python-nemo (>= 3.9.0), 17 | ${misc:Depends} 18 | Recommends: gir1.2-notify-0.7 19 | Description: Nemo extension to send files to a pastebin 20 | nemo-pastebin is a Nemo extension written in Python, which 21 | allows users to upload text-only files to a pastebin service just 22 | by right-clicking on them. 23 | . 24 | After sending the files, a notification will be shown and the paste 25 | URL copied into the clipboard. 26 | . 27 | Users can also customize the extension's behaviour just by using 28 | nemo-pastebin-configurator, an easy-to-use configuration tool. 29 | -------------------------------------------------------------------------------- /nemo-pastebin/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=204 2 | Upstream-Name: nemo-pastebin 3 | Upstream-Contact: Michael Webster 4 | 5 | Files: * 6 | Copyright: 2009-2010, Alessio Treglia 7 | License: GPL-2+ 8 | 9 | Files: debian/* 10 | Copyright: 2009-2012, Alessio Treglia 11 | License: GPL-2+ 12 | 13 | License: GPL-2+ 14 | This program is free software; you can redistribute it and/or modify 15 | it under the terms of the GNU General Public License as published by 16 | the Free Software Foundation; either version 2 of the License, or 17 | (at your option) any later version. 18 | . 19 | This program is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | GNU General Public License for more details. 23 | Comment: 24 | You should have received a copy of the GNU General Public License along 25 | with this program; if not, write to the Free Software Foundation, Inc., 26 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 27 | . 28 | On Debian systems the full text of the GNU General Public 29 | License can be found in the `/usr/share/common-licenses/GPL-2' file. 30 | -------------------------------------------------------------------------------- /nemo-pastebin/debian/nemo-pastebin.manpages: -------------------------------------------------------------------------------- 1 | data/nemo-pastebin-configurator.1 2 | -------------------------------------------------------------------------------- /nemo-pastebin/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export PYBUILD_NAME=nemo-pastebin 4 | 5 | %: 6 | dh $@ --with python3 --buildsystem=pybuild 7 | 8 | override_dh_install: 9 | for file in $$(cd po; ls *.po; cd ..); do echo debian/nemo-pastebin/usr/share/locale/$${file%.po}/LC_MESSAGES; mkdir -p debian/nemo-pastebin/usr/share/locale/$${file%.po}/LC_MESSAGES; msgfmt -f -o debian/nemo-pastebin/usr/share/locale/$${file%.po}/LC_MESSAGES/nemo-pastebin.mo po/$$file; done 10 | dh_install 11 | -------------------------------------------------------------------------------- /nemo-pastebin/setup.cfg: -------------------------------------------------------------------------------- 1 | [build_i18n] 2 | domain = nemo-pastebin 3 | 4 | -------------------------------------------------------------------------------- /nemo-pastebin/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*- coding: utf-8 -*- 3 | # nemo-pastebin - Nemo extension to paste a file to a pastebin service 4 | # Written by: 5 | # Alessio Treglia 6 | # Copyright (C) 2009-2010, Alessio Treglia 7 | # 8 | # This package is free software; you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation; either version 2 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This package is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with this package; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 | # 22 | 23 | from setuptools import setup 24 | 25 | def get_app_path_files(): 26 | return [ 27 | 'data/nemo-pastebin-configurator.ui', 28 | 'src/nemo-pastebin-configurator.py' 29 | ] 30 | 31 | data_files = [ 32 | ('/usr/share/icons/hicolor/scalable/apps', ['data/nemo-pastebin.svg']), 33 | ('/usr/share/icons/hicolor/48x48/apps', ['data/nemo-pastebin.png']), 34 | ('/usr/share/glib-2.0/schemas', ['data/nemo-pastebin.gschema.xml']), 35 | ('/usr/bin', ['src/nemo-pastebin-configurator']), 36 | ('/usr/share/nemo-pastebin', get_app_path_files()), 37 | ('/usr/share/nemo-python/extensions', ['src/nemo-pastebin.py']) 38 | ] 39 | 40 | pkg_short_dsc = "Nemo extension to send files to a pastebin" 41 | pkg_long_dsc = """nemo-pastebin is a Nemo extension written in Python, which allows users to upload text-only files to a pastebin service just by right-clicking on them. Users can also add their favorite service just by creatine new presets.""" 42 | 43 | setup(name='nemo-pastebin', packages=[], 44 | version='6.4.0', 45 | author='Linux Mint', 46 | author_email='root@linuxmint.com', 47 | license='GPL-2', 48 | url='https://github.com/linuxmint/nemo-extensions', 49 | description=pkg_short_dsc, 50 | long_description=pkg_long_dsc, 51 | data_files=data_files 52 | ) 53 | -------------------------------------------------------------------------------- /nemo-pastebin/src/nemo-pastebin-configurator: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import subprocess 4 | import sys 5 | 6 | sys.exit(subprocess.call(["/usr/share/nemo-pastebin/nemo-pastebin-configurator.py"])) 7 | -------------------------------------------------------------------------------- /nemo-preview/AUTHORS: -------------------------------------------------------------------------------- 1 | Cosimo Cecchi 2 | -------------------------------------------------------------------------------- /nemo-preview/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-preview/NEWS -------------------------------------------------------------------------------- /nemo-preview/README: -------------------------------------------------------------------------------- 1 | This is NemoPreview, a quick previewer for Nemo, the Cinnamon desktop file manager. 2 | ----------------------------------------------------------------------------------- 3 | 4 | NemoPreview is a DBus-activated service. For NemoPreview to popup, applications will have 5 | to call the ShowFile method on the org.nemo.Preview interface. 6 | If you want to or debug NemoPreview without a calling application, you can use 7 | gdbus(1) to call the ShowFile method manually on the bus. 8 | 9 | ======= 10 | Methods 11 | ======= 12 | 13 | ShowFile(s: FileUri, i: ParentXid, b: CloseIfShown) 14 | 15 | Activates NemoPreview previewing the file at the provided URI. 16 | If a XID is specified, the NemoPreview window is made transient to that window. 17 | If the CloseIfShown parameter is TRUE, NemoPreview will close if it's already 18 | running. 19 | 20 | Close() 21 | 22 | Explicitly closes NemoPreview. 23 | -------------------------------------------------------------------------------- /nemo-preview/TODO: -------------------------------------------------------------------------------- 1 | Bugs: 2 | - shouldn't probably steal focus from the nemo window when open ? 3 | - error handling from plugins should be catched and a fail-whale of 4 | some sort be displayed 5 | - album arts not square should be canvased into a square shape 6 | 7 | Low-priority bugs: 8 | - videos over remote mounts should have some some sort of buffering 9 | 10 | Ideas (to be validated): 11 | - make preview window resizable, and save per-file preview size 12 | in gvfs metadata 13 | - save/share cover art with Rhythmbox/Banshee? 14 | - add a zoom-in/zoom-out effect when opening/closing 15 | -------------------------------------------------------------------------------- /nemo-preview/data/meson.build: -------------------------------------------------------------------------------- 1 | dbus_conf = configuration_data() 2 | 3 | dbus_conf.set( 4 | 'bindir', 5 | bindir, 6 | ) 7 | 8 | configure_file( 9 | input: 'org.nemo.Preview.service.in', 10 | output: 'org.nemo.Preview.service', 11 | configuration: dbus_conf, 12 | install_dir: join_paths(datadir, 'dbus-1', 'services'), 13 | ) 14 | -------------------------------------------------------------------------------- /nemo-preview/data/org.nemo.Preview.service.in: -------------------------------------------------------------------------------- 1 | [D-BUS Service] 2 | Name=org.nemo.Preview 3 | Exec=@bindir@/nemo-preview 4 | -------------------------------------------------------------------------------- /nemo-preview/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-preview 2 | Section: gnome 3 | Priority: extra 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper-compat (= 12), 6 | meson, 7 | gir1.2-xreader, 8 | gnome-pkg-tools (>= 0.11), 9 | gobject-introspection (>= 0.9.2), 10 | intltool, 11 | libclutter-1.0-dev (>= 1.11.4), 12 | libclutter-gst-3.0-dev, 13 | libclutter-gtk-1.0-dev (>= 1.0.1), 14 | libxreaderview-dev, 15 | libxreaderdocument-dev, 16 | libfreetype6-dev, 17 | libcjs-dev, 18 | libgirepository1.0-dev (>= 0.9.2), 19 | libglib2.0-dev (>= 2.37.3), 20 | libgstreamer1.0-dev, 21 | libgtk-3-dev (>= 3.5.12), 22 | libgtksourceview-4-dev, 23 | libmusicbrainz5-dev, 24 | libwebkit2gtk-4.1-dev, 25 | gnome-common 26 | Standards-Version: 3.9.6 27 | 28 | Package: nemo-preview 29 | Architecture: any 30 | Depends: cjs, 31 | gir1.2-clutter-gst-3.0, 32 | gir1.2-xreader, 33 | gir1.2-gtkclutter-1.0, 34 | gir1.2-webkit2-4.1, 35 | gstreamer1.0-plugins-good, 36 | libfreetype6, 37 | libgirepository-1.0-1, 38 | libgtksourceview-4-0, 39 | libmusicbrainz5-2, 40 | libpango-1.0-0, 41 | nemo 42 | Description: nemo-preview is a quick previewer for nemo 43 | Nemo-preview is a GtkClutter and Javascript-based quick previewer 44 | for Nemo, the Cinnamon desktop file manager. 45 | Nemo-preview is a DBus-activated service. It is capable of previewing 46 | documents, PDFs, sound and video files (using Gstreamer), 47 | some text files, and possibly others in the future. 48 | . 49 | To activate the preview, left-click the file and hit space. 50 | The preview can be closed by hitting space again, or escape. 51 | -------------------------------------------------------------------------------- /nemo-preview/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: sushi 3 | Upstream-Contact: Cosimo Cecchi 4 | Source: git://git.gnome.org/sushi 5 | 6 | Files: * 7 | Copyright: 2011 Red Hat, Inc 8 | License: GPL-2+ 9 | 10 | Files: src/libsushi/sushi-sound-player.[hc]: 11 | Copyright: 2011 Lucas Rocha 12 | License: GPL-2+ 13 | 14 | Files: debian/* 15 | Copyright: 2011 Brandon Snider 16 | License: GPL-2+ 17 | 18 | License: GPL-2+ 19 | This program is free software; you can redistribute it 20 | and/or modify it under the terms of the GNU General Public 21 | License as published by the Free Software Foundation; either 22 | version 2 of the License, or (at your option) any later 23 | version. 24 | . 25 | This program is distributed in the hope that it will be 26 | useful, but WITHOUT ANY WARRANTY; without even the implied 27 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 28 | PURPOSE. See the GNU General Public License for more 29 | details. 30 | . 31 | You should have received a copy of the GNU General Public 32 | License along with this package; if not, write to the Free 33 | Software Foundation, Inc., 51 Franklin St, Fifth Floor, 34 | Boston, MA 02110-1301 USA 35 | . 36 | On Debian systems, the full text of the GNU General Public 37 | License version 2 can be found in the file 38 | `/usr/share/common-licenses/GPL-2'. 39 | -------------------------------------------------------------------------------- /nemo-preview/debian/docs: -------------------------------------------------------------------------------- 1 | NEWS 2 | README 3 | TODO 4 | -------------------------------------------------------------------------------- /nemo-preview/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | -------------------------------------------------------------------------------- /nemo-preview/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /nemo-preview/meson.build: -------------------------------------------------------------------------------- 1 | project( 2 | 'nemo-preview', 3 | 'c', 4 | version: '6.4.0', 5 | meson_version: '>=0.42.0' 6 | ) 7 | 8 | clutter_dep = dependency('clutter-1.0', version: '>=1.11.4') 9 | clutter_gst_dep = dependency('clutter-gst-3.0') 10 | clutter_gtk_dep = dependency('clutter-gtk-1.0', version: '>=1.0.1') 11 | xreader_document_dep = dependency('xreader-document-1.5') 12 | xreader_view_dep = dependency('xreader-view-1.5') 13 | freetype_dep = dependency('freetype2') 14 | gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0', version: '>=2.23.0') 15 | cjs_dep = dependency('cjs-1.0', version: '>=1.9.0') 16 | glib_dep = dependency('glib-2.0', version: '>=2.37.3') 17 | gstreamer_dep = dependency('gstreamer-1.0') 18 | gstreamer_base_dep = dependency('gstreamer-base-1.0') 19 | gstreamer_pbutils_dep = dependency('gstreamer-pbutils-1.0') 20 | gstreamer_tag_dep = dependency('gstreamer-tag-1.0') 21 | gtk_dep = dependency('gtk+-3.0', version: '>=3.5.12') 22 | gtksourceview_dep = dependency('gtksourceview-4', version: '>=4.0.3') 23 | introspection_dep = dependency('gobject-introspection-1.0', version: '>=0.9.2') 24 | musicbrainz_dep = dependency('libmusicbrainz5') 25 | webkit_dep = dependency('webkit2gtk-4.1') 26 | 27 | bindir = join_paths(get_option('prefix'), get_option('bindir')) 28 | datadir = join_paths(get_option('prefix'), get_option('datadir')) 29 | libdir = join_paths(get_option('prefix'), get_option('libdir')) 30 | libexecdir = join_paths(get_option('prefix'), get_option('libexecdir')) 31 | 32 | add_project_arguments( 33 | '-DNEMO_PREVIEW_PKGDATADIR="' + join_paths(datadir, 'nemo-preview') + '"', 34 | '-DGETTEXT_PACKAGE="nemo-extensions"', 35 | language: 'c', 36 | ) 37 | 38 | subdir('data') 39 | subdir('src') 40 | -------------------------------------------------------------------------------- /nemo-preview/src/js/ui/main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301 USA. 18 | * 19 | * The NemoPreview project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and NemoPreview. This 21 | * permission is above and beyond the permissions granted by the GPL license 22 | * NemoPreview is covered by. 23 | * 24 | * Authors: Cosimo Cecchi 25 | * 26 | */ 27 | 28 | imports.gi.versions.Gtk = '3.0'; 29 | const Gtk = imports.gi.Gtk; 30 | 31 | const Format = imports.format; 32 | const Gettext = imports.gettext; 33 | 34 | const GLib = imports.gi.GLib; 35 | 36 | const Application = imports.ui.application; 37 | const Path = imports.util.path; 38 | const Utils = imports.ui.utils; 39 | const Tweener = imports.ui.tweener; 40 | 41 | function run(argv) { 42 | Gettext.bindtextdomain('nemo-extensions', Path.LOCALE_DIR); 43 | String.prototype.format = Format.format; 44 | 45 | GLib.set_application_name('NemoPreview'); 46 | 47 | let slowdownEnv = GLib.getenv('NEMO_PREVIEW_SLOWDOWN_FACTOR'); 48 | if (slowdownEnv) { 49 | let factor = parseFloat(slowdownEnv); 50 | if (!isNaN(factor) && factor > 0.0) 51 | Utils.setSlowDownFactor(factor); 52 | } 53 | 54 | Tweener.init(); 55 | 56 | let application = new Application.Application(); 57 | return application.run(null); 58 | } 59 | -------------------------------------------------------------------------------- /nemo-preview/src/js/util/constants.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301 USA. 18 | * 19 | * The NemoPreview project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and NemoPreview. This 21 | * permission is above and beyond the permissions granted by the GPL license 22 | * NemoPreview is covered by. 23 | * 24 | * Authors: Cosimo Cecchi 25 | * 26 | */ 27 | 28 | var VIEW_MIN = 400; 29 | var VIEW_BACKGROUND_OPACITY = 220; 30 | var VIEW_PADDING_Y = 28; 31 | var VIEW_PADDING_X = 2; 32 | var VIEW_MAX_W = 800; 33 | var VIEW_MAX_H = 600; 34 | var TOOLBAR_SPACING = 32; 35 | -------------------------------------------------------------------------------- /nemo-preview/src/js/util/path.js.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301 USA. 18 | * 19 | * The NemoPreview project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and NemoPreview. This 21 | * permission is above and beyond the permissions granted by the GPL license 22 | * NemoPreview is covered by. 23 | * 24 | * Authors: Cosimo Cecchi 25 | * 26 | */ 27 | 28 | var LOCALE_DIR = '@localedir@'; 29 | var ICONS_DIR = '@pkgdatadir@/icons/'; 30 | -------------------------------------------------------------------------------- /nemo-preview/src/libnemo-preview/meson.build: -------------------------------------------------------------------------------- 1 | libnemo_preview_c = [ 2 | 'nemo-preview-cover-art.c', 3 | 'nemo-preview-file-loader.c', 4 | 'nemo-preview-font-loader.c', 5 | 'nemo-preview-font-widget.c', 6 | 'nemo-preview-pdf-loader.c', 7 | 'nemo-preview-sound-player.c', 8 | 'nemo-preview-text-loader.c', 9 | 'nemo-preview-utils.c', 10 | ] 11 | 12 | libnemo_preview_headers = [ 13 | 'nemo-preview-cover-art.h', 14 | 'nemo-preview-file-loader.h', 15 | 'nemo-preview-font-loader.h', 16 | 'nemo-preview-font-widget.h', 17 | 'nemo-preview-pdf-loader.h', 18 | 'nemo-preview-sound-player.h', 19 | 'nemo-preview-text-loader.h', 20 | 'nemo-preview-utils.h', 21 | ] 22 | 23 | libnemo_preview_enum = gnome.mkenums( 24 | 'libnemo_preview_enum', 25 | c_template: 'nemo-preview-enum-types.c.in', 26 | h_template: 'nemo-preview-enum-types.h.in', 27 | sources: libnemo_preview_headers, 28 | ) 29 | 30 | libnemo_preview = shared_library( 31 | 'nemo-preview-1.0', 32 | dependencies: deps, 33 | sources: [ 34 | libnemo_preview_c, 35 | libnemo_preview_enum, 36 | libnemo_preview_headers, 37 | ], 38 | install: true, 39 | install_dir: join_paths(libdir, 'nemo-preview'), 40 | include_directories: include_dirs, 41 | ) 42 | 43 | # We use that later on to link the nemo-preview-start executable against libnemo_preview 44 | libnemo_preview_shared_link = declare_dependency( 45 | link_with: libnemo_preview, 46 | dependencies: deps, 47 | ) 48 | 49 | gnome.generate_gir( 50 | libnemo_preview, 51 | sources: [ 52 | libnemo_preview_c, 53 | libnemo_preview_enum, 54 | libnemo_preview_headers, 55 | ], 56 | nsversion: '1.0', 57 | namespace: 'NemoPreview', 58 | symbol_prefix: 'nemo_preview', 59 | identifier_prefix: 'NemoPreview', 60 | includes: [ 61 | 'Clutter-1.0', 62 | 'GstPbutils-1.0', 63 | 'GstTag-1.0', 64 | 'GdkPixbuf-2.0', 65 | 'Gtk-3.0', 66 | 'GtkSource-4', 67 | 'XreaderDocument-1.5', 68 | ], 69 | install: true, 70 | install_dir_gir: join_paths(datadir, 'nemo-preview', 'gir-1.0'), 71 | install_dir_typelib: join_paths(libdir, 'nemo-preview', 'girepository-1.0'), 72 | ) 73 | -------------------------------------------------------------------------------- /nemo-preview/src/libnemo-preview/nemo-preview-enum-types.c.in: -------------------------------------------------------------------------------- 1 | /*** BEGIN file-header ***/ 2 | #include "nemo-preview-enum-types.h" 3 | /*** END file-header ***/ 4 | 5 | /*** BEGIN file-production ***/ 6 | /* enumerations from "@filename@" */ 7 | #include "@filename@" 8 | /*** END file-production ***/ 9 | 10 | /*** BEGIN value-header ***/ 11 | GType 12 | @enum_name@_get_type(void) { 13 | static GType enum_type_id = 0; 14 | if (G_UNLIKELY (!enum_type_id)) 15 | { 16 | static const G@Type@Value values[] = { 17 | /*** END value-header ***/ 18 | 19 | /*** BEGIN value-production ***/ 20 | { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, 21 | /*** END value-production ***/ 22 | 23 | /*** BEGIN value-tail ***/ 24 | { 0, NULL, NULL } 25 | }; 26 | enum_type_id = g_@type@_register_static("@EnumName@", values); 27 | } 28 | return enum_type_id; 29 | } 30 | /*** END value-tail ***/ 31 | -------------------------------------------------------------------------------- /nemo-preview/src/libnemo-preview/nemo-preview-enum-types.h.in: -------------------------------------------------------------------------------- 1 | /*** BEGIN file-header ***/ 2 | #ifndef __NEMO_PREVIEW_ENUM_TYPES_H__ 3 | #define __NEMO_PREVIEW_ENUM_TYPES_H__ 4 | 5 | #include 6 | 7 | G_BEGIN_DECLS 8 | 9 | /*** END file-header ***/ 10 | 11 | /*** BEGIN file-production ***/ 12 | /* enumerations from "@filename@" */ 13 | /*** END file-production ***/ 14 | 15 | /*** BEGIN file-tail ***/ 16 | G_END_DECLS 17 | 18 | #endif /* !__NEMO_PREVIEW_ENUM_TYPES_H__ */ 19 | /*** END file-tail ***/ 20 | 21 | /*** BEGIN value-header ***/ 22 | GType @enum_name@_get_type (void) G_GNUC_CONST; 23 | #define NEMO_PREVIEW_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) 24 | 25 | /*** END value-header ***/ 26 | -------------------------------------------------------------------------------- /nemo-preview/src/libnemo-preview/nemo-preview-font-loader.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301 USA. 18 | * 19 | * The NemoPreview project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and NemoPreview. This 21 | * permission is above and beyond the permissions granted by the GPL license 22 | * NemoPreview is covered by. 23 | * 24 | * Authors: Cosimo Cecchi 25 | * 26 | */ 27 | 28 | #ifndef __NEMO_PREVIEW_FONT_LOADER_H__ 29 | #define __NEMO_PREVIEW_FONT_LOADER_H__ 30 | 31 | #include 32 | #include FT_FREETYPE_H 33 | #include 34 | 35 | FT_Face nemo_preview_new_ft_face_from_uri (FT_Library library, 36 | const gchar *uri, 37 | gchar **contents, 38 | GError **error); 39 | 40 | void nemo_preview_new_ft_face_from_uri_async (FT_Library library, 41 | const gchar *uri, 42 | GAsyncReadyCallback callback, 43 | gpointer user_data); 44 | 45 | FT_Face nemo_preview_new_ft_face_from_uri_finish (GAsyncResult *result, 46 | gchar **contents, 47 | GError **error); 48 | 49 | #endif /* __NEMO_PREVIEW_FONT_LOADER_H__ */ 50 | -------------------------------------------------------------------------------- /nemo-preview/src/libnemo-preview/nemo-preview-utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | * 02110-1301 USA. 18 | * 19 | * The NemoPreview project hereby grant permission for non-gpl compatible GStreamer 20 | * plugins to be used and distributed together with GStreamer and NemoPreview. This 21 | * permission is above and beyond the permissions granted by the GPL license 22 | * NemoPreview is covered by. 23 | * 24 | * Authors: Cosimo Cecchi 25 | * 26 | */ 27 | 28 | #ifndef __NEMO_PREVIEW_UTILS_H__ 29 | #define __NEMO_PREVIEW_UTILS_H__ 30 | 31 | #include 32 | #include 33 | #include 34 | 35 | G_BEGIN_DECLS 36 | 37 | ClutterActor * nemo_preview_create_rounded_background (void); 38 | GdkWindow * nemo_preview_create_foreign_window (guint xid); 39 | gchar ** nemo_preview_query_supported_document_types (void); 40 | 41 | G_END_DECLS 42 | 43 | #endif /* __NEMO_PREVIEW_UTILS_H__ */ 44 | -------------------------------------------------------------------------------- /nemo-preview/src/meson.build: -------------------------------------------------------------------------------- 1 | gnome = import('gnome') 2 | 3 | nemo_preview_sources = [ 4 | 'main.c', 5 | ] 6 | 7 | deps = [ 8 | clutter_dep, 9 | clutter_gst_dep, 10 | clutter_gtk_dep, 11 | xreader_document_dep, 12 | xreader_view_dep, 13 | freetype_dep, 14 | gdk_pixbuf_dep, 15 | cjs_dep, 16 | glib_dep, 17 | gstreamer_dep, 18 | gstreamer_pbutils_dep, 19 | gstreamer_tag_dep, 20 | gtk_dep, 21 | gtksourceview_dep, 22 | introspection_dep, 23 | musicbrainz_dep, 24 | webkit_dep, 25 | ] 26 | 27 | # This actually doesn't do anything, 28 | # but main.c includes config.h, so we need to have some value in it 29 | conf_h = configuration_data() 30 | conf_h.set_quoted( 31 | 'PACKAGE_NAME', 32 | 'nemo-preview', 33 | ) 34 | 35 | configure_file( 36 | output: 'config.h', 37 | configuration: conf_h, 38 | ) 39 | 40 | # Include the just generated config.h 41 | include_dirs = [ 42 | include_directories('.'), 43 | ] 44 | 45 | # Compile libnemo-preview and its introspection data 46 | subdir('libnemo-preview') 47 | 48 | nemo_preview_resources = gnome.compile_resources( 49 | 'nemo-preview-resources', 50 | 'org.nemo.Preview.gresource.xml', 51 | c_name: 'nemo_preview', 52 | ) 53 | 54 | nemo_preview_sources += nemo_preview_resources 55 | 56 | executable( 57 | 'nemo-preview-start', 58 | nemo_preview_sources, 59 | # link against the just built libnemo-preview 60 | dependencies: libnemo_preview_shared_link, 61 | install: true, 62 | install_dir: libexecdir, 63 | ) 64 | 65 | conf = configuration_data() 66 | 67 | conf.set( 68 | 'pkgdatadir', 69 | join_paths(datadir, 'nemo-preview'), 70 | ) 71 | conf.set( 72 | 'pkglibdir', 73 | join_paths(libdir, 'nemo-preview'), 74 | ) 75 | conf.set( 76 | 'libexecdir', 77 | libexecdir, 78 | ) 79 | 80 | nemo_preview_bin = configure_file( 81 | input: 'nemo-preview.in', 82 | output: 'nemo-preview', 83 | configuration: conf, 84 | ) 85 | 86 | install_data( 87 | nemo_preview_bin, 88 | install_mode: 'rwxr-xr-x', 89 | install_dir: bindir, 90 | ) 91 | 92 | # Install the Javascript components without installing path.js.in as well 93 | install_subdir( 94 | 'js', 95 | install_dir: join_paths(datadir, 'nemo-preview'), 96 | exclude_files: 'util/path.js.in', 97 | ) 98 | 99 | js_conf = configuration_data() 100 | 101 | js_conf.set( 102 | 'localedir', 103 | join_paths(datadir, 'locale'), 104 | ) 105 | 106 | js_conf.set( 107 | 'pkgdatadir', 108 | join_paths(datadir, 'nemo-preview'), 109 | ) 110 | 111 | configure_file( 112 | input: 'js/util/path.js.in', 113 | output: 'path.js', 114 | configuration: js_conf, 115 | install_dir: join_paths(datadir, 'nemo-preview', 'js', 'util'), 116 | ) 117 | -------------------------------------------------------------------------------- /nemo-preview/src/nemo-preview.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export GJS_PATH="@pkgdatadir@/js${GJS_PATH:+:$GJS_PATH}" 4 | export GI_TYPELIB_PATH="@pkglibdir@/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" 5 | export LD_LIBRARY_PATH="@pkglibdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" 6 | 7 | if test x"$GJS_DEBUG_OUTPUT" = x ; then 8 | export GJS_DEBUG_OUTPUT=stderr 9 | fi 10 | 11 | if test x"$GJS_DEBUG_TOPICS" = x ; then 12 | export GJS_DEBUG_TOPICS="JS ERROR;JS LOG" 13 | fi 14 | 15 | @libexecdir@/nemo-preview-start 16 | -------------------------------------------------------------------------------- /nemo-preview/src/org.nemo.Preview.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | resources/gtk-style.css 5 | 6 | 7 | -------------------------------------------------------------------------------- /nemo-preview/src/resources/gtk-style.css: -------------------------------------------------------------------------------- 1 | @define-color np_fg_color #ddddde; 2 | @define-color np_bg_color #333; 3 | @define-color np_text_color #2e3436; 4 | 5 | GtkWindow { 6 | color: @np_fg_color; 7 | } 8 | 9 | GtkSourceView { 10 | color: @np_text_color; 11 | background-color: shade (@np_fg_color, 1.10); 12 | font: 10px monospace; 13 | } 14 | 15 | NemoPreviewFontWidget { 16 | background-color: transparent; 17 | } 18 | 19 | .scrollbar.slider, 20 | .scrollbar.button { 21 | background-color: shade (@np_bg_color, 1.30); 22 | } 23 | 24 | .scrollbar.button:hover, 25 | .scrollbar.slider:hover { 26 | background-color: shade (@np_bg_color, 1.45); 27 | } 28 | 29 | .scrollbar.button:hover:active, 30 | .scrollbar.slider:hover:active { 31 | background-color: shade (@np_bg_color, 1.70); 32 | } 33 | 34 | .np-decoration { 35 | font-weight: bold; 36 | } 37 | 38 | .np-decoration.button { 39 | background-image: none; 40 | padding: 4px; 41 | 42 | border-image: none; 43 | border-style: none; 44 | border-radius: 0; 45 | border-width: 0; 46 | background-color: alpha (#000, 0.0); 47 | outline-width: 0px; 48 | } 49 | 50 | .np-decoration.button:hover { 51 | background-image: -gtk-gradient(linear, 52 | left top, 53 | left bottom, 54 | from(alpha(@np_bg_color, 0.0)), 55 | color-stop(0.50, alpha(@np_bg_color, 0.66)), 56 | to(alpha(@np_bg_color, 0.0))); 57 | } 58 | 59 | .np-decoration.button:hover:active { 60 | background-image: -gtk-gradient(linear, 61 | left top, 62 | left bottom, 63 | from(alpha(@np_bg_color, 0.0)), 64 | color-stop(0.50, @np_bg_color), 65 | to(alpha(@np_bg_color, 0.0))); 66 | } 67 | -------------------------------------------------------------------------------- /nemo-python/AUTHORS: -------------------------------------------------------------------------------- 1 | nemo-python is written by 2 | Johan Dahlin 3 | 4 | Somewhat on nemo-mono by: 5 | Dave Camp 6 | Calvin Gaisford 7 | -------------------------------------------------------------------------------- /nemo-python/ChangeLog: -------------------------------------------------------------------------------- 1 | The ChangeLog file is no longer used. 2 | 3 | For a list of changes goto: http://git.gnome.org/browse/nemo-python/log/ 4 | -------------------------------------------------------------------------------- /nemo-python/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-python/NEWS -------------------------------------------------------------------------------- /nemo-python/README: -------------------------------------------------------------------------------- 1 | libnemo-extension Python bindings 2 | ==================================== 3 | 4 | These are unstable bindings for the Nemo extension library. 5 | 6 | For examples and documentation check the examples sub directory. 7 | 8 | As of nemo-python 0.7.0, scripts are also loaded from $XDG_DATA_DIRS/nemo-python/extensions, 9 | which includes ~/.local/share and /usr/share (or whatever your $XDG_DATA_DIRS is 10 | set to). 11 | 12 | Try to copy test.py to that directory for an example 13 | 14 | Problems 15 | ======== 16 | It's currently not possible to reload the python file without 17 | restarting nemo. 18 | -------------------------------------------------------------------------------- /nemo-python/debian/NEWS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-python/debian/NEWS -------------------------------------------------------------------------------- /nemo-python/debian/README.Debian: -------------------------------------------------------------------------------- 1 | nemo-python for Debian 2 | -------------------------- 3 | 4 | Plugins are loaded by default from two locations: 5 | 6 | /usr/share/nemo-python/extensions - all-user plugin directory 7 | ~/.local/share/nemo-python/extensions - per-user plugin directory 8 | 9 | Sample plugins can be found in /usr/share/doc/python-nemo/examples. To use 10 | them, copy them to one of the locations above and restart nemo--this can 11 | be done gracefully by running 'nemo --quit'. 12 | 13 | -------------------------------------------------------------------------------- /nemo-python/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-python 2 | Section: python 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: 6 | debhelper-compat (= 12), 7 | gtk-doc-tools, 8 | meson, 9 | libnemo-extension-dev (>= 3.6), 10 | python3-dev, 11 | python-gi-dev, 12 | Standards-Version: 3.9.6 13 | 14 | Package: python-nemo 15 | Architecture: any 16 | Provides: nemo-python 17 | Depends: gir1.2-nemo-3.0 (>= 3.6), ${misc:Depends}, ${shlibs:Depends} 18 | Description: Python binding for Nemo components 19 | Python binding for Nemo, to allow Nemo property page and menu item 20 | extensions to be written in Python. 21 | 22 | Package: python-nemo-dbg 23 | Section: debug 24 | Architecture: any 25 | Priority: extra 26 | Depends: python-nemo (= ${binary:Version}), ${misc:Depends} 27 | Description: Debug packages for python-nemo 28 | This development package contains unstripped binaries compiled with 29 | debugging symbols needed by gdb. 30 | -------------------------------------------------------------------------------- /nemo-python/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: Nemo Python 3 | Upstream-Contact: Linux Mint Project 4 | Source: https://github.com/linuxmint/nemo-extensions/ 5 | 6 | Files: * 7 | Copyright: 2004, 2005 Johan Dahlin 8 | License: GPL-2+ 9 | 10 | Files: debian/* 11 | Copyright: 2016, Margarita Manterola 12 | License: GPL-2+ 13 | 14 | License: GPL-2+ 15 | This program is free software; you can redistribute it and/or modify 16 | it under the terms of the GNU General Public License as published by 17 | the Free Software Foundation; either version 2 of the License, or 18 | (at your option) any later version. 19 | . 20 | This program is distributed in the hope that it will be useful, 21 | but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 23 | General Public License for more details. 24 | . 25 | On Debian systems, the complete text of the GNU General Public License 26 | version 2 can be found in the /usr/share/common-licenses/GPL-2 file. 27 | -------------------------------------------------------------------------------- /nemo-python/debian/docs: -------------------------------------------------------------------------------- 1 | README 2 | -------------------------------------------------------------------------------- /nemo-python/debian/python-nemo.install: -------------------------------------------------------------------------------- 1 | usr/lib/*/nemo/extensions-3.0 2 | usr/lib/*/pkgconfig 3 | usr/share/gtk-doc 4 | -------------------------------------------------------------------------------- /nemo-python/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | 8 | override_dh_auto_configure: 9 | dh_auto_configure -- -D gtk_doc=true --errorlogs 10 | 11 | # Don't generate a shlibs file for the plugin 12 | override_dh_makeshlibs: 13 | 14 | override_dh_strip: 15 | dh_strip --dbg-package=python-nemo-dbg 16 | -------------------------------------------------------------------------------- /nemo-python/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /nemo-python/docs/meson.build: -------------------------------------------------------------------------------- 1 | subdir('reference') 2 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/entities.docbook.in: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/meson.build: -------------------------------------------------------------------------------- 1 | 2 | docConf = configuration_data() 3 | docConf.set('VERSION', meson.project_version()) 4 | 5 | configure_file( 6 | input : 'entities.docbook.in', 7 | output: 'entities.docbook', 8 | configuration: docConf 9 | ) 10 | 11 | 12 | content_files = [ 13 | 'entities.docbook.in' 14 | ] 15 | 16 | gnome.gtkdoc('nemo-python', 17 | main_xml: 'nemo-python-ref.xml', 18 | src_dir: 'src', 19 | content_files: content_files, 20 | install: true, 21 | install_dir: 'nemo-python' 22 | ) 23 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-class-reference.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | Available Classes 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-enum-reference.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | Available Enums 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-operation-result.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | Nemo.OperationResult 8 | 9 | 10 | Nemo.OperationResult 11 | Nemo.OperationResult Reference 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Description 22 | 23 | 24 | The Nemo.OperationResult constants are 25 | used by the Nemo.InfoProvider provider to 26 | notify Nemo what the extension intends to do when Nemo calls the extension's update_file_info_full 27 | method. The possible values are as follows: 28 | 29 | 30 | 31 | 32 | 33 | Nemo.OperationResult.COMPLETE 34 | 35 | The operation is complete and Nemo can move on to the next update_file_info_full call. 36 | 37 | 38 | 39 | Nemo.OperationResult.IN_PROGRESS 40 | 41 | The operation is in progress and running asynchronously and Nemo should wait until the Nemo.info_provider_update_complete_invoke method 42 | is called before moving on to the next update_file_info_full call. 43 | 44 | 45 | 46 | Nemo.OperationResult.FAILED 47 | 48 | The operation has failed. 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-overview-example.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | A Simple Extension 8 | 9 | Create an empty file with the following code: 10 | 11 | 12 | A Simple Extension 13 | 14 | from gi.repository import Nemo, GObject 15 | 16 | class ColumnExtension(GObject.GObject, Nemo.MenuProvider): 17 | def __init__(self): 18 | pass 19 | 20 | def menu_activate_cb(self, menu, file): 21 | print "menu_activate_cb",file 22 | 23 | def get_file_items(self, window, files): 24 | if len(files) != 1: 25 | return 26 | 27 | file = files[0] 28 | 29 | item = Nemo.MenuItem( 30 | name="SimpleMenuExtension::Show_File_Name", 31 | label="Showing %s" % file.get_name(), 32 | tip="Showing %s" % file.get_name() 33 | ) 34 | item.connect('activate', self.menu_activate_cb, file) 35 | 36 | return [item] 37 | 38 | 39 | Save this file as TestExtension.py in the ~/.local/share/nemo-python/extensions folder. 40 | You may need to create this folder. To run, simply restart Nemo. 41 | 42 | Once Nemo restarts, right-click on a file and you should see a new menu item, 43 | "Showing #filename#". It is as simple as that! 44 | 45 | As mentioned above, in order to 46 | get loaded by Nemo, a python extension must import the Nemo module from gi.repository, 47 | create a class derived from a nemo *Provider and a gobject.GObject, and create the methods that 48 | will be called by Nemo when it requests information from its providers. 49 | In this case, when someone right-clicks on a file, Nemo will ask all of its 50 | MenuProviders for additional menu items to show the user. When folders or files are clicked, 51 | the get_file_items method is called and a list of Nemo.MenuItems is expected. 52 | 53 | 54 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-overview-methods.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 8 | Explanation of Passive/Active Methods 9 | 10 | Because nemo-python is an interface to a Nemo' extension interface rather than a true library, it is 11 | rather quirky in how it works. One example of this is that several providers have additional public methods 12 | that an extension actively calls, rather than the extension defining and the method in their class that is called by 13 | Nemo. You can see this with the Nemo.menu_provider_emit_items_updated_signal 14 | and Nemo.info_provider_update_complete_invoke methods, which 15 | the extension actively calls, passing the provider instance as a parameter. 16 | 17 | 18 | Due to this confusion, I have termed these actively-called methods Active Methods and the methods 19 | called by Nemo are termed Passive Methods. 20 | 21 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-overview.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | Overview 8 | 9 | Writing a Nemo-Python extension is a fairly straight-forward process. 10 | One simply imports the Nemo module from the gobject introspection repository and creates a class which is derived from a gobject.GObject and 11 | one of the Nemo module's classes. When an extension derives a class, it becomes a "provider", 12 | telling Nemo to ask it for information. There are several types of providers 13 | available for extensions to use: there is MenuProvider, LocationWidgetProvider, 14 | ColumnProvider, PropertyPageProvider, and InfoProvider, all of which will be explained 15 | in more detail below. Your class can be derived from multiple providers. 16 | 17 | Here are the basic steps: 18 | 19 | 1. A script is written and installed to the standard nemo-python extension install path 20 | 2. Nemo is (re)started and loads the nemo-python C extension, which in turn loads all python extensions it can find 21 | 3. Any python script in the standard nemo-python extension install path that imports the Nemo module from the gobject introspection repository and derives 22 | the main class from a Nemo module class will be loaded 23 | 24 | 25 | A note about the standard python extensions install path 26 | 27 | As of nemo-python 0.7.0 (and continued in 1.0+), nemo-python looks in ~/.local/share/nemo-python/extensions 28 | for local extensions and $PREFIX/share/nemo-python/extensions for global extensions. 29 | 30 | 31 | 32 | A note about compatibility issues for nemo-python 1.0 33 | 1. We no longer support the "import nemo" command that previous versions used. This is because 34 | nemo-python now directly uses Nemo's annotations, which must be imported by the "from gi.repository import Nemo" command. 35 | 2. The extension class must now derive itself from a gobject.GObject in addition to the standard Nemo classes. 36 | 3. For now, some Nemo class constructors require passing named arguments instead of a standard argument list. This requirement may go away at some point. 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-provider-reference.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | Provider Interfaces 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /nemo-python/docs/reference/nemo-python-ref.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | %entities; 6 | 7 | ]> 8 | 9 | 10 | nemo-python Reference Manual 11 | Reference Manual for nemo-python &version; 12 | For nemo-python version &version; 13 | 14 | 15 | Adam 16 | Plumb 17 | 18 | 19 | 20 | This reference describes the classes of the nemo-python module. 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /nemo-python/examples/README: -------------------------------------------------------------------------------- 1 | To try any of the examples, copy them over to: 2 | 3 | $XDG_DATA_DIR/share/nemo-python/extensions/ 4 | or: 5 | ~/.local/share/nemo-python/extensions/ 6 | 7 | FYI, it is still possible to load plugins from the old locations. 8 | 9 | Then restart nemo. 10 | 11 | Hint: if you're testing an extension that you're developing, it may 12 | be useful to start a 'private' instance of nemo, like this: 13 | $ mkdir /tmp/testing 14 | $ export TMPDIR=/tmp/testing 15 | $ nemo --no-desktop 16 | -------------------------------------------------------------------------------- /nemo-python/examples/background-image.py: -------------------------------------------------------------------------------- 1 | from gi.repository import Nemo, GObject, Gio 2 | 3 | SUPPORTED_FORMATS = 'image/jpeg', 'image/png' 4 | BACKGROUND_SCHEMA = 'org.gnome.desktop.background' 5 | BACKGROUND_KEY = 'picture-uri' 6 | 7 | class BackgroundImageExtension(GObject.GObject, Nemo.MenuProvider): 8 | def __init__(self): 9 | super(BackgroundImageExtension, self).__init__() 10 | self.bgsettings = Gio.Settings.new(BACKGROUND_SCHEMA) 11 | 12 | def menu_activate_cb(self, menu, file): 13 | if file.is_gone(): 14 | return 15 | 16 | self.bgsettings[BACKGROUND_KEY] = file.get_uri() 17 | 18 | def get_file_items(self, window, files): 19 | if len(files) != 1: 20 | return 21 | 22 | file = files[0] 23 | 24 | # We're only going to put ourselves on images context menus 25 | if not file.get_mime_type() in SUPPORTED_FORMATS: 26 | return 27 | 28 | # Gnome can only handle file: 29 | # In the future we might want to copy the file locally 30 | if file.get_uri_scheme() != 'file': 31 | return 32 | 33 | item = Nemo.MenuItem(name='Nemo::set_background_image', 34 | label='Use as background image', 35 | tip='Set the current image as a background image') 36 | item.connect('activate', self.menu_activate_cb, file) 37 | return item, 38 | -------------------------------------------------------------------------------- /nemo-python/examples/block-size-column.py: -------------------------------------------------------------------------------- 1 | import os 2 | import urllib.parse 3 | 4 | from gi.repository import GObject, Nemo 5 | 6 | class ColumnExtension(GObject.GObject, Nemo.ColumnProvider, Nemo.InfoProvider): 7 | def __init__(self): 8 | pass 9 | 10 | def get_columns(self): 11 | return Nemo.Column(name="NemoPython::block_size_column", 12 | attribute="block_size", 13 | label="Block size", 14 | description="Get the block size"), 15 | 16 | def update_file_info(self, file): 17 | if file.get_uri_scheme() != 'file': 18 | return 19 | 20 | filename = urllib.parse.unquote(file.get_uri()[7:]) 21 | 22 | file.add_string_attribute('block_size', str(os.stat(filename).st_blksize)) 23 | -------------------------------------------------------------------------------- /nemo-python/examples/location-widget-provider.py: -------------------------------------------------------------------------------- 1 | from gi.repository import Nemo, Gtk, GObject 2 | 3 | class LocationProviderExample(GObject.GObject, Nemo.LocationWidgetProvider): 4 | def __init__(self): 5 | pass 6 | 7 | def get_widget(self, uri, window): 8 | entry = Gtk.Entry() 9 | entry.set_text(uri) 10 | entry.show() 11 | return entry 12 | -------------------------------------------------------------------------------- /nemo-python/examples/md5sum-property-page.py: -------------------------------------------------------------------------------- 1 | import hashlib 2 | import urllib.parse 3 | 4 | from gi.repository import Nemo, Gtk, GObject 5 | 6 | class MD5SumPropertyPage(GObject.GObject, Nemo.PropertyPageProvider): 7 | def __init__(self): 8 | pass 9 | 10 | def get_property_pages(self, files): 11 | if len(files) != 1: 12 | return 13 | 14 | file = files[0] 15 | if file.get_uri_scheme() != 'file': 16 | return 17 | 18 | if file.is_directory(): 19 | return 20 | 21 | filename = urllib.parse.unquote(file.get_uri()[7:]) 22 | 23 | self.property_label = Gtk.Label('MD5Sum') 24 | self.property_label.show() 25 | 26 | self.hbox = Gtk.HBox(homogeneous=False, spacing=0) 27 | self.hbox.show() 28 | 29 | label = Gtk.Label('MD5Sum:') 30 | label.show() 31 | self.hbox.pack_start(label, False, False, 0) 32 | 33 | self.value_label = Gtk.Label() 34 | self.hbox.pack_start(self.value_label, False, False, 0) 35 | 36 | md5sum = hashlib.md5() 37 | with open(filename,'rb') as f: 38 | while chunk := f.read(8192): 39 | md5sum.update(chunk) 40 | 41 | self.value_label.set_text(md5sum.hexdigest()) 42 | self.value_label.show() 43 | 44 | return Nemo.PropertyPage(name="NemoPython::md5_sum", 45 | label=self.property_label, 46 | page=self.hbox), 47 | -------------------------------------------------------------------------------- /nemo-python/examples/open-terminal.py: -------------------------------------------------------------------------------- 1 | # This example is contributed by Martin Enlund 2 | import os 3 | import urllib.parse 4 | 5 | import gi 6 | from gi.repository import Nemo, GObject 7 | 8 | class OpenTerminalExtension(Nemo.MenuProvider, GObject.GObject): 9 | def __init__(self): 10 | pass 11 | 12 | def _open_terminal(self, file): 13 | filename = urllib.parse.unquote(file.get_uri()[7:]) 14 | 15 | os.chdir(filename) 16 | os.system('gnome-terminal &') 17 | 18 | def menu_activate_cb(self, menu, file): 19 | self._open_terminal(file) 20 | 21 | def menu_background_activate_cb(self, menu, file): 22 | self._open_terminal(file) 23 | 24 | def get_file_items(self, window, files): 25 | if len(files) != 1: 26 | return 27 | 28 | file = files[0] 29 | if not file.is_directory() or file.get_uri_scheme() != 'file': 30 | return 31 | 32 | item = Nemo.MenuItem(name='NemoPython::openterminal_file_item', 33 | label='Open Terminal' , 34 | tip='Open Terminal In %s' % file.get_name()) 35 | item.connect('activate', self.menu_activate_cb, file) 36 | return item, 37 | 38 | def get_background_items(self, window, file): 39 | item = Nemo.MenuItem(name='NemoPython::openterminal_item', 40 | label='Open Terminal Here', 41 | tip='Open Terminal In This Directory') 42 | item.connect('activate', self.menu_background_activate_cb, file) 43 | return item, 44 | -------------------------------------------------------------------------------- /nemo-python/examples/submenu.py: -------------------------------------------------------------------------------- 1 | from gi.repository import Nemo, GObject 2 | 3 | class ExampleMenuProvider(GObject.GObject, Nemo.MenuProvider): 4 | def __init__(self): 5 | pass 6 | 7 | def get_file_items(self, window, files): 8 | top_menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Foo', 9 | label='Foo', 10 | tip='', 11 | icon='') 12 | 13 | submenu = Nemo.Menu() 14 | top_menuitem.set_submenu(submenu) 15 | 16 | sub_menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Bar', 17 | label='Bar', 18 | tip='', 19 | icon='') 20 | submenu.append_item(sub_menuitem) 21 | 22 | return top_menuitem, 23 | 24 | def get_background_items(self, window, file): 25 | submenu = Nemo.Menu() 26 | submenu.append_item(Nemo.MenuItem(name='ExampleMenuProvider::Bar2', 27 | label='Bar2', 28 | tip='', 29 | icon='')) 30 | 31 | menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Foo2', 32 | label='Foo2', 33 | tip='', 34 | icon='') 35 | menuitem.set_submenu(submenu) 36 | 37 | return menuitem, 38 | -------------------------------------------------------------------------------- /nemo-python/examples/update-file-info-async.py: -------------------------------------------------------------------------------- 1 | from gi.repository import Nemo, GObject 2 | 3 | class UpdateFileInfoAsync(GObject.GObject, Nemo.InfoProvider): 4 | def __init__(self): 5 | super(UpdateFileInfoAsync, self).__init__() 6 | pass 7 | 8 | def update_file_info_full(self, provider, handle, closure, file): 9 | print("update_file_info_full") 10 | GObject.timeout_add_seconds(3, self.update_cb, provider, handle, closure) 11 | return Nemo.OperationResult.IN_PROGRESS 12 | 13 | def update_cb(self, provider, handle, closure): 14 | print("update_cb") 15 | Nemo.info_provider_update_complete_invoke(closure, provider, handle, Nemo.OperationResult.FAILED) 16 | -------------------------------------------------------------------------------- /nemo-python/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('gtk_doc', type : 'boolean', value : false, 2 | description: 'Generate API reference (requires GTK-Doc)') 3 | -------------------------------------------------------------------------------- /nemo-python/nemo-python.pc.in: -------------------------------------------------------------------------------- 1 | Name: Nemo-Python 2 | Description: Nemo-Python Components 3 | Version: @version@ 4 | 5 | prefix=@prefix@ 6 | libdir=${prefix}/lib 7 | pythondir=${prefix}/share/nemo-python/extensions 8 | -------------------------------------------------------------------------------- /nemo-python/src/meson.build: -------------------------------------------------------------------------------- 1 | sources = [ 2 | 'nemo-python.c', 3 | 'nemo-python.h', 4 | 'nemo-python-object.c', 5 | 'nemo-python-object.h' 6 | ] 7 | 8 | mod = shared_module('nemo-python', 9 | sources : sources, 10 | include_directories: [top_inc], 11 | dependencies: deps, 12 | install_dir: nemo.get_variable(pkgconfig: 'extensiondir'), 13 | install: true 14 | ) 15 | 16 | -------------------------------------------------------------------------------- /nemo-python/src/nemo-python-object.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * Copyright (C) 2004,2005 Johan Dahlin 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #ifndef NEMO_PYTHON_OBJECT_H 21 | #define NEMO_PYTHON_OBJECT_H 22 | 23 | #include 24 | #include 25 | 26 | G_BEGIN_DECLS 27 | 28 | typedef struct _NemoPythonObject NemoPythonObject; 29 | typedef struct _NemoPythonObjectClass NemoPythonObjectClass; 30 | 31 | struct _NemoPythonObject { 32 | GObject parent_slot; 33 | PyObject *instance; 34 | }; 35 | 36 | struct _NemoPythonObjectClass { 37 | GObjectClass parent_slot; 38 | PyObject *type; 39 | }; 40 | 41 | GType nemo_python_object_get_type (GTypeModule *module, PyObject *type); 42 | 43 | G_END_DECLS 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /nemo-repairer/AUTHORS: -------------------------------------------------------------------------------- 1 | Choe Hwanjin 2 | -------------------------------------------------------------------------------- /nemo-repairer/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-repairer/ChangeLog -------------------------------------------------------------------------------- /nemo-repairer/NEWS: -------------------------------------------------------------------------------- 1 | Filename Repairer 0.1.1 2 | * add recursive rename feature using repair dialog 3 | * add multiple rename feature using repair dialog 4 | * support Mac OS X filename that is in Unicode NFD 5 | * detect misconverted filename 6 | * add Ukrainian translation by Serhij Dubyk / Сергій Дубик 7 | 8 | Filename Repairer 0.0.6 9 | * migrate to GIO 10 | 11 | Filename Repairer 0.0.5 12 | * add French translation by Christophe Benz 13 | 14 | Filename Repairer 0.0.4 15 | * add some old DOS codepages to filename list 16 | * add Spanish translation by Francisco Javier Cuadrado 17 | 18 | Filename Repairer 0.0.3 19 | * small bug fix 20 | * auto detecting nemo extension directory 21 | 22 | Filename Repairer 0.0.2 23 | * update supported locales 24 | * add URL decoding feature 25 | * add Italian translation by Gabriele Monti 26 | 27 | Filename Repairer 0.0.1 28 | * first release 29 | -------------------------------------------------------------------------------- /nemo-repairer/README: -------------------------------------------------------------------------------- 1 | Nemo Extension For Filename Encoding Repair 2 | 3 | About 4 | nemo-filename-repairer is a nemo extension which repairs filename 5 | which uses wrong encoding in nemo. 6 | This extension provides the context menu for any file whose filename uses wrong encoding, so that you cannot read the filename in nemo. 7 | You can find a candidate for filename in context menu or submenu. 8 | This extension also provides a decoded name for URL encoded filename, ex 9 | %EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94. 10 | 11 | Project page: 12 | https://github.com/linuxmint/nemo-extensions/ 13 | 14 | Bug Tracker 15 | https://github.com/linuxmint/nemo-extensions/issues/ 16 | 17 | Install 18 | $ ./configure 19 | $ make 20 | # make install 21 | 22 | Please read INSTALL, for detailed installation instructions. 23 | -------------------------------------------------------------------------------- /nemo-repairer/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-filename-repairer 2 | Section: gnome 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Homepage: https://github.com/linuxmint/nemo-extensions 6 | Build-Depends: cdbs, 7 | debhelper-compat (= 12), 8 | meson, 9 | libnemo-extension-dev (>= 2.2.0), 10 | libglib2.0-dev (>= 2.24.0), 11 | libgtk-3-dev (>= 3.0.0) 12 | Standards-Version: 3.9.6 13 | 14 | Package: nemo-filename-repairer 15 | Architecture: any 16 | Depends: ${shlibs:Depends}, 17 | ${misc:Depends} 18 | Description: Nemo extension for filename encoding repair 19 | This is a Nemo extension which repairs filename which uses wrong 20 | encoding in Nemo. This extension provides the context menu for any 21 | file whose filename uses wrong encoding, so that you cannot read the 22 | filename in Nemo. 23 | . 24 | You can find a candidate for filename in context menu or submenu. 25 | This extension also provides a decoded name for URL encoded filename. 26 | -------------------------------------------------------------------------------- /nemo-repairer/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by Changwoo Ryu on 2 | Sat, 02 Feb 2008 12:11:44 +0900. 3 | 4 | It was downloaded from 5 | 6 | Upstream Author: 7 | 8 | Choe Hwanjin 9 | 10 | Copyright: 11 | 12 | Copyright (C) 2008 Choe Hwanjin 13 | 14 | License: 15 | 16 | This package is free software; you can redistribute it and/or modify 17 | it under the terms of the GNU General Public License as published by 18 | the Free Software Foundation; either version 2 of the License, or 19 | (at your option) any later version. 20 | 21 | This package is distributed in the hope that it will be useful, 22 | but WITHOUT ANY WARRANTY; without even the implied warranty of 23 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 | GNU General Public License for more details. 25 | 26 | You should have received a copy of the GNU General Public License 27 | along with this package; if not, write to the Free Software 28 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 29 | 30 | On Debian systems, the complete text of the GNU General 31 | Public License can be found in `/usr/share/common-licenses/GPL'. 32 | 33 | The Debian packaging is (C) 2008, Changwoo Ryu and 34 | is licensed under the GPL, see above. 35 | -------------------------------------------------------------------------------- /nemo-repairer/debian/nemo-filename-repairer.docs: -------------------------------------------------------------------------------- 1 | NEWS 2 | README 3 | -------------------------------------------------------------------------------- /nemo-repairer/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | -------------------------------------------------------------------------------- /nemo-repairer/meson.build: -------------------------------------------------------------------------------- 1 | project('nemo-filename-repairer', 2 | 'c', 3 | version: '6.4.0', 4 | meson_version: '>=0.56.0' 5 | ) 6 | 7 | project_url = 'https://github.com/linuxmint/nemo-extensions' 8 | 9 | 10 | gnome = import('gnome') 11 | pkgconfig = import('pkgconfig') 12 | 13 | config = configuration_data() 14 | 15 | ################################################################################ 16 | # Find libnemo-extensions 17 | 18 | libnemo = dependency('libnemo-extension', version: '>=2.0.0') 19 | libnemo_extension_dir = libnemo.get_variable(pkgconfig: 'extensiondir') 20 | libnemo_extension_ver = libnemo.version().split('.') 21 | 22 | config.set('NEMO_VERSION_MAJOR', libnemo_extension_ver[0]) 23 | config.set('NEMO_VERSION_MINOR', libnemo_extension_ver[1]) 24 | config.set('NEMO_VERSION_MICRO', libnemo_extension_ver[2]) 25 | 26 | glib = dependency('glib-2.0', version: '>=2.14.0') 27 | 28 | ################################################################################ 29 | # Dependencies 30 | 31 | gtk3 = dependency('gtk+-3.0', version: '>=3.0') 32 | 33 | ################################################################################ 34 | # Generic stuff 35 | 36 | config.set_quoted('GETTEXT_PACKAGE', 'nemo-extensions') 37 | config.set_quoted('GNOMELOCALEDIR', get_option('prefix')/get_option('datadir')/'locale') 38 | config.set_quoted('PKGDATADIR', get_option('prefix')/get_option('datadir')/meson.project_name()) 39 | 40 | add_project_arguments('-DHAVE_CONFIG_H', language: 'c') 41 | configure_file( 42 | output: 'config.h', 43 | configuration: config, 44 | ) 45 | 46 | rootInclude = include_directories('.') 47 | 48 | subdir('src') 49 | -------------------------------------------------------------------------------- /nemo-repairer/src/encoding-dialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Nemo Filename Repairer Extension 3 | * 4 | * Copyright (C) 2011 Choe Hwanjin 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | * Author: Choe Hwajin 21 | */ 22 | 23 | #ifndef nemo_filename_repairer_encoding_dialog_h 24 | #define nemo_filename_repairer_encoding_dialog_h 25 | 26 | #include 27 | 28 | GtkDialog* encoding_dialog_new(GtkWindow* parent); 29 | char* encoding_dialog_run(GtkDialog* dialog); 30 | 31 | #endif /* nemo_filename_repairer_encoding_dialog_h */ 32 | -------------------------------------------------------------------------------- /nemo-repairer/src/filename-repairer.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Nemo Filename Repairer Extension 3 | * 4 | * Copyright (C) 2008 Choe Hwanjin 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | * Author: Choe Hwajin 21 | */ 22 | 23 | #ifdef HAVE_CONFIG_H 24 | #include 25 | #endif 26 | 27 | #include 28 | #include 29 | #include 30 | #include "nemo-filename-repairer.h" 31 | 32 | static GType type_list[1]; 33 | 34 | void 35 | nemo_module_initialize(GTypeModule *module) 36 | { 37 | nemo_filename_repairer_register_type(module); 38 | type_list[0] = NEMO_TYPE_RENAME_AS; 39 | 40 | bindtextdomain(GETTEXT_PACKAGE, GNOMELOCALEDIR); 41 | bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); 42 | 43 | nemo_filename_repairer_on_module_init(); 44 | } 45 | 46 | void 47 | nemo_module_shutdown(void) 48 | { 49 | nemo_filename_repairer_on_module_shutdown(); 50 | } 51 | 52 | void 53 | nemo_module_list_types(const GType **types, 54 | int *num_types) 55 | { 56 | *types = type_list; 57 | *num_types = G_N_ELEMENTS (type_list); 58 | } 59 | -------------------------------------------------------------------------------- /nemo-repairer/src/meson.build: -------------------------------------------------------------------------------- 1 | libnemo_filename_repairer_sources = [ 2 | 'filename-repairer.c', 3 | 'nemo-filename-repairer.c', 4 | ] 5 | 6 | nemo_filename_repairer_sources = [ 7 | 'encoding-dialog.c', 8 | 'repair-dialog.c', 9 | 'repairer.c', 10 | ] 11 | 12 | 13 | libnemo_filename_repairer = library('nemo-filename-repairer', 14 | libnemo_filename_repairer_sources, 15 | include_directories: rootInclude, 16 | dependencies: [ 17 | libnemo, 18 | gtk3, 19 | ], 20 | install: true, 21 | install_dir: libnemo_extension_dir, 22 | ) 23 | 24 | nemo_filename_repairer = executable('nemo-filename-repairer', 25 | nemo_filename_repairer_sources, 26 | include_directories: rootInclude, 27 | dependencies: [ 28 | gtk3, 29 | ], 30 | install: true, 31 | ) 32 | 33 | install_data( 34 | 'encoding-dialog.ui', 35 | 'repair-dialog.ui', 36 | install_dir: join_paths(get_option('datadir'), meson.project_name()) 37 | ) 38 | -------------------------------------------------------------------------------- /nemo-repairer/src/nemo-filename-repairer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Nemo Filename Repairer Extension 3 | * 4 | * Copyright (C) 2008 Choe Hwanjin 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | * Author: Choe Hwajin 21 | */ 22 | 23 | #ifndef nemo_filename_repairer_h 24 | #define nemo_filename_repairer_h 25 | 26 | #include 27 | 28 | #define NEMO_TYPE_RENAME_AS (nemo_filename_repairer_get_type()) 29 | #define NEMO_RENAME_AS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NEMO_TYPE_RENAME_AS, NemoFilenameRepairer)) 30 | #define NEMO_IS_RENAME_AS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NEMO_TYPE_RENAME_AS)) 31 | 32 | typedef struct _NemoFilenameRepairer NemoFilenameRepairer; 33 | typedef struct _NemoFilenameRepairerClass NemoFilenameRepairerClass; 34 | 35 | struct _NemoFilenameRepairer { 36 | GObject parent; 37 | }; 38 | 39 | struct _NemoFilenameRepairerClass { 40 | GObjectClass parent; 41 | }; 42 | 43 | G_BEGIN_DECLS 44 | 45 | GType nemo_filename_repairer_get_type (void); 46 | void nemo_filename_repairer_register_type(GTypeModule *module); 47 | 48 | void nemo_filename_repairer_on_module_init(void); 49 | void nemo_filename_repairer_on_module_shutdown(void); 50 | 51 | G_END_DECLS 52 | 53 | #endif // nemo_filename_repairer_h 54 | -------------------------------------------------------------------------------- /nemo-repairer/src/repair-dialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Nemo Filename Repairer Extension 3 | * 4 | * Copyright (C) 2011 Choe Hwanjin 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | * Author: Choe Hwajin 21 | */ 22 | 23 | #ifndef nemo_filename_repairer_repair_dialog_h 24 | #define nemo_filename_repairer_repair_dialog_h 25 | 26 | #include 27 | 28 | GtkDialog* repair_dialog_new(GSList* files); 29 | void repair_dialog_do_repair(GtkDialog* dialog); 30 | 31 | #endif // nemo_filename_repairer_repair_dialog_h 32 | -------------------------------------------------------------------------------- /nemo-repairer/src/repairer.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Nemo Filename Repairer Extension 3 | * 4 | * Copyright (C) 2011 Choe Hwanjin 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | * 20 | * Author: Choe Hwajin 21 | */ 22 | 23 | #ifdef HAVE_CONFIG_H 24 | #include 25 | #endif 26 | 27 | #include 28 | 29 | #include 30 | #include "repair-dialog.h" 31 | 32 | int main(int argc, char** argv) 33 | { 34 | int i; 35 | GtkDialog* dialog; 36 | GSList* files; 37 | gint res; 38 | 39 | #ifdef ENABLE_NLS 40 | bindtextdomain(GETTEXT_PACKAGE, GNOMELOCALEDIR); 41 | bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); 42 | textdomain(GETTEXT_PACKAGE); 43 | #endif 44 | 45 | gtk_init(&argc, &argv); 46 | 47 | files = NULL; 48 | if (argc == 1) { 49 | dialog = GTK_DIALOG(gtk_file_chooser_dialog_new( 50 | _("Nemo Filename Repairer: Select Files To Rename"), 51 | NULL, 52 | GTK_FILE_CHOOSER_ACTION_OPEN, 53 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, 54 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, 55 | NULL)); 56 | gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE); 57 | res = gtk_dialog_run(dialog); 58 | if (res == GTK_RESPONSE_ACCEPT) { 59 | files = gtk_file_chooser_get_files(GTK_FILE_CHOOSER(dialog)); 60 | } 61 | gtk_widget_destroy(GTK_WIDGET(dialog)); 62 | } else { 63 | for (i = 1; i < argc; i++) { 64 | GFile* file = g_file_new_for_path(argv[i]); 65 | files = g_slist_prepend(files, file); 66 | } 67 | files = g_slist_reverse(files); 68 | } 69 | 70 | if (files == NULL) 71 | return 0; 72 | 73 | dialog = repair_dialog_new(files); 74 | res = gtk_dialog_run(dialog); 75 | gtk_widget_hide(GTK_WIDGET(dialog)); 76 | 77 | if (res == GTK_RESPONSE_APPLY) { 78 | repair_dialog_do_repair(dialog); 79 | } 80 | 81 | gtk_widget_destroy(GTK_WIDGET(dialog)); 82 | 83 | g_slist_foreach(files, (GFunc)g_object_unref, NULL); 84 | g_slist_free(files); 85 | 86 | return 0; 87 | } 88 | -------------------------------------------------------------------------------- /nemo-seahorse/AUTHORS: -------------------------------------------------------------------------------- 1 | AUTHORS: 2 | Jacob Perkins 3 | Jose Carlos Garcia Sogo 4 | Jean Schurger 5 | Stef Walter 6 | Adam Schreiber 7 | 8 | CONTRIBUTIONS: 9 | Albrecht Dreß 10 | Jim Pharis 11 | Fernando Hererra 12 | Michael Mende 13 | Sam Morris 14 | Milo Casagrande 15 | -------------------------------------------------------------------------------- /nemo-seahorse/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Stef Walter 2 | E-mail: stefw@gnome.org 3 | Userid: stefw 4 | -------------------------------------------------------------------------------- /nemo-seahorse/NEWS: -------------------------------------------------------------------------------- 1 | nemo-seahorse 3.3.1 2 | 3 | * Initial unstable release split out from seahorse-plugins 4 | * Cleanup and refactor code 5 | 6 | Versions prior to 3.0.0 were released as part of seahorse-plugins 7 | -------------------------------------------------------------------------------- /nemo-seahorse/README: -------------------------------------------------------------------------------- 1 | nemo-seahorse is an extension for Nemo which allows encryption 2 | and decryption of OpenPGP files using GnuPG. 3 | 4 | nemo-seahorse is a fork of seahorse-nautilus 3.3.1. 5 | 6 | -------------------------------------------------------------------------------- /nemo-seahorse/THANKS: -------------------------------------------------------------------------------- 1 | Contributors: 2 | 3 | Jose Carlos Garcia Sogo for bug fixes, spanish, translation, 4 | overall assistance, and letting me manage seahorse(2) 5 | 6 | Jean Schurger for rpms and the new icon 7 | 8 | Erich Schubert for testing, bug fixes, 9 | and initial german translation 10 | 11 | Yanko Kaneti for bug fixes and a spec file 12 | 13 | Adam Schreiber for contributions and patches 14 | 15 | Albrecht Dreß the initial GPGME upgrade patch 16 | 17 | Fernando Herrera for the Nemo 2.10 support 18 | 19 | Gnome translation & doc teams, especially Jordi Mallach 20 | for package help 21 | 22 | seahorse(1) authors: 23 | 24 | Jose Carlos Garcia Sogo, Anthony Mulcahy, Steffen Zahn, Stef Walter 25 | 26 | GnuPG, GPGME, and GPA teams, specifically Miguel Coca, Marcus Brinkmann, 27 | and Werner Koch, for their assistance and hard work. 28 | -------------------------------------------------------------------------------- /nemo-seahorse/data/meson.build: -------------------------------------------------------------------------------- 1 | dataconf = configuration_data() 2 | dataconf.set('VERSION', meson.project_version()) 3 | 4 | install_data( 5 | 'org.nemo.plugins.seahorse.gschema.xml', 6 | 'org.nemo.plugins.seahorse.window.gschema.xml', 7 | install_dir: get_option('datadir') / 'glib-2.0' / 'schemas', 8 | ) 9 | 10 | install_man('nemo-seahorse-tool.1') 11 | -------------------------------------------------------------------------------- /nemo-seahorse/data/org.nemo.plugins.seahorse.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | '.zip' 5 | File extension for packages 6 | File extension for packages when handling multiple files. 7 | 8 | 9 | false 10 | Handle multiple files separately 11 | When handling multiple files, don't package them but process separately. 12 | 13 | 14 | false 15 | Use armor mode when encrypting 16 | Use PGP ASCII armor mode when encrypting or signing files. 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /nemo-seahorse/data/org.nemo.plugins.seahorse.window.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -1 5 | Width of the window 6 | Width (in pixels) of the window. 7 | 8 | 9 | -1 10 | Height of the window 11 | Height (in pixels) of the window. 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /nemo-seahorse/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-seahorse 2 | Section: gnome 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper-compat (= 12), 6 | meson, 7 | libgpgme11-dev (>= 1.2.0), 8 | libnotify-dev (>= 0.7.0), 9 | libdbus-glib-1-dev (>= 0.78), 10 | libcryptui-dev, 11 | libglib2.0-dev (>= 2.37.3), 12 | libgtk-3-dev (>= 3.0.0), 13 | libnemo-extension-dev, 14 | libgcr-3-dev (>= 3.4.0) 15 | Standards-Version: 3.9.6 16 | 17 | Package: nemo-seahorse 18 | Architecture: any 19 | Depends: ${shlibs:Depends}, 20 | ${misc:Depends}, 21 | seahorse-daemon (>= 3.2.2) 22 | Recommends: seahorse 23 | Replaces: seahorse-plugins 24 | Description: seahorse plugins and utilities for encryption 25 | Nemo-Seahorse is an extension for Nemo which allows encryption 26 | and decryption of OpenPGP files using GnuPG - the GNU Privacy 27 | Guard program. 28 | -------------------------------------------------------------------------------- /nemo-seahorse/debian/nemo-seahorse.lintian-overrides: -------------------------------------------------------------------------------- 1 | nemo-seahorse: pkg-has-shlibs-control-file-but-no-actual-shared-libs 2 | nemo-seahorse: postinst-has-useless-call-to-ldconfig 3 | nemo-seahorse: postrm-has-useless-call-to-ldconfig 4 | 5 | -------------------------------------------------------------------------------- /nemo-seahorse/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | -------------------------------------------------------------------------------- /nemo-seahorse/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('gpg-check', type: 'boolean', value: true) 2 | option('libnotify', type: 'feature', value: 'enabled') 3 | option('sharing', type: 'feature', value: 'disabled') 4 | -------------------------------------------------------------------------------- /nemo-seahorse/nemo-ext/meson.build: -------------------------------------------------------------------------------- 1 | libnemo_seahorse_sources = [ 2 | 'nemo-seahorse-module.c', 3 | 'nemo-seahorse.c', 4 | ] 5 | 6 | libnemo_seahorse = library('nemo-seahorse', 7 | libnemo_seahorse_sources, 8 | include_directories: rootInclude, 9 | dependencies: [ 10 | libnemo, 11 | ], 12 | install: true, 13 | install_dir: libnemo_extension_dir, 14 | ) 15 | -------------------------------------------------------------------------------- /nemo-seahorse/nemo-ext/nemo-seahorse-module.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2005 Tecsidel S.A. 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 19 | * 20 | * Author: Fernando Herrera 21 | * 22 | */ 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include "nemo-seahorse.h" 29 | 30 | /* ----------------------------------------------------------------------------- 31 | * Nemo Callbacks 32 | */ 33 | 34 | void 35 | nemo_module_initialize (GTypeModule *module) 36 | { 37 | seahorse_nemo_register_type (module); 38 | g_debug ("seahorse nemo module initialized\n"); 39 | bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); 40 | bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); 41 | } 42 | 43 | void 44 | nemo_module_shutdown (void) 45 | { 46 | g_debug ("seahorse nemo module shutdown\n"); 47 | } 48 | 49 | void 50 | nemo_module_list_types (const GType **types, int *num_types) 51 | { 52 | static GType type_list[1]; 53 | 54 | type_list[0] = SEAHORSE_TYPE_NEMO; 55 | *types = type_list; 56 | 57 | *num_types = 1; 58 | } 59 | -------------------------------------------------------------------------------- /nemo-seahorse/nemo-ext/nemo-seahorse.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2005 Tecsidel S.A. 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 19 | * 20 | * Author: Fernando Herrera 21 | * Stef Walter 22 | * 23 | */ 24 | 25 | #ifndef SEAHORSE_NEMO_H 26 | #define SEAHORSE_NEMO_H 27 | 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | #define SEAHORSE_TYPE_NEMO (seahorse_nemo_get_type ()) 33 | #define SEAHORSE_NEMO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SEAHORSE_TYPE_NEMO, NemoFr)) 34 | #define SEAHORSE_IS_NEMO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SEAHORSE_TYPE_NEMO)) 35 | 36 | typedef struct _SeahorseNemo SeahorseNemo; 37 | typedef struct _SeahorseNemoClass SeahorseNemoClass; 38 | 39 | struct _SeahorseNemo { 40 | GObject __parent; 41 | }; 42 | 43 | struct _SeahorseNemoClass { 44 | GObjectClass __parent; 45 | }; 46 | 47 | GType seahorse_nemo_get_type (void); 48 | void seahorse_nemo_register_type (GTypeModule *module); 49 | 50 | G_END_DECLS 51 | 52 | #endif /* NEMO_FILEROLLER_H */ 53 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/meson.build: -------------------------------------------------------------------------------- 1 | nemo_seahorse_sources = [ 2 | 'seahorse-notification.c', 3 | 'seahorse-operation.c', 4 | 'seahorse-passphrase.c', 5 | 'seahorse-pgp-operation.c', 6 | 'seahorse-progress.c', 7 | 'seahorse-tool.c', 8 | 'seahorse-tool-files.c', 9 | 'seahorse-tool-progress.c', 10 | 'seahorse-util.c', 11 | 'seahorse-vfs-data.c', 12 | 'seahorse-widget.c', 13 | ] 14 | 15 | nemo_seahorse_sources += gnome.genmarshal('seahorse-marshal', 16 | prefix: 'seahorse_marshal', 17 | sources: 'seahorse-marshal.list', 18 | ) 19 | 20 | nemo_seahorse = executable('nemo-seahorse-tool', 21 | nemo_seahorse_sources, 22 | include_directories: rootInclude, 23 | dependencies: [ 24 | gtk3, 25 | gcr, 26 | cryptui, 27 | libgpgme, 28 | libnotify, 29 | avahi, 30 | ], 31 | install: true, 32 | install_dir: join_paths(get_option('prefix'), get_option('bindir')), 33 | ) 34 | 35 | install_data( 36 | 'seahorse-notify.xml', 37 | 'seahorse-progress.xml', 38 | 'seahorse-multi-encrypt.xml', 39 | install_dir: join_paths(get_option('datadir'), 'nemo-seahorse', 'ui'), 40 | ) 41 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-libdialogs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2003 Jacob Perkins 5 | * Copyright (C) 2004-2005 Stefan Walter 6 | * 7 | * This program is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 | * See the GNU General Public License for more details. 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, see . 18 | */ 19 | 20 | /** 21 | * Various UI elements and dialogs used in libseahorse. 22 | */ 23 | 24 | #ifndef __SEAHORSE_LIBDIALOGS_H__ 25 | #define __SEAHORSE_LIBDIALOGS_H__ 26 | 27 | #include 28 | #include 29 | 30 | #include "seahorse-widget.h" 31 | 32 | void seahorse_notify_signatures (const gchar* data, 33 | gpgme_verify_result_t status); 34 | 35 | void seahorse_notify_import (guint keynum, gchar **keys); 36 | 37 | void seahorse_notification_display (const gchar *summary, 38 | const gchar* body, 39 | gboolean urgent, 40 | const gchar *icon, 41 | GtkWidget *attachto); 42 | 43 | gboolean seahorse_notification_have (void); 44 | 45 | void seahorse_notification_cleanup (void); 46 | 47 | #endif /* __SEAHORSE_LIBDIALOGS_H__ */ 48 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-marshal.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __seahorse_marshal_MARSHAL_H__ 3 | #define __seahorse_marshal_MARSHAL_H__ 4 | 5 | #include 6 | 7 | G_BEGIN_DECLS 8 | 9 | /* VOID:STRING,DOUBLE (seahorse-marshal.list:1) */ 10 | extern void seahorse_marshal_VOID__STRING_DOUBLE (GClosure *closure, 11 | GValue *return_value, 12 | guint n_param_values, 13 | const GValue *param_values, 14 | gpointer invocation_hint, 15 | gpointer marshal_data); 16 | 17 | G_END_DECLS 18 | 19 | #endif /* __seahorse_marshal_MARSHAL_H__ */ 20 | 21 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-marshal.list: -------------------------------------------------------------------------------- 1 | VOID:STRING,DOUBLE 2 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-passphrase.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2006 Stefan Walter 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the GNU General Public License for more details. 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, see . 17 | */ 18 | 19 | #ifndef __SEAHORSE_PASSPHRASE__ 20 | #define __SEAHORSE_PASSPHRASE__ 21 | 22 | #include 23 | #include 24 | 25 | #define SEAHORSE_PASS_BAD 0x00000001 26 | #define SEAHORSE_PASS_NEW 0x01000000 27 | 28 | GtkDialog* seahorse_passphrase_prompt_show (const gchar *title, 29 | const gchar *description, 30 | const gchar *prompt, 31 | const gchar *check, 32 | gboolean confirm); 33 | 34 | gpgme_error_t seahorse_passphrase_get (gconstpointer dummy, 35 | const gchar *passphrase_hint, 36 | const char* passphrase_info, 37 | int prev_bad, int fd); 38 | 39 | #endif /* __SEAHORSE_PASSPHRASE__ */ 40 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-progress.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2004 Stefan Walter 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the GNU General Public License for more details. 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, see . 17 | */ 18 | 19 | /** 20 | * Functions for tying SeahorseOperation objects to the UI. 21 | */ 22 | 23 | #ifndef __SEAHORSE_PROGRESS_H__ 24 | #define __SEAHORSE_PROGRESS_H__ 25 | 26 | #include "seahorse-operation.h" 27 | #include "seahorse-widget.h" 28 | 29 | /* ----------------------------------------------------------------------------- 30 | * SEAHORSE APPBAR HOOKS 31 | */ 32 | 33 | /* Keeps operation refed until progress dialog goes away */ 34 | void seahorse_progress_show (SeahorseOperation *operation, 35 | const gchar *title, 36 | gboolean delayed); 37 | 38 | #endif /* __SEAHORSE_PROGRESS_H__ */ 39 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-tool.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2006 Stefan Walter 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the GNU General Public License for more details. 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, see . 17 | */ 18 | 19 | #ifndef __SEAHORSE_TOOL_H__ 20 | #define __SEAHORSE_TOOL_H__ 21 | 22 | #include "seahorse-pgp-operation.h" 23 | 24 | extern gboolean mode_import; 25 | extern gboolean mode_encrypt; 26 | extern gboolean mode_sign; 27 | extern gboolean mode_encrypt_sign; 28 | extern gboolean mode_decrypt; 29 | extern gboolean mode_verify; 30 | 31 | extern GSettings *seahorse_tool_settings; 32 | 33 | struct _SeahorseToolMode; 34 | typedef gboolean (*SeahorseToolCallback) (struct _SeahorseToolMode *mode, const gchar *uri, 35 | gpgme_data_t uridata, SeahorsePGPOperation *pop, 36 | GError **err); 37 | 38 | typedef struct _SeahorseToolMode { 39 | 40 | const gchar *title; 41 | const gchar *errmsg; 42 | gboolean package; 43 | 44 | /* Used for encryption /signing */ 45 | gboolean symmetric; 46 | gpgme_key_t *recipients; 47 | gpgme_key_t signer; 48 | 49 | /* Used for import */ 50 | guint imports; 51 | 52 | /* Callbacks for various functions */ 53 | SeahorseToolCallback startcb; 54 | SeahorseToolCallback donecb; 55 | gpointer userdata; 56 | 57 | } SeahorseToolMode; 58 | 59 | int seahorse_tool_files_process (SeahorseToolMode *mode, const gchar **uris); 60 | 61 | /* ----------------------------------------------------------------------------- 62 | * PROGRESS FUNCTIONS 63 | */ 64 | 65 | void seahorse_tool_progress_init (int argc, char* argv[]); 66 | 67 | void seahorse_tool_progress_start (const gchar *title); 68 | 69 | gboolean seahorse_tool_progress_check (void); 70 | 71 | void seahorse_tool_progress_block (gboolean block); 72 | 73 | gboolean seahorse_tool_progress_update (gdouble fract, const gchar *message); 74 | 75 | void seahorse_tool_progress_stop (void); 76 | 77 | #endif /* __SEAHORSE_TOOL_H__ */ 78 | -------------------------------------------------------------------------------- /nemo-seahorse/tool/seahorse-vfs-data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Seahorse 3 | * 4 | * Copyright (C) 2004 Stefan Walter 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the GNU General Public License for more details. 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, see . 17 | */ 18 | 19 | #include 20 | 21 | #include 22 | 23 | /** 24 | * A gpgme_data_t implementation which maps to a gnome-vfs handle. 25 | * Allows for accessing data on remote machines (ie: smb, sftp) 26 | */ 27 | 28 | #ifndef __SEAHORSE_VFS_DATA__ 29 | #define __SEAHORSE_VFS_DATA__ 30 | 31 | /* 32 | * HACKY: GPGME progress sucks, and doesn't update properly. So we 33 | * have a progress callback that can be hooked into the reading or 34 | * writing of a file. 35 | */ 36 | 37 | typedef void (*SeahorseVfsProgressCb) (gpgme_data_t data, goffset pos, 38 | gpointer userdata); 39 | 40 | #define SEAHORSE_VFS_READ 0x00000000 41 | #define SEAHORSE_VFS_WRITE 0x00000001 42 | #define SEAHORSE_VFS_DELAY 0x00000010 43 | 44 | gpgme_data_t seahorse_vfs_data_create (const gchar *uri, guint mode, 45 | GError **err); 46 | 47 | gpgme_data_t seahorse_vfs_data_create_full (GFile *file, guint mode, 48 | SeahorseVfsProgressCb progcb, 49 | gpointer userdata, GError **err); 50 | 51 | #endif /* __SEAHORSE_VFS_DATA__ */ 52 | -------------------------------------------------------------------------------- /nemo-share/AUTHORS: -------------------------------------------------------------------------------- 1 | Maintainer: 2 | Sebastien Estienne 3 | Federico Mena Quintero 4 | 5 | Contributors 6 | * Ed Catmur : dbus 0.3x API 7 | * VoJcEK : polish translation 8 | * Michael Kanis : german translation 9 | * WareKala : finnish translation 10 | * Mirko Maischberger : italian translation 11 | * Aaron Kurtz : Fedora Core 4 package 12 | * Lucius Curado : brazilian translation 13 | -------------------------------------------------------------------------------- /nemo-share/NEWS: -------------------------------------------------------------------------------- 1 | NEWS file 2 | -------------------------------------------------------------------------------- /nemo-share/README: -------------------------------------------------------------------------------- 1 | Install instructions are in INSTALL file. 2 | -------------------------------------------------------------------------------- /nemo-share/TODO: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /nemo-share/debian/README.Debian: -------------------------------------------------------------------------------- 1 | nemo-share for Debian 2 | ------------------------- 3 | 4 | A quick and easy way to have it running (must be done as root): 5 | 6 | #export USERSHARES_DIR="/var/lib/samba/usershares" 7 | #export USERSHARES_GROUP="sambashare" 8 | #mkdir ${USERSHARES_DIR} 9 | #groupadd ${USERSHARES_GROUP} 10 | #chown root:${USERSHARES_GROUP} ${USERSHARES_DIR} 11 | #chmod 01770 ${USERSHARES_DIR} 12 | #mv /etc/samba/smb.conf{,.bak} 13 | #cp /usr/share/doc/nemo-share/examples/smb.conf /etc/samba/ 14 | #/etc/init.d/samba restart 15 | 16 | You must add users who can share folder in the usershare group, in this example the group is "sambashare": 17 | 18 | #usermod -a -G sambashare your_username 19 | 20 | -- Chow Loong Jin 26 | 27 | where is a descriptive name for the patch, used as the filename in 28 | debian/patches. Then, for every file that will be modified by this patch, 29 | run: 30 | 31 | quilt add 32 | 33 | before editing those files. You must tell quilt with quilt add what files 34 | will be part of the patch before making changes or quilt will not work 35 | properly. After editing the files, run: 36 | 37 | quilt refresh 38 | 39 | to save the results as a patch. 40 | 41 | Alternately, if you already have an external patch and you just want to 42 | add it to the build system, run quilt push -a and then: 43 | 44 | quilt import -P /path/to/patch 45 | quilt push -a 46 | 47 | (add -p 0 to quilt import if needed). as above is the filename to 48 | use in debian/patches. The last quilt push -a will apply the patch to 49 | make sure it works properly. 50 | 51 | To remove an existing patch from the list of patches that will be applied, 52 | run: 53 | 54 | quilt delete 55 | 56 | You may need to run quilt pop -a to unapply patches first before running 57 | this command. 58 | -------------------------------------------------------------------------------- /nemo-share/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-share 2 | Section: gnome 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: 6 | debhelper-compat (= 12), 7 | libcinnamon-desktop-dev (>= 3.0.0), 8 | libglib2.0-dev (>= 2.35.9), 9 | libnemo-extension-dev, 10 | meson, 11 | Standards-Version: 3.9.6 12 | 13 | Package: nemo-share 14 | Architecture: any 15 | Depends: 16 | ${misc:Depends}, 17 | ${shlibs:Depends}, 18 | aptkit, 19 | gir1.2-cinnamondesktop-3.0, 20 | nemo, 21 | pkexec, 22 | samba-common (>= 3.0.27a), 23 | samba-common-bin | samba-common (<< 2:3.4.0~pre2-1~0), 24 | Enhances: nemo 25 | Suggests: samba (>= 3.0.27a) 26 | Description: Nemo extension to share folder using Samba 27 | Nemo Share allows you to quickly share a folder from 28 | the Nemo file manager without requiring root access. 29 | -------------------------------------------------------------------------------- /nemo-share/debian/copyright: -------------------------------------------------------------------------------- 1 | Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat 2 | Upstream-Name: nemo-share 3 | Upstream-Maintainer: Sebastien Estienne , 4 | Federico Mena Quintero 5 | Upstream-Source: http://gentoo.ovibes.net/nemo-share/ 6 | 7 | Files: * 8 | Copyright: Copyright 2005 Ethium, Inc. 9 | License: GPL-2+ 10 | This package is free software; you can redistribute it and/or modify 11 | it under the terms of the GNU General Public License as published by 12 | the Free Software Foundation; either version 2 of the License, or 13 | (at your option) any later version. 14 | . 15 | This package is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | GNU General Public License for more details. 19 | . 20 | You should have received a copy of the GNU General Public License 21 | along with this package; if not, write to the Free Software 22 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 | . 24 | On Debian systems, a full copy of this license can be found in 25 | /usr/share/common-licenses/GPL-2 26 | 27 | Files: debian/* 28 | Copyright: Copyright 2007-2008, Thierry Randrianiriana 29 | Copyright: Copyright 2009, Chow Loong Jin 30 | License: GPL-2+ 31 | 32 | -------------------------------------------------------------------------------- /nemo-share/debian/examples: -------------------------------------------------------------------------------- 1 | debian/smb.conf 2 | -------------------------------------------------------------------------------- /nemo-share/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 4 | 5 | %: 6 | dh $@ --buildsystem=meson 7 | -------------------------------------------------------------------------------- /nemo-share/debian/smb.conf: -------------------------------------------------------------------------------- 1 | [global] 2 | workgroup = HOME 3 | security = share 4 | 5 | usershare path = /var/lib/samba/usershares 6 | usershare max shares = 100 7 | usershare allow guests = yes 8 | usershare owner only = yes 9 | wins support = no 10 | -------------------------------------------------------------------------------- /nemo-share/interfaces/meson.build: -------------------------------------------------------------------------------- 1 | install_data('share-dialog.ui', 2 | install_dir: interfaces_dir, 3 | ) 4 | -------------------------------------------------------------------------------- /nemo-share/meson.build: -------------------------------------------------------------------------------- 1 | project('nemo-share', 2 | 'c', 3 | version: '6.4.0', 4 | meson_version: '>=0.56.0' 5 | ) 6 | 7 | project_url = 'https://github.com/linuxmint/nemo-extensions' 8 | 9 | 10 | gnome = import('gnome') 11 | pkgconfig = import('pkgconfig') 12 | 13 | config = configuration_data() 14 | 15 | ################################################################################ 16 | # Find libnemo-extensions 17 | 18 | libnemo = dependency('libnemo-extension', version: '>=2.0.0') 19 | libnemo_extension_dir = libnemo.get_variable(pkgconfig: 'extensiondir') 20 | libnemo_extension_ver = libnemo.version().split('.') 21 | 22 | config.set('NEMO_VERSION_MAJOR', libnemo_extension_ver[0]) 23 | config.set('NEMO_VERSION_MINOR', libnemo_extension_ver[1]) 24 | config.set('NEMO_VERSION_MICRO', libnemo_extension_ver[2]) 25 | 26 | glib = dependency('glib-2.0', version: '>=2.14.0') 27 | 28 | ################################################################################ 29 | # Extension dependencies 30 | 31 | libcinnamon = dependency('cinnamon-desktop', version: '>=3.0.0') 32 | 33 | interfaces_dir = get_option('datadir') / meson.project_name() / 'interfaces' 34 | config.set_quoted('INTERFACES_DIR', get_option('prefix') / interfaces_dir) 35 | 36 | ################################################################################ 37 | # Specific stuff to the extension 38 | 39 | gettext_package = 'nemo-extensions' 40 | config.set_quoted('GETTEXT_PACKAGE', gettext_package) 41 | config.set_quoted('NEMO_SHARE_LOCALEDIR', get_option('prefix') / get_option('localedir')) 42 | config.set_quoted('PKGDATADIR', get_option('prefix')/get_option('datadir')/meson.project_name()) 43 | 44 | add_project_arguments('-DG_LOG_DOMAIN="Nemo-Share"', language: 'c') 45 | 46 | add_project_arguments('-DHAVE_CONFIG_H', language: 'c') 47 | configure_file( 48 | output: 'config.h', 49 | configuration: config, 50 | ) 51 | 52 | rootInclude = include_directories('.') 53 | 54 | subdir('interfaces') 55 | subdir('src') 56 | -------------------------------------------------------------------------------- /nemo-share/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('gtk-doc', type: 'boolean', value: false) 2 | -------------------------------------------------------------------------------- /nemo-share/src/check-directory-permissions: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import sys 5 | import stat 6 | 7 | if __name__ == "__main__": 8 | 9 | # Exit if anything is wrong with the arguments 10 | if len(sys.argv) != 2: 11 | print("Wrong number of arguments") 12 | sys.exit(1) 13 | 14 | (progname, path) = sys.argv 15 | 16 | if not os.path.exists(path): 17 | print("%s not found" % path) 18 | sys.exit(1) 19 | 20 | while True: 21 | # check permission 22 | stats = os.stat(path) 23 | valid = bool(stats.st_mode & stat.S_IROTH) and bool(stats.st_mode & stat.S_IXOTH) 24 | if not valid: 25 | print (path) 26 | sys.exit(1) 27 | # go to the parent 28 | parent = os.path.dirname(path) 29 | if parent == None or parent == path: 30 | break 31 | else: 32 | path = parent 33 | 34 | sys.exit(0) 35 | -------------------------------------------------------------------------------- /nemo-share/src/install-samba: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import gi 4 | gi.require_version("CinnamonDesktop", "3.0") 5 | from gi.repository import CinnamonDesktop, GLib 6 | 7 | import sys 8 | import os 9 | import pwd 10 | import subprocess 11 | 12 | import aptkit.simpleclient 13 | 14 | class Main: 15 | def __init__(self, user): 16 | self.user = user 17 | self.apt = aptkit.simpleclient.SimpleAPTClient() 18 | self.apt.set_finished_callback(self.on_install_finished) 19 | self.apt.install_packages(["samba"]) 20 | 21 | def on_install_finished(self, success, data=None): 22 | ret = 0 23 | 24 | if not success: 25 | ret = -1 26 | else: 27 | # Add the user to the sambashare group 28 | try: 29 | cp = subprocess.run(["usermod", "-a", "-G", "sambashare", self.user], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True) 30 | ret = cp.returncode 31 | except subprocess.CalledProcessError as e: 32 | print(str(e)) 33 | ret = e.returncode 34 | 35 | # Set firewall rules to allow Samba through UFW 36 | if os.path.exists("/usr/sbin/ufw"): 37 | subprocess.run(["/usr/sbin/ufw", "allow", "out", "proto", "tcp", "from", "any", "to", "any", "port", "139,445"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 38 | subprocess.run(["/usr/sbin/ufw", "allow", "out", "proto", "udp", "from", "any", "to", "any", "port", "137,138"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 39 | subprocess.run(["/usr/sbin/ufw", "allow", "in", "proto", "tcp", "from", "any", "to", "any", "port", "139,445"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 40 | subprocess.run(["/usr/sbin/ufw", "allow", "in", "proto", "udp", "from", "any", "to", "any", "port", "137,138"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 41 | 42 | ml.quit() 43 | exit(ret) 44 | 45 | if __name__ == "__main__": 46 | ml = GLib.MainLoop.new(None, True) 47 | 48 | # prefer using the uid provided by pkexec to the command line argument. if 49 | # a user authenticated via pkexec then he should only be able to add 50 | # himself to the group. 51 | uid = os.getenv("PKEXEC_UID", None) 52 | 53 | if uid != None: 54 | uid = int(uid) 55 | passwd = pwd.getpwuid(uid) 56 | user = passwd[0] 57 | elif len(sys.argv) == 2: 58 | user = sys.argv[1] 59 | else: 60 | print("No target uid in environment or on command line found.") 61 | exit(-1) 62 | 63 | main = Main(user) 64 | ml.run() 65 | -------------------------------------------------------------------------------- /nemo-share/src/meson.build: -------------------------------------------------------------------------------- 1 | 2 | libnemo_share = shared_library('nemo-share', 3 | 'shares.c', 4 | 'nemo-share.c', 5 | include_directories: rootInclude, 6 | dependencies: [ 7 | glib, 8 | libnemo, 9 | libcinnamon, 10 | ], 11 | 12 | install: true, 13 | install_dir: libnemo_extension_dir, 14 | ) 15 | 16 | 17 | # Install data 18 | install_data( 19 | 'install-samba', 20 | 'check-directory-permissions', 21 | install_dir: get_option('datadir') / meson.project_name(), 22 | install_mode: 'rwxr-xr-x' 23 | ) 24 | 25 | data_conf = configuration_data() 26 | data_conf.set('pkgdatadir', 27 | get_option('prefix') / get_option('datadir') / meson.project_name() 28 | ) 29 | 30 | install_data( 31 | configure_file( 32 | input : 'org.nemo.share.samba_install.policy.in', 33 | output: 'org.nemo.share.samba_install.policy', 34 | configuration: data_conf, 35 | ), 36 | install_dir: get_option('datadir') / 'polkit-1' / 'actions' 37 | ) 38 | -------------------------------------------------------------------------------- /nemo-share/src/nemo-share.h: -------------------------------------------------------------------------------- 1 | /* nemo-share -- Nemo File Sharing Extension 2 | * 3 | * Sebastien Estienne 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA 02110-1335, USA. 18 | * 19 | * (C) Copyright 2005 Ethium, Inc. 20 | */ 21 | 22 | #ifndef NEMO_SHARE_H 23 | #define NEMO_SHARE_H 24 | 25 | #include 26 | 27 | G_BEGIN_DECLS 28 | 29 | /* Declarations for the Share extension object. This object will be 30 | * instantiated by nemo. It implements the GInterfaces 31 | * exported by libnemo. */ 32 | 33 | 34 | typedef struct _NemoShare NemoShare; 35 | typedef struct _NemoShareClass NemoShareClass; 36 | 37 | struct _NemoShare { 38 | GObject parent_slot; 39 | }; 40 | 41 | struct _NemoShareClass { 42 | GObjectClass parent_slot; 43 | 44 | /* No extra class members */ 45 | }; 46 | 47 | 48 | typedef struct _NemoShareData NemoShareData; 49 | 50 | struct _NemoShareData { 51 | gchar *fullpath; 52 | gchar *section; 53 | NemoFileInfo *fileinfo; 54 | }; 55 | 56 | G_END_DECLS 57 | 58 | typedef enum { 59 | NEMO_SHARE_NOT_SHARED, 60 | NEMO_SHARE_SHARED_RO, 61 | NEMO_SHARE_SHARED_RW 62 | } NemoShareStatus; 63 | 64 | #endif 65 | 66 | -------------------------------------------------------------------------------- /nemo-share/src/org.nemo.share.samba_install.policy.in: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Nemo Share 9 | https://github.com/linuxmint/nemo-extensions 10 | 11 | 12 | Install and configure Samba 13 | Authentication is required to install Samba, configure it and add the appropriate firewall rules. 14 | gksu-root-terminal 15 | 16 | no 17 | no 18 | auth_admin_keep 19 | 20 | @pkgdatadir@/install-samba 21 | true 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /nemo-share/src/shares.h: -------------------------------------------------------------------------------- 1 | #ifndef SHARES_H 2 | #define SHARES_H 3 | 4 | #include 5 | 6 | typedef struct { 7 | char *path; 8 | char *share_name; 9 | char *comment; 10 | gboolean is_writable; 11 | gboolean guest_ok; 12 | } ShareInfo; 13 | 14 | #define SHARES_ERROR (shares_error_quark ()) 15 | 16 | typedef enum { 17 | SHARES_ERROR_FAILED, 18 | SHARES_ERROR_NONEXISTENT 19 | } SharesError; 20 | 21 | GQuark shares_error_quark (void); 22 | 23 | void shares_free_share_info (ShareInfo *info); 24 | 25 | gboolean shares_get_path_is_shared (const char *path, gboolean *ret_is_shared, GError **error); 26 | 27 | gboolean shares_get_share_info_for_path (const char *path, ShareInfo **ret_share_info, GError **error); 28 | 29 | gboolean shares_get_share_name_exists (const char *share_name, gboolean *ret_exists, GError **error); 30 | 31 | gboolean shares_get_share_info_for_share_name (const char *share_name, ShareInfo **ret_share_info, GError **error); 32 | 33 | gboolean shares_modify_share (const char *old_path, ShareInfo *info, GError **error); 34 | 35 | gboolean shares_get_share_info_list (GSList **ret_info_list, GError **error); 36 | 37 | void shares_free_share_info_list (GSList *list); 38 | 39 | gboolean shares_supports_guest_ok (gboolean *supports_guest_ok_ret, 40 | GError **error); 41 | 42 | void shares_set_debug (gboolean error_on_refresh, 43 | gboolean error_on_add, 44 | gboolean error_on_modify, 45 | gboolean error_on_remove); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /nemo-terminal/AUTHORS: -------------------------------------------------------------------------------- 1 | Developers: 2 | ----------- 3 | 4 | * Fabien LOISON 5 | * Will Rouesnel (nemo-terminal improvements) 6 | -------------------------------------------------------------------------------- /nemo-terminal/README: -------------------------------------------------------------------------------- 1 | ============================================================================== 2 | = Nemo Terminal - Embedded terminal for the Nemo file browser = 3 | ============================================================================== 4 | 5 | Nemo Terminal is an embedded terminal for Nemo, the Cinnamon file manager. 6 | 7 | Nemo Terminal follows your navigation in a shell accessible by hotkey (F4, by 8 | default) in a resizeable pane in Nemo. It eliminates the grunt work of 9 | navigating multiple folder levels just to run a single shell command and cuts 10 | down on window clutter from multiple terminals and file managers. 11 | 12 | Features include: 13 | * Automatically follows folder navigation. 14 | * Even onto GVFS mounted volumes. 15 | * Copy/Paste and Paste Filename support. 16 | * Drag/Drop acquisition of filenames from Nemo. 17 | 18 | Features in development: 19 | * Two-way folder navigation - Nemo will follow the current directory in the 20 | terminal. 21 | 22 | This package is a fork of the Nautilus Terminal project to support the Nemo 23 | file browser and includes various improvements and bugfixes. 24 | 25 | Credit for the original work goes to the Nautilus Terminal authors 26 | (see AUTHORS for more detail). 27 | 28 | Source code may be obtained for nemo-terminal and nautilus-terminal from their 29 | websites: 30 | 31 | Nemo Terminal Web Site: http://github.com/linuxmint/nemo-extensions/ 32 | 33 | Nautilus Terminal Web Site: http://projects.flogisoft.com/nautilus-terminal/ 34 | 35 | Dependencies: 36 | ------------- 37 | * Python (>= 2.6) 38 | * GObject Introspection 39 | * VTE 40 | * Nemo 41 | * Nemo Python 42 | * PyXDG (optional) 43 | -------------------------------------------------------------------------------- /nemo-terminal/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /nemo-terminal/debian/control: -------------------------------------------------------------------------------- 1 | Source: nemo-terminal 2 | Section: gnome 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper (>= 9), 6 | python3-all, 7 | python3-setuptools, 8 | dh-python 9 | Standards-Version: 3.9.4 10 | Homepage: https://github.com/linuxmint/nemo-extensions 11 | 12 | Package: nemo-terminal 13 | Architecture: all 14 | Depends: ${misc:Depends}, 15 | python3 ( >= 3.4), 16 | python-nemo (>= 3.9.0), 17 | gir1.2-nemo-3.0, 18 | gir1.2-vte-2.91, 19 | gir1.2-gtk-3.0 (>= 3.8.4~), 20 | gir1.2-glib-2.0 (>= 1.38.0~), 21 | gir1.2-xapp-1.0 (>= 1.1.0) 22 | Description: Nemo extension to enable an embedded terminal 23 | Nemo Terminal is an embedded terminal for Nemo, the Cinnamon file manager. 24 | It embeds a terminal pane into Nemo that is accessible by hotkey (default F4) 25 | and automatically follows the currently active directory in Nemo. 26 | 27 | -------------------------------------------------------------------------------- /nemo-terminal/debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: nemo-terminal 3 | Source: https://github.com/linuxmint/nemo-extensions/ 4 | 5 | Files: * 6 | Copyright: Copyright (C) 2011 Fabien LOISON 7 | License: GPL-3+ 8 | This package is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 3 of the License, or 11 | (at your option) any later version. 12 | . 13 | This package is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | . 18 | You should have received a copy of the GNU General Public License 19 | along with this package; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 | . 22 | On Debian systems, the full text of the GNU General Public License 23 | version 3 can be found in the file `/usr/share/common-licenses/GPL-3'. 24 | 25 | -------------------------------------------------------------------------------- /nemo-terminal/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export PYBUILD_NAME=nemo-terminal 4 | 5 | %: 6 | dh $@ --with python3 --buildsystem=pybuild 7 | -------------------------------------------------------------------------------- /nemo-terminal/pixmap/logo_120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo-extensions/7a7c0986d26cf0d18462ecc95154b27b8c955b37/nemo-terminal/pixmap/logo_120x120.png -------------------------------------------------------------------------------- /nemo-terminal/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | # Nemo Terminal 4 | 5 | from setuptools import setup 6 | 7 | # Setup stage 8 | setup( packages=[], 9 | name = "nemo-terminal", 10 | version = "6.4.0", 11 | description = "Embedded VTE terminal for Nemo file manager", 12 | author = "Linux Mint", 13 | author_email = "root@linuxmint.com", 14 | url = "https://github.com/linuxmint/nemo-extensions", 15 | license = "GPL3", 16 | 17 | # See debian/control for install-depends - this is useless here, except as reference. 18 | # install_requires (and only works with python modules. It's equally as bad to have 19 | # some deps here, then draw them into debian/control using {python3:Depends} and add 20 | # them to our non-python depends. 21 | 22 | # install_requires = ['python-nemo (>= 1.0)', 23 | # 'gir1.2-nemo-3.0', 24 | # 'gir1.2-vte-2.91', 25 | # 'gir1.2-gtk-3.0 (>= 3.8.4~)', 26 | # 'gir1.2-glib-2.0 (>= 1.38.0~)', 27 | # 'gir1.2-xapp-1.0 (>= 3.8.0)'], 28 | 29 | data_files = [ 30 | ('/usr/share/nemo-python/extensions', ['src/nemo_terminal.py']), 31 | ('/usr/bin', ['src/nemo-terminal-prefs']), 32 | ('/usr/share/nemo-terminal', ['src/nemo-terminal-prefs.py', 33 | 'pixmap/logo_120x120.png']), 34 | ('/usr/share/glib-2.0/schemas', ['src/org.nemo.extensions.nemo-terminal.gschema.xml']) 35 | ] 36 | ) 37 | -------------------------------------------------------------------------------- /nemo-terminal/src/nemo-terminal-prefs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import subprocess 4 | import sys 5 | 6 | sys.exit(subprocess.call(["/usr/share/nemo-terminal/nemo-terminal-prefs.py"])) 7 | --------------------------------------------------------------------------------