├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yaml │ └── feature_request.md └── workflows │ └── build.yml ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING-DOCS ├── COPYING.EXTENSIONS ├── COPYING.LIB ├── ChangeLog ├── NEWS ├── README.md ├── THANKS ├── action-layout-editor ├── actions-tree.md ├── leconfig.py.in ├── meson.build ├── nemo-action-layout-editor.in └── nemo_action_layout_editor.py ├── config.h.meson.in ├── cut-n-paste-code ├── README └── libegg │ ├── eggtreemultidnd.c │ ├── eggtreemultidnd.h │ ├── meson.build │ └── update-from-egg.sh ├── data ├── dbus-interfaces.xml ├── freedesktop-dbus-interfaces.xml ├── icons │ ├── hicolor │ │ ├── actions │ │ │ ├── 16x16 │ │ │ │ ├── menu-bullet.png │ │ │ │ ├── menu-none.png │ │ │ │ ├── menu-sort-down-free.png │ │ │ │ ├── menu-sort-down.png │ │ │ │ ├── menu-sort-left-free.png │ │ │ │ ├── menu-sort-left.png │ │ │ │ ├── menu-sort-right-free.png │ │ │ │ ├── menu-sort-right.png │ │ │ │ ├── menu-sort-up-free.png │ │ │ │ ├── menu-sort-up.png │ │ │ │ └── nemo-eject.png │ │ │ ├── 32x32 │ │ │ │ └── nemo-eject.png │ │ │ └── scalable │ │ │ │ ├── location-symbolic-rtl.svg │ │ │ │ ├── location-symbolic.svg │ │ │ │ ├── mount-archive-symbolic.svg │ │ │ │ ├── nemo-auto-arrange-symbolic.svg │ │ │ │ ├── nemo-desktop-scale-symbolic.svg │ │ │ │ ├── nemo-horizontal-layout-symbolic.svg │ │ │ │ ├── nemo-horizontal-layout-wide-symbolic.svg │ │ │ │ ├── nemo-recursive-search-symbolic-rtl.svg │ │ │ │ ├── nemo-recursive-search-symbolic.svg │ │ │ │ ├── nemo-vertical-layout-symbolic.svg │ │ │ │ ├── nemo-vertical-layout-wide-symbolic.svg │ │ │ │ ├── sidebar-hide-symbolic-rtl.svg │ │ │ │ ├── sidebar-hide-symbolic.svg │ │ │ │ ├── sidebar-places-symbolic.svg │ │ │ │ ├── sidebar-show-symbolic-rtl.svg │ │ │ │ ├── sidebar-show-symbolic.svg │ │ │ │ ├── sidebar-tree-symbolic-rtl.svg │ │ │ │ ├── sidebar-tree-symbolic.svg │ │ │ │ └── view-compact-symbolic.svg │ │ ├── apps │ │ │ ├── 16x16 │ │ │ │ ├── nemo.png │ │ │ │ └── nemo.svg │ │ │ ├── 22x22 │ │ │ │ ├── nemo.png │ │ │ │ └── nemo.svg │ │ │ ├── 24x24 │ │ │ │ └── nemo.png │ │ │ ├── 32x32 │ │ │ │ ├── nemo.png │ │ │ │ └── nemo.svg │ │ │ └── scalable │ │ │ │ └── nemo.svg │ │ ├── categories │ │ │ └── scalable │ │ │ │ ├── nemo-prefs-behavior-symbolic.svg │ │ │ │ ├── nemo-prefs-display-symbolic.svg │ │ │ │ ├── nemo-prefs-plugins-symbolic.svg │ │ │ │ ├── nemo-prefs-preview-symbolic.svg │ │ │ │ └── nemo-prefs-toolbar-symbolic.svg │ │ ├── devices │ │ │ └── scalable │ │ │ │ └── drive-removable-media-usb-symbolic.svg │ │ ├── emblems │ │ │ ├── 16x16 │ │ │ │ └── emblem-note.png │ │ │ ├── 24x24 │ │ │ │ └── emblem-note.png │ │ │ └── 48x48 │ │ │ │ └── emblem-note.png │ │ └── status │ │ │ └── scalable │ │ │ ├── nemo-bookmark-not-found-symbolic.svg │ │ │ ├── nemo-progress-0-symbolic.svg │ │ │ ├── nemo-progress-10-symbolic.svg │ │ │ ├── nemo-progress-100-symbolic.svg │ │ │ ├── nemo-progress-20-symbolic.svg │ │ │ ├── nemo-progress-30-symbolic.svg │ │ │ ├── nemo-progress-40-symbolic.svg │ │ │ ├── nemo-progress-50-symbolic.svg │ │ │ ├── nemo-progress-60-symbolic.svg │ │ │ ├── nemo-progress-70-symbolic.svg │ │ │ ├── nemo-progress-80-symbolic.svg │ │ │ └── nemo-progress-90-symbolic.svg │ └── meson.build ├── meson.build ├── nemo-actions │ ├── 90_new-launcher.nemo_action.in │ ├── 90_new-workspace.nemo_action.in │ ├── 91_delete-workspace.nemo_action.in │ ├── 92_show-expo.nemo_action.in │ ├── action_i18n_strings.py │ ├── add-desklets.nemo_action.in │ ├── change-background.nemo_action.in │ ├── extract_action_strings │ ├── merge_action_strings │ ├── mount-archive.nemo_action.in │ ├── set-as-background.nemo_action.in │ └── set-resolution.nemo_action.in ├── nemo-autorun-software.desktop.in ├── nemo-autostart.desktop.in ├── nemo.FileManager1.service.in ├── nemo.desktop.in ├── nemo.service.in ├── nemo.xml.in ├── nemo_action.lang ├── nemo_search_helper.lang ├── org.Cinnamon.xml └── org.nemo.root.policy.in ├── debian ├── changelog ├── control ├── copyright ├── gir1.2-nemo-3.0.install ├── libnemo-extension-dev.install ├── libnemo-extension1.install ├── libnemo-extension1.symbols ├── nemo-data.install ├── nemo.install ├── nemo.lintian-overrides ├── not-installed ├── rules └── source │ └── format ├── docs ├── dnd.txt ├── key_mouse_navigation.txt ├── load-states.dia ├── meson.build ├── nemo-connect-server.1 ├── nemo-desktop.1 ├── nemo-io.txt ├── nemo.1 ├── reference │ ├── libnemo-extension │ │ ├── libnemo-extension-docs.xml │ │ ├── libnemo-extension-overrides.txt │ │ ├── libnemo-extension-sections.txt │ │ ├── meson.build │ │ └── version.xml.in │ └── meson.build └── style-guide.html ├── eel ├── README ├── check-eel ├── check-program.c ├── eel-accessibility.c ├── eel-accessibility.h ├── eel-art-extensions.c ├── eel-art-extensions.h ├── eel-canvas.c ├── eel-canvas.h ├── eel-debug.c ├── eel-debug.h ├── eel-editable-label.c ├── eel-editable-label.h ├── eel-gdk-extensions.c ├── eel-gdk-extensions.h ├── eel-glib-extensions.c ├── eel-glib-extensions.h ├── eel-gnome-extensions.c ├── eel-gnome-extensions.h ├── eel-graphic-effects.c ├── eel-graphic-effects.h ├── eel-gtk-extensions.c ├── eel-gtk-extensions.h ├── eel-lib-self-check-functions.c ├── eel-lib-self-check-functions.h ├── eel-self-checks.c ├── eel-self-checks.h ├── eel-stock-dialogs.c ├── eel-stock-dialogs.h ├── eel-string.c ├── eel-string.h ├── eel-vfs-extensions.c ├── eel-vfs-extensions.h ├── eel.h └── meson.build ├── files ├── meson.build └── usr │ └── share │ └── nemo │ ├── action-info.md │ ├── actions │ ├── 90_new-launcher.nemo_action │ ├── 90_new-workspace.nemo_action │ ├── 91_delete-workspace.nemo_action │ ├── 92_show-expo.nemo_action │ ├── add-desklets.nemo_action │ ├── change-background.nemo_action │ ├── mount-archive.nemo_action │ ├── myaction.py │ ├── sample.nemo_action │ ├── set-as-background.nemo_action │ └── set-resolution.nemo_action │ └── script-info.md ├── generate_additional_file ├── gresources ├── knob.png ├── meson.build ├── nemo-action-layout-editor.glade ├── nemo-action-layout-editor.gresource.xml ├── nemo-blank-desktop-window-ui.xml ├── nemo-bookmarks-window.glade ├── nemo-desktop-icon-grid-view-ui.xml ├── nemo-desktop-icon-view-ui.xml ├── nemo-desktop-overlay.glade ├── nemo-desktop-preferences.glade ├── nemo-directory-view-ui.xml ├── nemo-file-management-properties.glade ├── nemo-icon-view-ui.xml ├── nemo-list-view-ui.xml ├── nemo-places-sidebar-ui.xml ├── nemo-search-bar.glade ├── nemo-shell-ui.xml ├── nemo-shortcuts.ui ├── nemo-statusbar-ui.xml ├── nemo-style-application.css ├── nemo-style-fallback-mandatory.css ├── nemo-style-fallback.css ├── nemo-tree-sidebar-ui.xml ├── nemo.gresource.xml └── thumbnail_frame.png ├── install-scripts ├── meson.build ├── meson_install_schemas.py ├── meson_update_icon_cache.py └── meson_update_mime_database.py ├── libnemo-extension ├── meson.build ├── nemo-column-provider.c ├── nemo-column-provider.h ├── nemo-column.c ├── nemo-column.h ├── nemo-desktop-preferences.c ├── nemo-desktop-preferences.h ├── nemo-extension-i18n.h ├── nemo-extension-private.h ├── nemo-extension-types.h ├── nemo-file-info.c ├── nemo-file-info.h ├── nemo-info-provider.c ├── nemo-info-provider.h ├── nemo-location-widget-provider.c ├── nemo-location-widget-provider.h ├── nemo-menu-item.c ├── nemo-menu-item.h ├── nemo-menu-provider.c ├── nemo-menu-provider.h ├── nemo-menu.c ├── nemo-menu.h ├── nemo-name-and-desc-provider.c ├── nemo-name-and-desc-provider.h ├── nemo-property-page-provider.c ├── nemo-property-page-provider.h ├── nemo-property-page.c ├── nemo-property-page.h ├── nemo-simple-button.c └── nemo-simple-button.h ├── libnemo-private ├── README ├── meson.build ├── nemo-action-manager.c ├── nemo-action-manager.h ├── nemo-action-symbols.h ├── nemo-action.c ├── nemo-action.h ├── nemo-bookmark.c ├── nemo-bookmark.h ├── nemo-cell-renderer-disk.c ├── nemo-cell-renderer-disk.h ├── nemo-centered-placement-grid.c ├── nemo-clipboard-monitor.c ├── nemo-clipboard-monitor.h ├── nemo-clipboard.c ├── nemo-clipboard.h ├── nemo-column-chooser.c ├── nemo-column-chooser.h ├── nemo-column-utilities.c ├── nemo-column-utilities.h ├── nemo-dbus-manager.c ├── nemo-dbus-manager.h ├── nemo-debug.c ├── nemo-debug.h ├── nemo-default-file-icon.c ├── nemo-default-file-icon.h ├── nemo-desktop-directory-file.c ├── nemo-desktop-directory-file.h ├── nemo-desktop-directory.c ├── nemo-desktop-directory.h ├── nemo-desktop-icon-file.c ├── nemo-desktop-icon-file.h ├── nemo-desktop-link-monitor.c ├── nemo-desktop-link-monitor.h ├── nemo-desktop-link.c ├── nemo-desktop-link.h ├── nemo-desktop-metadata.c ├── nemo-desktop-metadata.h ├── nemo-desktop-utils.c ├── nemo-desktop-utils.h ├── nemo-directory-async.c ├── nemo-directory-notify.h ├── nemo-directory-private.h ├── nemo-directory.c ├── nemo-directory.h ├── nemo-dnd.c ├── nemo-dnd.h ├── nemo-entry.c ├── nemo-entry.h ├── nemo-file-attributes.h ├── nemo-file-changes-queue.c ├── nemo-file-changes-queue.h ├── nemo-file-conflict-dialog.c ├── nemo-file-conflict-dialog.h ├── nemo-file-dnd.c ├── nemo-file-dnd.h ├── nemo-file-operations.c ├── nemo-file-operations.h ├── nemo-file-private.h ├── nemo-file-queue.c ├── nemo-file-queue.h ├── nemo-file-undo-manager.c ├── nemo-file-undo-manager.h ├── nemo-file-undo-operations.c ├── nemo-file-undo-operations.h ├── nemo-file-utilities.c ├── nemo-file-utilities.h ├── nemo-file.c ├── nemo-file.h ├── nemo-global-preferences.c ├── nemo-global-preferences.h ├── nemo-icon-canvas-item.c ├── nemo-icon-canvas-item.h ├── nemo-icon-container.c ├── nemo-icon-container.h ├── nemo-icon-dnd.c ├── nemo-icon-dnd.h ├── nemo-icon-info.c ├── nemo-icon-info.h ├── nemo-icon-names.h ├── nemo-icon-private.h ├── nemo-icon.h ├── nemo-job-queue.c ├── nemo-job-queue.h ├── nemo-lib-self-check-functions.c ├── nemo-lib-self-check-functions.h ├── nemo-link.c ├── nemo-link.h ├── nemo-merged-directory.c ├── nemo-merged-directory.h ├── nemo-metadata.c ├── nemo-metadata.h ├── nemo-mime-application-chooser.c ├── nemo-mime-application-chooser.h ├── nemo-module.c ├── nemo-module.h ├── nemo-monitor.c ├── nemo-monitor.h ├── nemo-placement-grid.c ├── nemo-places-tree-view.c ├── nemo-places-tree-view.h ├── nemo-program-choosing.c ├── nemo-program-choosing.h ├── nemo-progress-info-manager.c ├── nemo-progress-info-manager.h ├── nemo-progress-info.c ├── nemo-progress-info.h ├── nemo-query.c ├── nemo-query.h ├── nemo-recent.c ├── nemo-recent.h ├── nemo-search-directory-file.c ├── nemo-search-directory-file.h ├── nemo-search-directory.c ├── nemo-search-directory.h ├── nemo-search-engine-advanced.c ├── nemo-search-engine-advanced.h ├── nemo-search-engine-tracker.c ├── nemo-search-engine-tracker.h ├── nemo-search-engine.c ├── nemo-search-engine.h ├── nemo-selection-canvas-item.c ├── nemo-selection-canvas-item.h ├── nemo-separator-action.c ├── nemo-separator-action.h ├── nemo-signaller.c ├── nemo-signaller.h ├── nemo-thumbnails.c ├── nemo-thumbnails.h ├── nemo-trash-monitor.c ├── nemo-trash-monitor.h ├── nemo-tree-view-drag-dest.c ├── nemo-tree-view-drag-dest.h ├── nemo-ui-utilities.c ├── nemo-ui-utilities.h ├── nemo-undo-manager.c ├── nemo-undo-manager.h ├── nemo-undo-private.h ├── nemo-undo-signal-handlers.c ├── nemo-undo-signal-handlers.h ├── nemo-undo-transaction.c ├── nemo-undo-transaction.h ├── nemo-undo.c ├── nemo-undo.h ├── nemo-vfs-directory.c ├── nemo-vfs-directory.h ├── nemo-vfs-file.c ├── nemo-vfs-file.h ├── nemo-widget-action.c ├── nemo-widget-action.h ├── nemo-widget-menu-item.c ├── nemo-widget-menu-item.h └── org.nemo.gschema.xml ├── makepot ├── meson.build ├── meson_options.txt ├── nemo.pot ├── po ├── ChangeLog ├── Makefile.in.in ├── POTFILES.in ├── POTFILES.skip └── README ├── polkit.its ├── polkit.loc ├── search-helpers ├── README.md ├── epub2text.nemo_search_helper ├── meson.build ├── mso-ppt.nemo_search_helper ├── mso-xls.nemo_search_helper ├── mso.nemo_search_helper ├── nemo-epub2text ├── nemo-mso-to-txt.c ├── nemo-odf-to-txt ├── nemo-ppt-to-txt.c ├── nemo-xls-to-txt ├── odf.nemo_search_helper └── third-party │ ├── exif.nemo_search_helper │ ├── id3.nemo_search_helper │ ├── meson.build │ ├── mso-doc.nemo_search_helper │ ├── pdf2txt.nemo_search_helper │ ├── pdftotext.nemo_search_helper │ ├── ps2ascii.nemo_search_helper │ └── untex.nemo_search_helper ├── src ├── check-nemo ├── meson.build ├── nemo-action-config-widget.c ├── nemo-action-config-widget.h ├── nemo-actions.h ├── nemo-application.c ├── nemo-application.h ├── nemo-autorun-software.c ├── nemo-blank-desktop-window.c ├── nemo-blank-desktop-window.h ├── nemo-bookmark-list.c ├── nemo-bookmark-list.h ├── nemo-bookmarks-window.c ├── nemo-bookmarks-window.h ├── nemo-config-base-widget.c ├── nemo-config-base-widget.h ├── nemo-connect-server-dialog-main.c ├── nemo-connect-server-dialog-nonmain.c ├── nemo-connect-server-dialog.c ├── nemo-connect-server-dialog.h ├── nemo-connect-server-operation.c ├── nemo-connect-server-operation.h ├── nemo-desktop-application.c ├── nemo-desktop-application.h ├── nemo-desktop-icon-grid-view.c ├── nemo-desktop-icon-grid-view.h ├── nemo-desktop-icon-view.c ├── nemo-desktop-icon-view.h ├── nemo-desktop-item-properties.c ├── nemo-desktop-item-properties.h ├── nemo-desktop-main.c ├── nemo-desktop-manager.c ├── nemo-desktop-manager.h ├── nemo-desktop-overlay.c ├── nemo-desktop-overlay.h ├── nemo-desktop-window.c ├── nemo-desktop-window.h ├── nemo-empty-view.c ├── nemo-empty-view.h ├── nemo-error-reporting.c ├── nemo-error-reporting.h ├── nemo-extension-config-widget.c ├── nemo-extension-config-widget.h ├── nemo-extensions-list.c ├── nemo-file-management-properties.c ├── nemo-file-management-properties.h ├── nemo-floating-bar.c ├── nemo-floating-bar.h ├── nemo-freedesktop-dbus.c ├── nemo-freedesktop-dbus.h ├── nemo-icon-view-container.c ├── nemo-icon-view-container.h ├── nemo-icon-view-grid-container.c ├── nemo-icon-view-grid-container.h ├── nemo-icon-view.c ├── nemo-icon-view.h ├── nemo-image-properties-page.c ├── nemo-image-properties-page.h ├── nemo-interesting-folder-bar.c ├── nemo-interesting-folder-bar.h ├── nemo-list-model.c ├── nemo-list-model.h ├── nemo-list-view-private.h ├── nemo-list-view.c ├── nemo-list-view.h ├── nemo-location-bar.c ├── nemo-location-bar.h ├── nemo-location-entry.c ├── nemo-location-entry.h ├── nemo-main-application.c ├── nemo-main-application.h ├── nemo-main.c ├── nemo-mime-actions.c ├── nemo-mime-actions.h ├── nemo-navigation-action.c ├── nemo-navigation-action.h ├── nemo-navigation-state.c ├── nemo-navigation-state.h ├── nemo-notebook.c ├── nemo-notebook.h ├── nemo-open-with-main.c ├── nemo-pathbar.c ├── nemo-pathbar.h ├── nemo-places-sidebar.c ├── nemo-places-sidebar.h ├── nemo-plugin-manager.c ├── nemo-plugin-manager.h ├── nemo-previewer.c ├── nemo-previewer.h ├── nemo-progress-info-widget.c ├── nemo-progress-info-widget.h ├── nemo-progress-ui-handler.c ├── nemo-progress-ui-handler.h ├── nemo-properties-window.c ├── nemo-properties-window.h ├── nemo-query-editor.c ├── nemo-query-editor.h ├── nemo-script-config-widget.c ├── nemo-script-config-widget.h ├── nemo-self-check-functions.c ├── nemo-self-check-functions.h ├── nemo-statusbar.c ├── nemo-statusbar.h ├── nemo-thumbnail-problem-bar.c ├── nemo-thumbnail-problem-bar.h ├── nemo-toolbar.c ├── nemo-toolbar.h ├── nemo-trash-bar.c ├── nemo-trash-bar.h ├── nemo-tree-sidebar-model.c ├── nemo-tree-sidebar-model.h ├── nemo-tree-sidebar.c ├── nemo-tree-sidebar.h ├── nemo-view-dnd.c ├── nemo-view-dnd.h ├── nemo-view-factory.c ├── nemo-view-factory.h ├── nemo-view.c ├── nemo-view.h ├── nemo-window-bookmarks.c ├── nemo-window-bookmarks.h ├── nemo-window-manage-views.c ├── nemo-window-manage-views.h ├── nemo-window-menus.c ├── nemo-window-menus.h ├── nemo-window-pane.c ├── nemo-window-pane.h ├── nemo-window-private.h ├── nemo-window-slot-dnd.c ├── nemo-window-slot-dnd.h ├── nemo-window-slot.c ├── nemo-window-slot.h ├── nemo-window-types.h ├── nemo-window.c ├── nemo-window.h ├── nemo-x-content-bar.c └── nemo-x-content-bar.h ├── test ├── meson.build ├── test-copy.c ├── test-eel-editable-label.c ├── test-nemo-directory-async.c ├── test-nemo-search-engine.c ├── test.c └── test.h └── utils └── gvfs-info.nemo_action /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request (OBSOLETE) 3 | about: Feature requests are no longer accepted here, please use https://github.com/orgs/linuxmint/discussions instead. 4 | title: "" 5 | labels: ["FEATURE REQUEST"] 6 | assignees: '' 7 | 8 | --- 9 | 10 | Please use: 11 | 12 | https://github.com/orgs/linuxmint/discussions -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | branches: 9 | - master 10 | workflow_dispatch: 11 | inputs: 12 | debug_enabled: 13 | type: boolean 14 | description: 'Start an SSH server on failure.' 15 | required: false 16 | default: false 17 | 18 | jobs: 19 | build: 20 | uses: linuxmint/github-actions/.github/workflows/do-builds.yml@master 21 | with: 22 | commit_id: master 23 | ############################## Comma separated list - like 'linuxmint/xapp, linuxmint/cinnamon-desktop' 24 | dependencies: linuxmint/xapp, linuxmint/cinnamon-desktop, linuxmint/cinnamon-translations 25 | codespell_ignore_words_list: nd 26 | codespell_ignore_files_list: 27 | ############################## 28 | 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ########################### 2 | # Default .gitignore file for Nemo. 3 | # By default this ignores the lint from the Eclipse IDE. 4 | 5 | ################## 6 | # Eclipse Output # 7 | ################## 8 | *.pydevproject 9 | .project 10 | .metadata 11 | bin/** 12 | tmp/** 13 | tmp/**/* 14 | *.tmp 15 | *.bak 16 | *.swp 17 | *~.nib 18 | local.properties 19 | .classpath 20 | .settings/ 21 | .loadpath 22 | 23 | # External tool builders 24 | .externalToolBuilders/ 25 | 26 | # Locally stored "Eclipse launch configurations" 27 | *.launch 28 | 29 | # CDT-specific 30 | .cproject 31 | 32 | # PDT-specific 33 | .buildpath 34 | 35 | debian/tmp/* 36 | debian/nemo/* 37 | debian/nemo-dbg/* 38 | debian/nemo-data/* 39 | debian/libnemo-extension*/* 40 | debian/gir1.2*/* 41 | debian/*.log 42 | debian/.debhelper 43 | debian/debhelper-build-stamp 44 | debian/files 45 | *.substvars 46 | *.debhelper 47 | 48 | obj-x86_64-linux-gnu 49 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | https://github.com/linuxmint/nemo/graphs/contributors 2 | -------------------------------------------------------------------------------- /COPYING.EXTENSIONS: -------------------------------------------------------------------------------- 1 | Nemo extensions link against the libnemo-extenstions library which is 2 | is under the LGPL license. However, they also get loaded into the main 3 | nemo program which is licensed under the GPL. So, extensions should not 4 | be incompatible with the LGPL or GPL. 5 | 6 | Some extensions are GPL but use some IPC mechanism like dbus to talk to a 7 | potentially non-GPL application. This is actually not such a bad design in 8 | general if your extension is doing a lot of work, as running as a nemo 9 | extension with all its issues (no synchronous i/o, can't control of the 10 | context your code runs in, etc) can be kind of a pain. 11 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | Development: 1/22/2013: 2 | 3 | - Breadcrumbs: Stylable by themes, see src/nemo-styles-fallback.css for default style information. 4 | Border radius, color, background color, and text color can be customized through that. 5 | 6 | - Sidebar Disk Indicators: Stylable by themes, again, see src/nemo-styles-fallback.css for default 7 | style information - you can customize the two colors (fore- and background), the 8 | thickness of the bar, the corner radius, the maximum length of the bar, and an amount 9 | of extra padding from the bottom of the cell. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![build](https://github.com/linuxmint/nemo/actions/workflows/build.yml/badge.svg) 2 | 3 | Nemo 4 | ==== 5 | Nemo is a free and open-source software and official file manager of the Cinnamon desktop environment. 6 | It is a fork of GNOME Files (formerly named Nautilus). 7 | 8 | Nemo also manages the Cinnamon desktop. 9 | Since Cinnamon 6.0 (Mint 21.3), users can enhance their own Nemo with Spices named Actions. 10 | 11 | 12 | History 13 | ==== 14 | Nemo started as a fork of the GNOME file manager Nautilus v3.4. Version 1.0.0 was released in July 2012 along with version 1.6 of Cinnamon, 15 | reaching version 1.1.2 in November 2012. 16 | 17 | Developer Gwendal Le Bihan named the project "nemo" after Jules Verne's famous character Captain Nemo, who is the captain of the Nautilus. 18 | 19 | Features 20 | ==== 21 | Nemo v1.0.0 had the following features as described by the developers: 22 | 1. Ability to SSH into remote servers 23 | 2. Native support for FTP (File Transfer Protocol) and MTP (Media Transfer Protocol) 24 | 3. All the features Nautilus 3.4 had and which are missing in Nautilus 3.6 (all desktop icons, compact view, etc.) 25 | 4. Open in terminal (integral part of Nemo) 26 | 5. Open as root (integral part of Nemo) 27 | 6. Uses GVfs and GIO 28 | 7. File operations progress information (when copying or moving files, one can see the percentage and information about the operation on the window title and so also in the window list) 29 | 8. Proper GTK bookmarks management 30 | 9. Full navigation options (back, forward, up, refresh) 31 | 10. Ability to toggle between the path entry and the path breadcrumb widgets 32 | 11. Many more configuration options 33 | -------------------------------------------------------------------------------- /THANKS: -------------------------------------------------------------------------------- 1 | Nemo started as a fork of Nautilus 3.4 2 | Gitlab For Nautilus: https://gitlab.gnome.org/GNOME/nautilus/tree/gnome-3-4 3 | Github For Nemo: https://github.com/linuxmint/nemo 4 | -------------------------------------------------------------------------------- /action-layout-editor/leconfig.py.in: -------------------------------------------------------------------------------- 1 | # Generated file - DO NOT EDIT. Edit config.py.in instead. 2 | 3 | LOCALE_DIR=@LOCALE_DIR@ 4 | PACKAGE=@PACKAGE@ 5 | VERSION=@VERSION@ 6 | PKG_DATADIR=@PKG_DATADIR@ 7 | -------------------------------------------------------------------------------- /action-layout-editor/meson.build: -------------------------------------------------------------------------------- 1 | conf = configuration_data() 2 | conf.set_quoted('PKG_DATADIR', nemoDataPath) 3 | conf.set_quoted('LOCALE_DIR', join_paths(get_option('prefix'), get_option('localedir'))) 4 | conf.set_quoted('PACKAGE', meson.project_name()) 5 | conf.set_quoted('VERSION', meson.project_version()) 6 | 7 | config_py = configure_file( 8 | input: 'leconfig.py.in', 9 | output: 'leconfig.py', 10 | configuration: conf, 11 | install: true, 12 | install_dir: nemoDataPath / 'layout-editor', 13 | ) 14 | 15 | bin_conf = configuration_data() 16 | bin_conf.set('PKG_DATADIR', nemoDataPath) 17 | 18 | bin = configure_file( 19 | input: 'nemo-action-layout-editor.in', 20 | output: 'nemo-action-layout-editor', 21 | configuration: bin_conf, 22 | install: true, 23 | install_dir: get_option('bindir'), 24 | install_mode: 'rwxr-xr-x' 25 | ) 26 | 27 | install_data( 28 | 'nemo_action_layout_editor.py', 29 | install_dir: nemoDataPath / 'layout-editor', 30 | install_mode: 'rwxr-xr-x' 31 | ) 32 | -------------------------------------------------------------------------------- /action-layout-editor/nemo-action-layout-editor.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec @PKG_DATADIR@/layout-editor/nemo_action_layout_editor.py 3 | -------------------------------------------------------------------------------- /config.h.meson.in: -------------------------------------------------------------------------------- 1 | #pragma once 2 | // config.h.in. Generated from configure.ac by autoheader. 3 | 4 | // Define to the version of this package. 5 | #mesondefine VERSION 6 | 7 | // Enable debug code 8 | #mesondefine ENABLE_DEBUG 9 | 10 | // ***** Enable features 11 | 12 | // define to enable the empty view that is used for performance measurement 13 | #mesondefine ENABLE_EMPTY_VIEW 14 | // Define to enable xmp support 15 | #mesondefine HAVE_EXEMPI 16 | // Define to enable EXIF support 17 | #mesondefine HAVE_EXIF 18 | // Define if libselinux is available 19 | #mesondefine HAVE_SELINUX 20 | // Define to enable pango-1.44 fixes 21 | #mesondefine HAVE_PANGO_144 22 | 23 | 24 | 25 | // ***** Localisation 26 | 27 | // always defined to indicate that i18n is enabled 28 | #mesondefine ENABLE_NLS 29 | #mesondefine HAVE_GETTEXT 30 | 31 | // the gettext translation domain 32 | #mesondefine GETTEXT_PACKAGE 33 | 34 | // Define to 1 if you have the header file. 35 | #mesondefine HAVE_LOCALE_H 36 | 37 | // path for translations 38 | #mesondefine LOCALEDIR 39 | #mesondefine LOCALE_DIR 40 | 41 | // Define to 1 if you have the header file. 42 | #mesondefine HAVE_MALLOC_H 43 | 44 | // Define to 1 if you have the `mallopt' function. 45 | #mesondefine HAVE_MALLOPT 46 | 47 | 48 | // Define to 1 if you have the header file. 49 | #mesondefine HAVE_SYS_MOUNT_H 50 | 51 | // Define to 1 if you have the header file. 52 | #mesondefine HAVE_SYS_PARAM_H 53 | 54 | // Define to 1 if you have the header file. 55 | #mesondefine HAVE_SYS_VFS_H 56 | 57 | // Define to 1 if you have the header file. 58 | #mesondefine HAVE_X11_XF86KEYSYM_H 59 | 60 | #mesondefine ENABLE_TRACKER 61 | -------------------------------------------------------------------------------- /cut-n-paste-code/README: -------------------------------------------------------------------------------- 1 | README for nemo/cut-n-paste-code 2 | 3 | The code in this directory hierarchy was cut-n-pasted from 4 | somewhere else. 5 | 6 | In the soon to come, Star Trek future, this code will be available 7 | as part of standard libraries. 8 | 9 | For example, the code in libegg will be one day available as part 10 | of Gtk+. 11 | 12 | Until that happens, DON'T HACK the code, unless you are updating 13 | from the original cut-n-paste source. 14 | 15 | Instead of hacking the code in cut-n-paste-code, create subclasses 16 | and put them in libnemo-extensions. 17 | 18 | If you have any specific questions, comments or complaints about this 19 | setup, send mail to the nemo mailing list at: 20 | 21 | nemo-list@gnome.org 22 | -------------------------------------------------------------------------------- /cut-n-paste-code/libegg/meson.build: -------------------------------------------------------------------------------- 1 | 2 | egg_lib = static_library('egg', 3 | 'eggtreemultidnd.c', 4 | dependencies: [ 5 | gtk, 6 | ], 7 | install: false 8 | ) 9 | 10 | egg = declare_dependency( 11 | include_directories: include_directories('..'), 12 | link_with: egg_lib, 13 | dependencies: [ 14 | gtk, 15 | ], 16 | ) 17 | -------------------------------------------------------------------------------- /cut-n-paste-code/libegg/update-from-egg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | function die() { 4 | echo $* 5 | exit 1 6 | } 7 | 8 | if test -z "$EGGDIR"; then 9 | echo "Must set EGGDIR" 10 | exit 1 11 | fi 12 | 13 | if test -z "$EGGFILES"; then 14 | echo "Must set EGGFILES" 15 | exit 1 16 | fi 17 | 18 | for FILE in $EGGFILES; do 19 | if cmp -s $EGGDIR/$FILE $FILE; then 20 | echo "File $FILE is unchanged" 21 | else 22 | cp $EGGDIR/$FILE $FILE || die "Could not move $EGGDIR/$FILE to $FILE" 23 | echo "Updated $FILE" 24 | fi 25 | done 26 | -------------------------------------------------------------------------------- /data/dbus-interfaces.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | " 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /data/freedesktop-dbus-interfaces.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-bullet.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-none.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-down-free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-down-free.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-down.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-left-free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-left-free.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-left.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-right-free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-right-free.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-right.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-up-free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-up-free.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/menu-sort-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/menu-sort-up.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/16x16/nemo-eject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/16x16/nemo-eject.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/32x32/nemo-eject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/actions/32x32/nemo-eject.png -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/location-symbolic-rtl.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 31 | 33 | 41 | 45 | 49 | 50 | 51 | 56 | 61 | 62 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/location-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 31 | 33 | 41 | 45 | 49 | 50 | 51 | 56 | 61 | 62 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-hide-symbolic-rtl.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 33 | 37 | 38 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-hide-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-places-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-show-symbolic-rtl.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 33 | 37 | 38 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-show-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-tree-symbolic-rtl.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 33 | 37 | 41 | 45 | 49 | 53 | 59 | 65 | 71 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/sidebar-tree-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /data/icons/hicolor/actions/scalable/view-compact-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/icons/hicolor/apps/16x16/nemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/apps/16x16/nemo.png -------------------------------------------------------------------------------- /data/icons/hicolor/apps/22x22/nemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/apps/22x22/nemo.png -------------------------------------------------------------------------------- /data/icons/hicolor/apps/24x24/nemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/apps/24x24/nemo.png -------------------------------------------------------------------------------- /data/icons/hicolor/apps/32x32/nemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/apps/32x32/nemo.png -------------------------------------------------------------------------------- /data/icons/hicolor/categories/scalable/nemo-prefs-preview-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 29 | 49 | 51 | 56 | 57 | 62 | 63 | -------------------------------------------------------------------------------- /data/icons/hicolor/categories/scalable/nemo-prefs-toolbar-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | image/svg+xml 8 | 9 | Gnome Symbolic Icon Theme 10 | 11 | 12 | 13 | Gnome Symbolic Icon Theme 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /data/icons/hicolor/emblems/16x16/emblem-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/emblems/16x16/emblem-note.png -------------------------------------------------------------------------------- /data/icons/hicolor/emblems/24x24/emblem-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/emblems/24x24/emblem-note.png -------------------------------------------------------------------------------- /data/icons/hicolor/emblems/48x48/emblem-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/data/icons/hicolor/emblems/48x48/emblem-note.png -------------------------------------------------------------------------------- /data/nemo-actions/90_new-launcher.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Create a new l_auncher here... 4 | 5 | Comment=Create a new launcher in this folder 6 | 7 | Exec=cinnamon-desktop-editor -mnemo-launcher -d"%P" 8 | 9 | Selection=None 10 | 11 | Icon-Name=list-add-symbolic 12 | 13 | Extensions=any; 14 | 15 | Dependencies=cinnamon-desktop-editor; 16 | 17 | Conditions=desktop; 18 | 19 | -------------------------------------------------------------------------------- /data/nemo-actions/90_new-workspace.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Jump to new workspace 4 | 5 | Comment=Create a new workspace and activate it 6 | 7 | Exec=sh -c 'dbus-send --dest=org.Cinnamon --print-reply /org/Cinnamon org.Cinnamon.JumpToNewWorkspace >/dev/null' 8 | 9 | Selection=None 10 | 11 | Extensions=any; 12 | 13 | Conditions=desktop;dbus org.Cinnamon; 14 | 15 | Active=false 16 | 17 | -------------------------------------------------------------------------------- /data/nemo-actions/91_delete-workspace.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Remove workspace 4 | 5 | Comment=Remove the currently active workspace 6 | 7 | Exec=sh -c 'dbus-send --dest=org.Cinnamon --print-reply /org/Cinnamon org.Cinnamon.RemoveCurrentWorkspace >/dev/null' 8 | 9 | Selection=None 10 | 11 | Extensions=any; 12 | 13 | Conditions=desktop;dbus org.Cinnamon;gsettings org.cinnamon number-workspaces i gt 1; 14 | 15 | Active=false 16 | 17 | -------------------------------------------------------------------------------- /data/nemo-actions/92_show-expo.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Manage workspaces (Expo) 4 | 5 | Comment=Open Expo to add, remove, or organize workspaces 6 | 7 | Exec=sh -c 'dbus-send --dest=org.Cinnamon --print-reply /org/Cinnamon org.Cinnamon.ShowExpo >/dev/null' 8 | 9 | Selection=None 10 | 11 | Extensions=any; 12 | 13 | Conditions=desktop;dbus org.Cinnamon; 14 | 15 | Active=false 16 | 17 | -------------------------------------------------------------------------------- /data/nemo-actions/action_i18n_strings.py: -------------------------------------------------------------------------------- 1 | 2 | ''' 3 | This is a dummy file for translating Nemo Action files 4 | 5 | It was generated by the extract_action_strings script. 6 | ''' 7 | 8 | 90_new-launcher_nemo_action_in_Name = _("Create a new l_auncher here...") 9 | 90_new-launcher_nemo_action_in_Tooltip = _("Create a new launcher in this folder") 10 | 90_new-workspace_nemo_action_in_Name = _("Jump to new workspace") 11 | 90_new-workspace_nemo_action_in_Tooltip = _("Create a new workspace and activate it") 12 | 91_delete-workspace_nemo_action_in_Name = _("Remove workspace") 13 | 91_delete-workspace_nemo_action_in_Tooltip = _("Remove the currently active workspace") 14 | 92_show-expo_nemo_action_in_Name = _("Manage workspaces (Expo)") 15 | 92_show-expo_nemo_action_in_Tooltip = _("Open Expo to add, remove, or organize workspaces") 16 | add-desklets_nemo_action_in_Name = _("Add Desklets") 17 | add-desklets_nemo_action_in_Tooltip = _("Add Cinnamon desklets") 18 | change-background_nemo_action_in_Name = _("Change Desktop _Background") 19 | change-background_nemo_action_in_Tooltip = _("Change the Cinnamon desktop background") 20 | mount-archive_nemo_action_in_Name = _("Mount archive") 21 | mount-archive_nemo_action_in_Tooltip = _("Mount %f to browse its contents") 22 | set-as-background_nemo_action_in_Name = _("Set as Wallpaper...") 23 | set-as-background_nemo_action_in_Tooltip = _("Set the selected image as your Cinnamon desktop wallpaper") 24 | set-resolution_nemo_action_in_Name = _("Display Settings") 25 | set-resolution_nemo_action_in_Tooltip = _("Change the resolution") 26 | -------------------------------------------------------------------------------- /data/nemo-actions/add-desklets.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Add Desklets 4 | 5 | Comment=Add Cinnamon desklets 6 | 7 | Exec=cinnamon-settings desklets 8 | 9 | Selection=None 10 | 11 | Extensions=any; 12 | 13 | Icon-Name=cs-desklets-symbolic 14 | 15 | Dependencies=cinnamon-settings; 16 | 17 | Conditions=desktop;dbus org.Cinnamon; 18 | -------------------------------------------------------------------------------- /data/nemo-actions/change-background.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Change Desktop _Background 4 | 5 | Comment=Change the Cinnamon desktop background 6 | 7 | Exec=cinnamon-settings backgrounds 8 | 9 | Selection=None 10 | 11 | Icon-Name=cs-backgrounds-symbolic 12 | 13 | Extensions=any; 14 | 15 | Dependencies=cinnamon-settings; 16 | 17 | Conditions=desktop;dbus org.Cinnamon; 18 | 19 | -------------------------------------------------------------------------------- /data/nemo-actions/extract_action_strings: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import glob 5 | import sys 6 | import codecs 7 | from gi.repository import GLib 8 | 9 | GROUP = "Nemo Action" 10 | 11 | class Main: 12 | def __init__(self): 13 | if len(sys.argv) > 1: 14 | action_files = glob.glob(os.path.join(sys.argv[1], "*.nemo_action.in")) 15 | else: 16 | action_files = glob.glob(os.path.join(os.getcwd(), "*.nemo_action.in")) 17 | if len(action_files) > 0: 18 | outstring = """ 19 | ''' 20 | This is a dummy file for translating Nemo Action files 21 | 22 | It was generated by the extract_action_strings script. 23 | ''' 24 | """ 25 | outstring += "\n" 26 | for fn in sorted(action_files): 27 | keyfile = GLib.KeyFile.new() 28 | if keyfile.load_from_file(fn, GLib.KeyFileFlags.NONE): 29 | if keyfile.has_group(GROUP): 30 | friendly_fn = os.path.split(fn)[1].replace(".", "_") 31 | try: 32 | name = keyfile.get_string(GROUP, "Name") 33 | name_line = '%s_Name = _("%s")\n' % (friendly_fn, name) 34 | outstring += (name_line) 35 | except GLib.GError: 36 | name = None 37 | try: 38 | tooltip = keyfile.get_string(GROUP, "Comment") 39 | tooltip_line = '%s_Tooltip = _("%s")\n' % (friendly_fn, tooltip) 40 | outstring += (tooltip_line) 41 | except GLib.GError: 42 | tooltip = None 43 | 44 | if len(sys.argv) > 1: 45 | outfilename = os.path.join(sys.argv[1], "action_i18n_strings.py") 46 | else: 47 | outfilename = os.path.join(os.getcwd(), "action_i18n_strings.py") 48 | if os.path.exists(outfilename): 49 | os.remove(outfilename) 50 | outfile = codecs.open(outfilename, 'w', 'utf-8') 51 | outfile.write(outstring) 52 | outfile.close() 53 | print("Extraction complete. Run makepot now") 54 | 55 | if __name__ == "__main__": 56 | Main() 57 | -------------------------------------------------------------------------------- /data/nemo-actions/mount-archive.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Mount archive 4 | 5 | Comment=Mount %f to browse its contents 6 | 7 | Exec=gnome-disk-image-mounter %U 8 | 9 | Selection=s 10 | 11 | Mimetypes=application/x-7z-compressed;application/x-cd-image;application/x-cpio;application/x-rar;application/x-rar-compressed;application/x-7z-compressed-tar;application/x-bzip-compressed-tar;application/x-compressed-tar;application/x-tar;application/zip; 12 | 13 | Icon-Name=mount-archive-symbolic 14 | 15 | Dependencies=gnome-disk-image-mounter; 16 | 17 | Selection=s 18 | -------------------------------------------------------------------------------- /data/nemo-actions/set-as-background.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Set as Wallpaper... 4 | 5 | Comment=Set the selected image as your Cinnamon desktop wallpaper 6 | 7 | Exec=gsettings set org.cinnamon.desktop.background picture-uri "%U" 8 | 9 | Selection=s 10 | 11 | Mimetypes=image/*; 12 | 13 | Conditions=dbus org.Cinnamon; 14 | -------------------------------------------------------------------------------- /data/nemo-actions/set-resolution.nemo_action.in: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Name=Display Settings 4 | 5 | Comment=Change the resolution 6 | 7 | Exec=cinnamon-settings display 8 | 9 | Selection=None 10 | 11 | Icon-Name=video-display-symbolic 12 | 13 | Extensions=any; 14 | 15 | Dependencies=cinnamon-settings; 16 | 17 | Conditions=desktop;dbus org.Cinnamon; 18 | 19 | -------------------------------------------------------------------------------- /data/nemo-autostart.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Nemo 4 | Comment=Start Nemo desktop at log in 5 | Exec=nemo-desktop 6 | OnlyShowIn=X-Cinnamon; 7 | AutostartCondition=GSettings org.nemo.desktop show-desktop-icons 8 | X-GNOME-AutoRestart=true 9 | NoDisplay=true 10 | -------------------------------------------------------------------------------- /data/nemo.FileManager1.service.in: -------------------------------------------------------------------------------- 1 | [D-BUS Service] 2 | Name=org.freedesktop.FileManager1 3 | Exec=@bindir@/nemo --no-default-window 4 | -------------------------------------------------------------------------------- /data/nemo.service.in: -------------------------------------------------------------------------------- 1 | [D-BUS Service] 2 | Name=org.Nemo 3 | Exec=@bindir@/nemo --no-default-window -------------------------------------------------------------------------------- /data/nemo.xml.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <_comment>Saved search 6 | 7 | 8 | 9 | 10 | <_comment>Nemo action definition 11 | 12 | 13 | 14 | 15 | 16 | <_comment>Nemo search-helper definition 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /data/org.Cinnamon.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/org.nemo.root.policy.in: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Nemo Project 9 | https://github.com/linuxmint/nemo 10 | 11 | 12 | Run Nemo with elevated privileges 13 | Files 14 | gksu-root-terminal 15 | 16 | auth_admin_keep 17 | auth_admin_keep 18 | auth_admin_keep 19 | 20 | @bindir@/nemo 21 | true 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /debian/gir1.2-nemo-3.0.install: -------------------------------------------------------------------------------- 1 | usr/lib/*/girepository-1.0 2 | -------------------------------------------------------------------------------- /debian/libnemo-extension-dev.install: -------------------------------------------------------------------------------- 1 | usr/include 2 | usr/lib/*/libnemo-extension*.so 3 | usr/lib/*/pkgconfig 4 | usr/share/gir-1.0/Nemo-3.0.gir 5 | usr/share/gtk-doc 6 | -------------------------------------------------------------------------------- /debian/libnemo-extension1.install: -------------------------------------------------------------------------------- 1 | usr/lib/*/libnemo-extension*.so.* 2 | -------------------------------------------------------------------------------- /debian/nemo-data.install: -------------------------------------------------------------------------------- 1 | usr/share/glib-2.0/schemas/org.nemo.gschema.xml 2 | usr/share/gtksourceview-2.0 3 | usr/share/gtksourceview-3.0 4 | usr/share/gtksourceview-4 5 | usr/share/icons/hicolor 6 | usr/share/mime/packages/nemo.xml 7 | usr/share/nemo 8 | usr/share/polkit-1/actions 9 | -------------------------------------------------------------------------------- /debian/nemo.install: -------------------------------------------------------------------------------- 1 | usr/bin 2 | usr/lib/*/nemo/nemo-extensions-list 3 | usr/share/applications 4 | usr/share/dbus-1 5 | usr/share/man 6 | -------------------------------------------------------------------------------- /debian/nemo.lintian-overrides: -------------------------------------------------------------------------------- 1 | # Used by gnome-session 2 | # https://wiki.gnome.org/Projects/SessionManagement/GnomeSession 3 | nemo: desktop-entry-contains-unknown-key * AutostartCondition 4 | -------------------------------------------------------------------------------- /debian/not-installed: -------------------------------------------------------------------------------- 1 | # No libtool files 2 | usr/lib/*/libnemo-extension.la 3 | # False positives 4 | usr/share/man/man1/nemo.1 5 | usr/share/man/man1/nemo-connect-server.1 6 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | # Force UTF8 to workaround build error 4 | export LC_ALL=C.UTF-8 5 | 6 | CONFIGURE_EXTRA_FLAGS = \ 7 | --libexecdir=/usr/lib/$(DEB_HOST_MULTIARCH)/nemo \ 8 | --buildtype=debugoptimized \ 9 | -D deprecated_warnings=false \ 10 | -D gtk_doc=true \ 11 | -D selinux=false 12 | 13 | export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs -Wl,-O1 -Wl,--as-needed 14 | export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow 15 | export DPKG_GENSYMBOLS_CHECK_LEVEL = 2 16 | 17 | %: 18 | dh $@ --with gir 19 | 20 | override_dh_auto_configure: 21 | dh_auto_configure -- $(CONFIGURE_EXTRA_FLAGS) 22 | 23 | override_dh_auto_test: 24 | # Disabled 25 | : 26 | 27 | override_dh_strip: 28 | dh_strip --dbg-package=nemo-dbg 29 | 30 | override_dh_python3: 31 | dh_python3 -p nemo-data /usr/share/nemo 32 | 33 | # workaround for fix lmde4 build 34 | override_dh_dwz: 35 | # Disabled 36 | : 37 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /docs/load-states.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/docs/load-states.dia -------------------------------------------------------------------------------- /docs/meson.build: -------------------------------------------------------------------------------- 1 | 2 | install_man( 3 | 'nemo.1', 4 | 'nemo-desktop.1', 5 | 'nemo-connect-server.1', 6 | ) 7 | 8 | if gtkdoc_enabled 9 | subdir('reference') 10 | endif 11 | 12 | # Just for Dist 13 | extraMans = [ 14 | 'dnd.txt', 15 | 'key_mouse_navigation.txt', 16 | 'load-states.dia', 17 | 'nemo-io.txt', 18 | 'style-guide.html', 19 | ] 20 | -------------------------------------------------------------------------------- /docs/nemo-connect-server.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-connect-server 1 "05 Jan 2008" 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-connect-server \- To Access a remote server 20 | .SH SYNOPSIS 21 | .B nemo-connect-server 22 | .RI [ options ] 23 | .RI [ URI ] 24 | .SH DESCRIPTION 25 | This manual page documents briefly the 26 | .B nemo-connect-server 27 | command. 28 | .PP 29 | Nemo Connect Server is the connection manager for the GNOME desktop. 30 | .PP 31 | You can use the file manager to access a remote server, be it an FTP site, 32 | a Windows share, a WebDav server or an SSH server. 33 | .SH OPTIONS 34 | Nemo follows the usual GNU command line syntax, with long options starting 35 | with two dashes (`-'). A summary of options is included below. 36 | .TP 37 | .B \-\-help 38 | Show a summary of options. 39 | .TP 40 | .B \-\-version 41 | Show version. 42 | .TP 43 | Other standard GNOME options not listed here are also supported. 44 | .SH SEE ALSO 45 | Nemo Connect Server documentation can be found from the "Help" menu, or by pressing the 46 | F1 key. Nemo also has a website at http://www.gnome.org/projects/nemo/ 47 | .SH AUTHOR 48 | This manual page was written by Julian Andres Klode for the 49 | Debian GNU/Linux system (but may be used by others), based on a manpage by 50 | Fernando Ribeiro . 51 | -------------------------------------------------------------------------------- /docs/nemo-desktop.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 1 "October 2012" 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-desktop \- Nemo's desktop provider 20 | .SH SYNOPSIS 21 | .B nemo-desktop 22 | .RI [ options ] " URIs" ... 23 | .br 24 | .SH DESCRIPTION 25 | This manual page documents briefly the 26 | .B nemo-desktop 27 | command. 28 | .PP 29 | Nemo is the file manager for the Cinnamon desktop. 30 | .br 31 | .SH OPTIONS 32 | Nemo-desktop follows the usual GNU command line syntax, with long options starting 33 | with two dashes (`-'). A summary of options is included below. 34 | .TP 35 | .B \-\-debug 36 | Enable debugging code. Example usage: 'NEMO_DEBUG=Desktop,Actions nemo-desktop --debug'. Use NEMO_DEBUG=all for more topics. 37 | .TP 38 | .B \-\-quit 39 | Quit Nemo. 40 | .TP 41 | .B \-\-help 42 | Show a summary of options. 43 | .TP 44 | .B \-\-version 45 | Show Nemo's version. 46 | .TP 47 | Other standard GNOME options not listed here are also supported. 48 | 49 | .SH NOTE ON THE ROOT USER 50 | Ordinarily, nemo and nemo-desktop treat being run as the root user as special, with certain 51 | restrictions and UI changes. This behavior can be bypassed via a gsettings key. You can use 52 | the following command to enable/disable this override: 53 | 54 | gsettings set org.nemo.preferences treat-root-as-normal true|false 55 | 56 | .SH BUG REPORTS 57 | Please report bugs and feature requests here: https://github.com/linuxmint/nemo 58 | 59 | .SH AUTHOR 60 | This manual page was originally written for Nautilus by Takuo KITAME and Dafydd 61 | Harries for the Debian GNU/Linux system (but may be used 62 | by others). 63 | -------------------------------------------------------------------------------- /docs/reference/libnemo-extension/libnemo-extension-docs.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | ]> 6 | 7 | 8 | 9 | Nemo Extension Reference Manual 10 | For Nemo-Extension &version; 11 | 12 | 13 | 14 | 15 | API Reference 16 | 17 | 18 | Extension Interfaces 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | Classes 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | Index 42 | 43 | 44 | -------------------------------------------------------------------------------- /docs/reference/libnemo-extension/libnemo-extension-overrides.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/docs/reference/libnemo-extension/libnemo-extension-overrides.txt -------------------------------------------------------------------------------- /docs/reference/libnemo-extension/meson.build: -------------------------------------------------------------------------------- 1 | 2 | docConf = configuration_data() 3 | docConf.set('NEMO_EXTENSION_VERSION_INFO', NEMO_EXTENSION_VERSION_INFO) 4 | 5 | configure_file( 6 | input : 'version.xml.in', 7 | output: 'version.xml', 8 | configuration: docConf 9 | ) 10 | 11 | gnome.gtkdoc('libnemo-extension', 12 | main_xml: 'libnemo-extension-docs.xml', 13 | src_dir: join_paths(meson.project_source_root(), 'libnemo-extension'), 14 | dependencies: nemo_extension, 15 | install: true, 16 | gobject_typesfile: 'libnemo-extension.types', 17 | install_dir: 'libnemo-extension', 18 | scan_args: [ 19 | '--rebuild-types', 20 | '--ignore-headers="config.h"' ] 21 | ) 22 | -------------------------------------------------------------------------------- /docs/reference/libnemo-extension/version.xml.in: -------------------------------------------------------------------------------- 1 | @NEMO_EXTENSION_VERSION_INFO@ 2 | -------------------------------------------------------------------------------- /docs/reference/meson.build: -------------------------------------------------------------------------------- 1 | subdir('libnemo-extension') 2 | -------------------------------------------------------------------------------- /eel/README: -------------------------------------------------------------------------------- 1 | README for eel/eel 2 | 3 | Writeme 4 | 5 | -------------------------------------------------------------------------------- /eel/check-eel: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ./check-program --g-fatal-warnings --sm-disable 3 | 4 | -------------------------------------------------------------------------------- /eel/check-program.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* check-program.c: A simple driver for eel self checks. 4 | 5 | Copyright (C) 2000 Eazel, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Ramiro Estrugo 23 | */ 24 | 25 | #include 26 | 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | int 36 | main (int argc, char *argv[]) 37 | { 38 | #if !defined (EEL_OMIT_SELF_CHECK) 39 | 40 | eel_make_warnings_and_criticals_stop_in_debugger (); 41 | 42 | 43 | gtk_init (&argc, &argv); 44 | 45 | /* Run the checks for eel twice. */ 46 | 47 | eel_run_lib_self_checks (); 48 | eel_exit_if_self_checks_failed (); 49 | 50 | eel_run_lib_self_checks (); 51 | eel_exit_if_self_checks_failed (); 52 | 53 | eel_debug_shut_down (); 54 | 55 | #endif /* !EEL_OMIT_SELF_CHECK */ 56 | 57 | return EXIT_SUCCESS; 58 | } 59 | -------------------------------------------------------------------------------- /eel/eel-debug.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | eel-debug.h: Eel debugging aids. 4 | 5 | Copyright (C) 2000, 2001 Eazel, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Author: Darin Adler 23 | */ 24 | 25 | #ifndef EEL_DEBUG_H 26 | #define EEL_DEBUG_H 27 | 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | typedef void (* EelFunction) (void); 33 | 34 | void eel_make_warnings_and_criticals_stop_in_debugger (void); 35 | 36 | /* A way to do cleanup at exit for compatibility with shutdown tools 37 | * like the ones in Bonobo. 38 | */ 39 | void eel_debug_shut_down (void); 40 | void eel_debug_call_at_shutdown (EelFunction function); 41 | void eel_debug_call_at_shutdown_with_data (GFreeFunc function, 42 | gpointer data); 43 | 44 | G_END_DECLS 45 | 46 | #endif /* EEL_DEBUG_H */ 47 | -------------------------------------------------------------------------------- /eel/eel-gdk-extensions.h: -------------------------------------------------------------------------------- 1 | // /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* eel-gdk-extensions.h: Graphics routines to augment what's in gdk. 4 | 5 | Copyright (C) 1999, 2000 Eazel, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Darin Adler , 23 | Ramiro Estrugo 24 | */ 25 | 26 | #ifndef EEL_GDK_EXTENSIONS_H 27 | #define EEL_GDK_EXTENSIONS_H 28 | 29 | #include 30 | 31 | /* Bits returned by eel_gdk_parse_geometry */ 32 | typedef enum { 33 | EEL_GDK_NO_VALUE = 0x00, 34 | EEL_GDK_X_VALUE = 0x01, 35 | EEL_GDK_Y_VALUE = 0x02, 36 | EEL_GDK_WIDTH_VALUE = 0x04, 37 | EEL_GDK_HEIGHT_VALUE = 0x08, 38 | EEL_GDK_ALL_VALUES = 0x0f, 39 | EEL_GDK_X_NEGATIVE = 0x10, 40 | EEL_GDK_Y_NEGATIVE = 0x20 41 | } EelGdkGeometryFlags; 42 | 43 | /* Wrapper for XParseGeometry */ 44 | EelGdkGeometryFlags eel_gdk_parse_geometry (const char *string, 45 | int *x_return, 46 | int *y_return, 47 | guint *width_return, 48 | guint *height_return); 49 | 50 | GdkDevice *eel_gdk_get_pointer_device (void); 51 | #endif /* EEL_GDK_EXTENSIONS_H */ 52 | -------------------------------------------------------------------------------- /eel/eel-gnome-extensions.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* eel-gnome-extensions.h - interface for new functions that operate on 4 | gnome classes. Perhaps some of these should be 5 | rolled into gnome someday. 6 | 7 | Copyright (C) 1999, 2000, 2001 Eazel, Inc. 8 | 9 | The Gnome Library is free software; you can redistribute it and/or 10 | modify it under the terms of the GNU Library General Public License as 11 | published by the Free Software Foundation; either version 2 of the 12 | License, or (at your option) any later version. 13 | 14 | The Gnome Library 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 GNU 17 | Library General Public License for more details. 18 | 19 | You should have received a copy of the GNU Library General Public 20 | License along with the Gnome Library; see the file COPYING.LIB. If not, 21 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 22 | Boston, MA 02110-1335, USA. 23 | 24 | Authors: Darin Adler 25 | */ 26 | 27 | #ifndef EEL_GNOME_EXTENSIONS_H 28 | #define EEL_GNOME_EXTENSIONS_H 29 | 30 | #include 31 | 32 | /* Open up a new terminal, optionally passing in a command to execute */ 33 | void eel_gnome_open_terminal_on_screen (const char *command, 34 | GdkScreen *screen); 35 | 36 | #endif /* EEL_GNOME_EXTENSIONS_H */ 37 | -------------------------------------------------------------------------------- /eel/eel-graphic-effects.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | eel-graphic-effects.h: Pixmap manipulation routines for graphical effects. 4 | 5 | Copyright (C) 2000 Eazel, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Andy Hertzfeld 23 | */ 24 | 25 | #ifndef EEL_GRAPHIC_EFFECTS_H 26 | #define EEL_GRAPHIC_EFFECTS_H 27 | 28 | #include 29 | #include 30 | 31 | /* return a lightened pixbuf for pre-lighting */ 32 | GdkPixbuf *eel_create_spotlight_pixbuf (GdkPixbuf *source_pixbuf); 33 | 34 | /* return a pixbuf colorized with the color specified by the parameters */ 35 | GdkPixbuf* eel_create_colorized_pixbuf (GdkPixbuf *source_pixbuf, 36 | GdkRGBA *color); 37 | 38 | /* embed in image in a frame */ 39 | GdkPixbuf *eel_embed_image_in_frame (GdkPixbuf *source_image, 40 | GdkPixbuf *frame_image, 41 | int left_offset, 42 | int top_offset, 43 | int right_offset, 44 | int bottom_offset); 45 | 46 | #endif /* EEL_GRAPHIC_EFFECTS_H */ 47 | -------------------------------------------------------------------------------- /eel/eel-lib-self-check-functions.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | eel-lib-self-check-functions.c: Wrapper for all self check functions 4 | in Eel proper. 5 | 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | This program is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Library General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | This program 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 GNU 16 | Library General Public License for more details. 17 | 18 | You should have received a copy of the GNU Library General Public 19 | License along with this program; if not, write to the 20 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Author: Darin Adler 24 | */ 25 | 26 | #include 27 | 28 | #if ! defined (EEL_OMIT_SELF_CHECK) 29 | 30 | #include "eel-lib-self-check-functions.h" 31 | 32 | void 33 | eel_run_lib_self_checks (void) 34 | { 35 | EEL_LIB_FOR_EACH_SELF_CHECK_FUNCTION (EEL_CALL_SELF_CHECK_FUNCTION) 36 | } 37 | 38 | #endif /* ! EEL_OMIT_SELF_CHECK */ 39 | -------------------------------------------------------------------------------- /eel/eel-lib-self-check-functions.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | eel-lib-self-check-functions.h: Wrapper and prototypes for all 4 | self-check functions in libeel. 5 | 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | This program is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Library General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | This program 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 GNU 16 | Library General Public License for more details. 17 | 18 | You should have received a copy of the GNU Library General Public 19 | License along with this program; if not, write to the 20 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Author: Darin Adler 24 | */ 25 | 26 | #include "eel-self-checks.h" 27 | 28 | void eel_run_lib_self_checks (void); 29 | 30 | /* Putting the prototypes for these self-check functions in each 31 | header file for the files they are defined in would make compiling 32 | the self-check framework take way too long (since one file would 33 | have to include everything). 34 | 35 | So we put the list of functions here instead. 36 | 37 | Instead of just putting prototypes here, we put this macro that 38 | can be used to do operations on the whole list of functions. 39 | */ 40 | 41 | #define EEL_LIB_FOR_EACH_SELF_CHECK_FUNCTION(macro) \ 42 | macro (eel_self_check_glib_extensions) \ 43 | macro (eel_self_check_string) \ 44 | /* Add new self-check functions to the list above this line. */ 45 | 46 | /* Generate prototypes for all the functions. */ 47 | EEL_LIB_FOR_EACH_SELF_CHECK_FUNCTION (EEL_SELF_CHECK_FUNCTION_PROTOTYPE) 48 | -------------------------------------------------------------------------------- /eel/eel.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* eel.h 4 | 5 | Copyright (C) 2001 Eazel, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Maciej Stachowiak 23 | */ 24 | 25 | #ifndef EEL_H 26 | #define EEL_H 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | 39 | #endif /* EEL_H */ 40 | -------------------------------------------------------------------------------- /eel/meson.build: -------------------------------------------------------------------------------- 1 | 2 | eel_sources = [ 3 | 'eel-accessibility.c', 4 | 'eel-art-extensions.c', 5 | 'eel-canvas.c', 6 | 'eel-debug.c', 7 | 'eel-editable-label.c', 8 | 'eel-gdk-extensions.c', 9 | 'eel-glib-extensions.c', 10 | 'eel-gnome-extensions.c', 11 | 'eel-graphic-effects.c', 12 | 'eel-gtk-extensions.c', 13 | 'eel-lib-self-check-functions.c', 14 | 'eel-self-checks.c', 15 | 'eel-stock-dialogs.c', 16 | 'eel-string.c', 17 | 'eel-vfs-extensions.c', 18 | ] 19 | 20 | 21 | eel_deps = [ gtk, gail ] 22 | 23 | eel_lib = static_library('eel', 24 | eel_sources, 25 | dependencies: eel_deps, 26 | include_directories: [ rootInclude, ], 27 | install: false, 28 | c_args: '-DG_LOG_DOMAIN="Eel"' 29 | ) 30 | 31 | eel = declare_dependency( 32 | include_directories: include_directories('.'), 33 | link_with: [ 34 | eel_lib 35 | ], 36 | dependencies: eel_deps, 37 | ) 38 | 39 | 40 | test('Eel test', 41 | executable('check-program', 42 | 'check-program.c', 43 | dependencies: eel, 44 | include_directories: [ rootInclude, ], 45 | install: false 46 | ), 47 | args: ['--g-fatal-warnings', '--sm-disable'] 48 | ) 49 | -------------------------------------------------------------------------------- /files/meson.build: -------------------------------------------------------------------------------- 1 | message('Copying ./files structure') 2 | 3 | install_subdir('usr/share/gtksourceview-2.0', 4 | install_dir: get_option('datadir'), 5 | ) 6 | 7 | install_subdir('usr/share/gtksourceview-3.0', 8 | install_dir: get_option('datadir'), 9 | ) 10 | 11 | install_subdir('usr/share/nemo', 12 | install_dir: get_option('datadir'), 13 | ) 14 | -------------------------------------------------------------------------------- /files/usr/share/nemo/actions/myaction.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/python3 -OOt 2 | 3 | import sys 4 | 5 | command = sys.argv[0] 6 | print("Running " + command) 7 | print("With the following arguments:") 8 | for arg in sys.argv: 9 | if command == arg: 10 | continue 11 | else: 12 | print(arg) 13 | 14 | -------------------------------------------------------------------------------- /files/usr/share/nemo/script-info.md: -------------------------------------------------------------------------------- 1 | #### Scripts 2 | 3 | When executed from a local folder, scripts will be passed 4 | the selected file names. When executed from a remote folder 5 | (e.g. a folder showing web or ftp content), scripts will 6 | be passed no parameters. 7 | 8 | In all cases, the following environment variables will be 9 | set by Nemo, which the scripts may use: 10 | 11 | - NEMO_SCRIPT_SELECTED_FILE_PATHS: newline-delimited paths for selected files (only if local) 12 | - NEMO_SCRIPT_SELECTED_URIS: newline-delimited URIs for selected files 13 | - NEMO_SCRIPT_CURRENT_URI: URI for current location 14 | - NEMO_SCRIPT_WINDOW_GEOMETRY: position and size of current window 15 | - NEMO_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS: newline-delimited paths for selected files in the inactive pane of a split-view window (only if local) 16 | - NEMO_SCRIPT_NEXT_PANE_SELECTED_URIS: newline-delimited URIs for selected files in the inactive pane of a split-view window 17 | - NEMO_SCRIPT_NEXT_PANE_CURRENT_URI: URI for current location in the inactive pane of a split-view window 18 | 19 | 20 | -------------------------------------------------------------------------------- /generate_additional_file: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | 5 | os.chdir("data/nemo-actions/") 6 | os.system("./merge_action_strings") 7 | os.chdir("../..") 8 | 9 | DOMAIN = "nemo" 10 | PATH = "/usr/share/locale" 11 | 12 | import os, gettext, sys 13 | from mintcommon import additionalfiles 14 | 15 | os.environ['LANGUAGE'] = "en_US.UTF-8" 16 | gettext.install(DOMAIN, PATH) 17 | 18 | prefix = """[Desktop Entry] 19 | """ 20 | 21 | suffix = """Exec=nemo %U 22 | Icon=system-file-manager 23 | # Translators: these are keywords of the file manager 24 | Keywords=folders;filesystem;explorer; 25 | Terminal=false 26 | Type=Application 27 | StartupNotify=false 28 | Categories=GNOME;GTK;Utility;Core; 29 | MimeType=inode/directory;application/x-gnome-saved-search; 30 | Actions=open-home;open-computer;open-trash; 31 | """ 32 | 33 | additionalfiles.generate(DOMAIN, PATH, "data/nemo.desktop.in", prefix, _("Files"), _("Access and organize files"), suffix) 34 | 35 | 36 | prefix = """ 37 | [Desktop Action open-home] 38 | """ 39 | suffix = """Exec=nemo %U 40 | """ 41 | additionalfiles.generate(DOMAIN, PATH, "data/nemo.desktop.in", prefix, _("Home"), None, suffix, append=True) 42 | 43 | prefix = """ 44 | [Desktop Action open-computer] 45 | """ 46 | suffix = """Exec=nemo computer:/// 47 | """ 48 | additionalfiles.generate(DOMAIN, PATH, "data/nemo.desktop.in", prefix, _("Computer"), None, suffix, append=True) 49 | 50 | prefix = """ 51 | [Desktop Action open-trash] 52 | """ 53 | suffix = """Exec=nemo trash:/// 54 | """ 55 | additionalfiles.generate(DOMAIN, PATH, "data/nemo.desktop.in", prefix, _("Trash"), None, suffix, append=True) 56 | -------------------------------------------------------------------------------- /gresources/knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/gresources/knob.png -------------------------------------------------------------------------------- /gresources/meson.build: -------------------------------------------------------------------------------- 1 | gresources = gnome.compile_resources( 2 | 'nemo-resources', 'nemo.gresource.xml', 3 | source_dir: '.', 4 | c_name: 'nemo', 5 | install_header: false, 6 | install: false 7 | ) 8 | 9 | layout_editor_gresources = gnome.compile_resources( 10 | 'nemo-action-layout-editor-resources', 'nemo-action-layout-editor.gresource.xml', 11 | source_dir: '.', 12 | gresource_bundle: true, 13 | install: true, 14 | install_dir: nemoDataPath 15 | ) 16 | -------------------------------------------------------------------------------- /gresources/nemo-action-layout-editor.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | nemo-action-layout-editor.glade 5 | nemo-shortcuts.ui 6 | 7 | 8 | -------------------------------------------------------------------------------- /gresources/nemo-blank-desktop-window-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /gresources/nemo-desktop-icon-grid-view-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /gresources/nemo-desktop-icon-view-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /gresources/nemo-icon-view-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /gresources/nemo-list-view-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /gresources/nemo-places-sidebar-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /gresources/nemo-statusbar-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /gresources/nemo-style-fallback-mandatory.css: -------------------------------------------------------------------------------- 1 | /* Things that can traditionally be controlled by the user theme, but that we *must* 2 | * have regardless, for a usable application. A couple things that we cannot do without. */ 3 | 4 | /* Inactive F3 pane shading */ 5 | 6 | .nemo-window .nemo-inactive-pane .view:not(:selected), .nemo-window .nemo-inactive-pane iconview { 7 | background-color: @theme_unfocused_bg_color; 8 | } 9 | 10 | /* Rename box styling in the icon view. */ 11 | 12 | .nemo-window .nemo-window-pane widget.entry { 13 | border: 1px solid; 14 | border-radius: 3px; 15 | color: @theme_fg_color; 16 | border-color: @theme_selected_bg_color; 17 | background-color: @theme_bg_color; 18 | } 19 | 20 | .nemo-window .nemo-window-pane widget.entry:selected { 21 | border: 1px solid; 22 | border-radius: 3px; 23 | color: @theme_selected_fg_color; 24 | border-color: @theme_selected_bg_color; 25 | background-color: @theme_selected_bg_color; 26 | } 27 | 28 | /* Floating bar in the bottom of a file view, used when the 'status bar' is turned off */ 29 | 30 | .floating-bar { 31 | border: 1px solid; 32 | border-radius: 3px 3px 0 0; 33 | border-bottom-width: 0; 34 | color: @theme_selected_fg_color; 35 | background-color: @theme_selected_bg_color; 36 | } 37 | -------------------------------------------------------------------------------- /gresources/nemo-style-fallback.css: -------------------------------------------------------------------------------- 1 | /* For Places Sidebar diskfull indicators */ 2 | 3 | .places-treeview { 4 | -NemoPlacesTreeView-disk-full-bg-color: shade(@theme_bg_color, .65); 5 | -NemoPlacesTreeView-disk-full-fg-color: shade(@theme_selected_bg_color, 1.0); 6 | -NemoPlacesTreeView-disk-full-bar-width: 2px; 7 | -NemoPlacesTreeView-disk-full-bar-radius: 1px; 8 | -NemoPlacesTreeView-disk-full-bottom-padding: 1px; 9 | -NemoPlacesTreeView-disk-full-max-length: 70px; 10 | } 11 | 12 | .places-treeview:selected { 13 | -NemoPlacesTreeView-disk-full-bg-color: shade(@theme_bg_color, 2.0); 14 | -NemoPlacesTreeView-disk-full-fg-color: shade(@theme_fg_color, 2.0); 15 | } 16 | 17 | .places-treeview:hover { 18 | } 19 | 20 | .places-treeview:selected:hover { 21 | } 22 | -------------------------------------------------------------------------------- /gresources/nemo-tree-sidebar-ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /gresources/nemo.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | nemo-bookmarks-window.glade 5 | nemo-desktop-overlay.glade 6 | nemo-desktop-preferences.glade 7 | nemo-file-management-properties.glade 8 | nemo-search-bar.glade 9 | 10 | nemo-shortcuts.ui 11 | 12 | nemo-blank-desktop-window-ui.xml 13 | nemo-desktop-icon-grid-view-ui.xml 14 | nemo-desktop-icon-view-ui.xml 15 | nemo-directory-view-ui.xml 16 | nemo-icon-view-ui.xml 17 | nemo-list-view-ui.xml 18 | nemo-places-sidebar-ui.xml 19 | nemo-shell-ui.xml 20 | nemo-statusbar-ui.xml 21 | nemo-tree-sidebar-ui.xml 22 | 23 | knob.png 24 | thumbnail_frame.png 25 | 26 | nemo-style-fallback.css 27 | nemo-style-fallback-mandatory.css 28 | nemo-style-application.css 29 | 30 | 31 | -------------------------------------------------------------------------------- /gresources/thumbnail_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linuxmint/nemo/802dff9011fbb73ea48002f0cd4d5bb0304e43e1/gresources/thumbnail_frame.png -------------------------------------------------------------------------------- /install-scripts/meson.build: -------------------------------------------------------------------------------- 1 | # These scripts run as post-installation scripts. 2 | 3 | # They're designed to do nothing if DESTDIR is set, which happens 4 | # during debian builds for instance - there's a fake install target 5 | # so running these would be pointless. 6 | 7 | # When using deb packaging, these aren't needed, as these operations 8 | # are run automatically by the package manager. 9 | 10 | # They're really only necessary in straight builds where 'ninja install' 11 | # will be run directly, to install the program onto the system. 12 | 13 | 14 | # Re-compile gsettings 15 | meson.add_install_script('meson_install_schemas.py') 16 | 17 | # Update mime info 18 | meson.add_install_script('meson_update_mime_database.py') 19 | 20 | # Update the Gtk icon cache 21 | meson.add_install_script('meson_update_icon_cache.py') 22 | -------------------------------------------------------------------------------- /install-scripts/meson_install_schemas.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import subprocess 5 | 6 | schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas') 7 | 8 | if not os.environ.get('DESTDIR'): 9 | print('Compiling gsettings schemas...') 10 | subprocess.call(['glib-compile-schemas', schemadir]) 11 | -------------------------------------------------------------------------------- /install-scripts/meson_update_icon_cache.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import subprocess 5 | 6 | themedir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'icons', 'hicolor') 7 | 8 | if not os.environ.get('DESTDIR'): 9 | print('Updating gtk icon cache... %s' % themedir) 10 | subprocess.call(['gtk-update-icon-cache', '-f', '-t', themedir]) 11 | -------------------------------------------------------------------------------- /install-scripts/meson_update_mime_database.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import subprocess 5 | 6 | mimedir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'mime') 7 | 8 | if not os.environ.get('DESTDIR'): 9 | print('Updating mime database...') 10 | subprocess.call(['update-mime-database', mimedir]) 11 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-column-provider.c: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-column-provider.c - Interface for Nemo extensions 3 | * that provide column specifications. 4 | * 5 | * Copyright (C) 2003 Novell, Inc. 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This library 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. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Library General Public 18 | * License along with this library; if not, write to the Free 19 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 20 | * 21 | * Author: Dave Camp 22 | * 23 | */ 24 | 25 | #include 26 | #include "nemo-column-provider.h" 27 | 28 | #include 29 | 30 | G_DEFINE_INTERFACE (NemoColumnProvider, nemo_column_provider, G_TYPE_OBJECT) 31 | 32 | /** 33 | * SECTION:nemo-column-provider 34 | * @Title: NemoColumnProvider 35 | * @Short_description: An interface to provide additional Nemo list view columns. 36 | * 37 | * This allows additional columns to be shown in the list view. This interface 38 | * generally needs to be used in tandem with a #NemoInfoProvider, to feed file 39 | * info back to populate the column(s). 40 | * 41 | **/ 42 | 43 | static void 44 | nemo_column_provider_default_init (NemoColumnProviderInterface *klass) 45 | { 46 | } 47 | 48 | /** 49 | * nemo_column_provider_get_columns: 50 | * @provider: a #NemoColumnProvider 51 | * 52 | * Returns: (element-type NemoColumn) (transfer full): the provided #NemoColumn objects 53 | **/ 54 | GList * 55 | nemo_column_provider_get_columns (NemoColumnProvider *provider) 56 | { 57 | g_return_val_if_fail (NEMO_IS_COLUMN_PROVIDER (provider), NULL); 58 | g_return_val_if_fail (NEMO_COLUMN_PROVIDER_GET_IFACE (provider)->get_columns != NULL, NULL); 59 | 60 | return NEMO_COLUMN_PROVIDER_GET_IFACE (provider)->get_columns (provider); 61 | } 62 | 63 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-column-provider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-column-provider.h - Interface for Nemo extensions that 3 | * provide column descriptions. 4 | * 5 | * Copyright (C) 2003 Novell, Inc. 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This library 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. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Library General Public 18 | * License along with this library; if not, write to the Free 19 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 20 | * 21 | * Author: Dave Camp 22 | * 23 | */ 24 | 25 | /* This interface is implemented by Nemo extensions that want to 26 | * add columns to the list view and details to the icon view. 27 | * Extensions are asked for a list of columns to display. Each 28 | * returned column refers to a string attribute which can be filled in 29 | * by NemoInfoProvider */ 30 | 31 | #ifndef NEMO_COLUMN_PROVIDER_H 32 | #define NEMO_COLUMN_PROVIDER_H 33 | 34 | #include 35 | #include "nemo-extension-types.h" 36 | #include "nemo-column.h" 37 | 38 | G_BEGIN_DECLS 39 | 40 | #define NEMO_TYPE_COLUMN_PROVIDER (nemo_column_provider_get_type ()) 41 | 42 | G_DECLARE_INTERFACE (NemoColumnProvider, nemo_column_provider, 43 | NEMO, COLUMN_PROVIDER, 44 | GObject) 45 | 46 | typedef NemoColumnProviderInterface NemoColumnProviderIface; 47 | 48 | /** 49 | * NemoColumnProviderInterface: 50 | * @g_iface: the parent class 51 | * @get_columns: Fetch an array of @NemoColumn 52 | */ 53 | struct _NemoColumnProviderInterface { 54 | GTypeInterface g_iface; 55 | 56 | GList *(*get_columns) (NemoColumnProvider *provider); 57 | }; 58 | 59 | /* Interface Functions */ 60 | GList *nemo_column_provider_get_columns (NemoColumnProvider *provider); 61 | 62 | G_END_DECLS 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-desktop-preferences.h: -------------------------------------------------------------------------------- 1 | #ifndef _NEMO_DESKTOP_PREFERENCES_H_ 2 | #define _NEMO_DESKTOP_PREFERENCES_H_ 3 | 4 | #include 5 | #include 6 | 7 | G_BEGIN_DECLS 8 | 9 | #define NEMO_TYPE_DESKTOP_PREFERENCES (nemo_desktop_preferences_get_type ()) 10 | 11 | G_DECLARE_FINAL_TYPE (NemoDesktopPreferences, nemo_desktop_preferences, NEMO, DESKTOP_PREFERENCES, GtkBin) 12 | 13 | NemoDesktopPreferences *nemo_desktop_preferences_new (void); 14 | 15 | G_END_DECLS 16 | 17 | #endif /* _NEMO_DESKTOP_PREFERENCES_H_ */ -------------------------------------------------------------------------------- /libnemo-extension/nemo-extension-i18n.h: -------------------------------------------------------------------------------- 1 | #ifndef NEMO_EXTENSION_I18N_H 2 | #define NEMO_EXTENSION_I18N_H 3 | 4 | #include "config.h" 5 | 6 | #ifdef ENABLE_NLS 7 | #include 8 | #define _(String) dgettext(GETTEXT_PACKAGE,String) 9 | #ifdef gettext_noop 10 | #define N_(String) gettext_noop(String) 11 | #else 12 | #define N_(String) (String) 13 | #endif 14 | #else /* NLS is disabled */ 15 | #define _(String) (String) 16 | #define N_(String) (String) 17 | #define textdomain(String) (String) 18 | #define gettext(String) (String) 19 | #define dgettext(Domain,String) (String) 20 | #define dcgettext(Domain,String,Type) (String) 21 | #define bindtextdomain(Domain,Directory) (Domain) 22 | #endif 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-extension-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-extension-private.h - Type definitions for Nemo extensions 3 | * 4 | * Copyright (C) 2009 Red Hat, Inc. 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library 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 Library 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: Alexander Larsson 21 | * 22 | */ 23 | 24 | #ifndef NEMO_EXTENSION_PRIVATE_H 25 | #define NEMO_EXTENSION_PRIVATE_H 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | extern NemoFileInfo *(*nemo_file_info_getter) (GFile *location, gboolean create); 32 | 33 | G_END_DECLS 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-menu-item.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-menu-item.h - Menu items exported by NemoMenuProvider 3 | * objects. 4 | * 5 | * Copyright (C) 2003 Novell, Inc. 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This library 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. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Library General Public 18 | * License along with this library; if not, write to the Free 19 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 20 | * 21 | * Author: Dave Camp 22 | * 23 | */ 24 | 25 | #ifndef NEMO_MENU_ITEM_H 26 | #define NEMO_MENU_ITEM_H 27 | 28 | #include "nemo-menu.h" 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-name-and-desc-provider.c: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-name-and-desc-provider.c - Interface for Nemo extensions that 3 | * returns the extension's proper name and description for the plugin 4 | * manager only - it is not necessary for extension functionality. 5 | * 6 | */ 7 | 8 | #include 9 | #include "nemo-name-and-desc-provider.h" 10 | 11 | #include 12 | 13 | static void 14 | nemo_name_and_desc_provider_default_init (NemoNameAndDescProviderInterface *klass) 15 | { 16 | } 17 | 18 | G_DEFINE_INTERFACE (NemoNameAndDescProvider, nemo_name_and_desc_provider, G_TYPE_OBJECT) 19 | 20 | /** 21 | * nemo_name_and_desc_provider_get_name_and_desc: 22 | * @provider: a #NemoNameAndDescProvider 23 | * 24 | * Returns: (element-type gchar) (transfer full): a list of name:::desc 25 | * strings. Optionally, the name of a path executable can be appended as a 26 | * third component of the list ('name:::desc:::foo-bar-preferences') 27 | */ 28 | GList * 29 | nemo_name_and_desc_provider_get_name_and_desc (NemoNameAndDescProvider *provider) 30 | { 31 | g_return_val_if_fail (NEMO_IS_NAME_AND_DESC_PROVIDER (provider), NULL); 32 | g_return_val_if_fail (NEMO_NAME_AND_DESC_PROVIDER_GET_IFACE (provider)->get_name_and_desc != NULL, NULL); 33 | 34 | return NEMO_NAME_AND_DESC_PROVIDER_GET_IFACE (provider)->get_name_and_desc (provider); 35 | } 36 | 37 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-name-and-desc-provider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-name-and-desc-provider.h - Interface for Nemo extensions that 3 | * returns the extension's proper name and description for the plugin 4 | * manager only - it is not necessary for extension functionality. 5 | * 6 | */ 7 | 8 | #ifndef NEMO_NAME_AND_DESC_PROVIDER_H 9 | #define NEMO_NAME_AND_DESC_PROVIDER_H 10 | 11 | #include 12 | #include "nemo-extension-types.h" 13 | 14 | G_BEGIN_DECLS 15 | 16 | #define NEMO_TYPE_NAME_AND_DESC_PROVIDER (nemo_name_and_desc_provider_get_type ()) 17 | 18 | G_DECLARE_INTERFACE (NemoNameAndDescProvider, nemo_name_and_desc_provider, 19 | NEMO, NAME_AND_DESC_PROVIDER, 20 | GObject) 21 | 22 | typedef NemoNameAndDescProviderInterface NemoNameAndDescProviderIface; 23 | 24 | struct _NemoNameAndDescProviderInterface { 25 | GTypeInterface g_iface; 26 | 27 | GList *(*get_name_and_desc) (NemoNameAndDescProvider *provider); 28 | }; 29 | 30 | /* Interface Functions */ 31 | GList *nemo_name_and_desc_provider_get_name_and_desc (NemoNameAndDescProvider *provider); 32 | 33 | G_END_DECLS 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-property-page.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-property-page.h - Property pages exported by 3 | * NemoPropertyProvider objects. 4 | * 5 | * Copyright (C) 2003 Novell, Inc. 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Library General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This library 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. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Library General Public 18 | * License along with this library; if not, write to the Free 19 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 20 | * 21 | * Author: Dave Camp 22 | * 23 | */ 24 | 25 | #ifndef NEMO_PROPERTY_PAGE_H 26 | #define NEMO_PROPERTY_PAGE_H 27 | 28 | #include 29 | #include 30 | #include "nemo-extension-types.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | #define NEMO_TYPE_PROPERTY_PAGE nemo_property_page_get_type() 35 | 36 | G_DECLARE_FINAL_TYPE (NemoPropertyPage, nemo_property_page, NEMO, PROPERTY_PAGE, GObject) 37 | 38 | NemoPropertyPage *nemo_property_page_new (const char *name, 39 | GtkWidget *label, 40 | GtkWidget *page); 41 | 42 | /* NemoPropertyPage has the following properties: 43 | * name (string) - the identifier for the property page 44 | * label (widget) - the user-visible label of the property page 45 | * page (widget) - the property page to display 46 | */ 47 | 48 | G_END_DECLS 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /libnemo-extension/nemo-simple-button.h: -------------------------------------------------------------------------------- 1 | /* nemo-simple-button.h */ 2 | 3 | #ifndef __NEMO_SIMPLE_BUTTON_H__ 4 | #define __NEMO_SIMPLE_BUTTON_H__ 5 | 6 | #include 7 | #include 8 | #include "nemo-extension-types.h" 9 | 10 | G_BEGIN_DECLS 11 | 12 | #define NEMO_TYPE_SIMPLE_BUTTON nemo_simple_button_get_type() 13 | 14 | G_DECLARE_FINAL_TYPE (NemoSimpleButton, nemo_simple_button, NEMO, SIMPLE_BUTTON, GtkButton) 15 | 16 | NemoSimpleButton *nemo_simple_button_new (void); 17 | NemoSimpleButton *nemo_simple_button_new_from_icon_name (const gchar *icon_name, int icon_size); 18 | NemoSimpleButton *nemo_simple_button_new_from_stock (const gchar *stock_id, int icon_size); 19 | NemoSimpleButton *nemo_simple_button_new_from_file (const gchar *path, int icon_size); 20 | 21 | G_END_DECLS 22 | 23 | #endif /* __NEMO_SIMPLE_BUTTON_H__ */ 24 | -------------------------------------------------------------------------------- /libnemo-private/README: -------------------------------------------------------------------------------- 1 | README for nemo/libnemo-private 2 | 3 | This library, libnemo-private, is totally private to nemo. 4 | 5 | If you are writing a nemo component, you should not use this 6 | library or link with it. The code in here is internal to nemo 7 | and not available for public consumption. 8 | 9 | If you think that there is something interesting in this library that 10 | you would like to use in a third party component, please send mail to 11 | the nemo mailing list at: 12 | 13 | nemo-list@gnome.org 14 | -------------------------------------------------------------------------------- /libnemo-private/nemo-column-utilities.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* nemo-column-utilities.h - Utilities related to column specifications 4 | 5 | Copyright (C) 2004 Novell, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the column COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Dave Camp 23 | */ 24 | 25 | #ifndef NEMO_COLUMN_UTILITIES_H 26 | #define NEMO_COLUMN_UTILITIES_H 27 | 28 | #include 29 | #include 30 | 31 | GList *nemo_get_all_columns (void); 32 | GList *nemo_get_common_columns (void); 33 | GList *nemo_get_columns_for_file (NemoFile *file); 34 | GList *nemo_column_list_copy (GList *columns); 35 | void nemo_column_list_free (GList *columns); 36 | 37 | GList *nemo_sort_columns (GList *columns, 38 | char **column_order); 39 | 40 | 41 | #endif /* NEMO_COLUMN_UTILITIES_H */ 42 | -------------------------------------------------------------------------------- /libnemo-private/nemo-dbus-manager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-dbus-manager: nemo DBus interface 3 | * 4 | * Copyright (C) 2010, Red Hat, Inc. 5 | * 6 | * Nemo is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License as 8 | * published by the Free Software Foundation; either version 2 of the 9 | * License, or (at your option) any later version. 10 | * 11 | * Nemo 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 | * 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, Suite 500, MA 02110-1335, USA. 19 | * 20 | * Author: Cosimo Cecchi 21 | * 22 | */ 23 | 24 | #ifndef __NEMO_DBUS_MANAGER_H__ 25 | #define __NEMO_DBUS_MANAGER_H__ 26 | 27 | #include 28 | #include 29 | 30 | typedef struct _NemoDBusManager NemoDBusManager; 31 | typedef struct _NemoDBusManagerClass NemoDBusManagerClass; 32 | 33 | GType nemo_dbus_manager_get_type (void); 34 | NemoDBusManager * nemo_dbus_manager_new (void); 35 | 36 | #endif /* __NEMO_DBUS_MANAGER_H__ */ 37 | -------------------------------------------------------------------------------- /libnemo-private/nemo-default-file-icon.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | Default file icon used by the icon factory. 4 | 5 | Copyright (C) 2000 Eazel, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Author: Darin Adler 23 | */ 24 | 25 | #ifndef NEMO_DEFAULT_FILE_ICON_H 26 | #define NEMO_DEFAULT_FILE_ICON_H 27 | 28 | extern const int nemo_default_file_icon_width; 29 | extern const int nemo_default_file_icon_height; 30 | extern const unsigned char nemo_default_file_icon[]; 31 | 32 | #endif /* NEMO_DEFAULT_FILE_ICON_H */ 33 | -------------------------------------------------------------------------------- /libnemo-private/nemo-desktop-utils.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Nemo is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License as 8 | * published by the Free Software Foundation; either version 2 of the 9 | * License, or (at your option) any later version. 10 | * 11 | * Nemo 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 | * 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, Suite 500, MA 02110-1335, USA. 19 | * 20 | */ 21 | 22 | #ifndef NEMO_DESKTOP_UTILS_H 23 | #define NEMO_DESKTOP_UTILS_H 24 | 25 | #include 26 | #include 27 | 28 | G_BEGIN_DECLS 29 | 30 | void nemo_desktop_utils_get_monitor_work_rect (gint num, GdkRectangle *rect); 31 | void nemo_desktop_utils_get_monitor_geometry (gint num, GdkRectangle *rect); 32 | gint nemo_desktop_utils_get_primary_monitor (void); 33 | gint nemo_desktop_utils_get_monitor_for_widget (GtkWidget *widget); 34 | gint nemo_desktop_utils_get_num_monitors (void); 35 | gboolean nemo_desktop_utils_get_monitor_cloned (gint monitor, gint x_primary); 36 | gint nemo_desktop_utils_get_scale_factor (void); 37 | 38 | G_END_DECLS 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /libnemo-private/nemo-file-attributes.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-file-attributes.h: #defines and other file-attribute-related info 4 | 5 | Copyright (C) 2000 Eazel, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Author: Darin Adler 23 | */ 24 | 25 | #ifndef NEMO_FILE_ATTRIBUTES_H 26 | #define NEMO_FILE_ATTRIBUTES_H 27 | 28 | /* Names for NemoFile attributes. These are used when registering 29 | * interest in changes to the attributes or when waiting for them. 30 | */ 31 | 32 | typedef enum { 33 | NEMO_FILE_ATTRIBUTE_INFO = 1 << 0, /* All standard info */ 34 | NEMO_FILE_ATTRIBUTE_LINK_INFO = 1 << 1, /* info from desktop links */ 35 | NEMO_FILE_ATTRIBUTE_DEEP_COUNTS = 1 << 2, 36 | NEMO_FILE_ATTRIBUTE_DIRECTORY_ITEM_COUNT = 1 << 3, 37 | NEMO_FILE_ATTRIBUTE_DIRECTORY_ITEM_MIME_TYPES = 1 << 4, 38 | NEMO_FILE_ATTRIBUTE_TOP_LEFT_TEXT = 1 << 5, 39 | NEMO_FILE_ATTRIBUTE_LARGE_TOP_LEFT_TEXT = 1 << 6, 40 | NEMO_FILE_ATTRIBUTE_EXTENSION_INFO = 1 << 7, 41 | NEMO_FILE_ATTRIBUTE_THUMBNAIL = 1 << 8, 42 | NEMO_FILE_ATTRIBUTE_MOUNT = 1 << 9, 43 | NEMO_FILE_ATTRIBUTE_FILESYSTEM_INFO = 1 << 10, 44 | NEMO_FILE_ATTRIBUTE_FAVORITE_CHECK = 1 << 11, 45 | } NemoFileAttributes; 46 | 47 | #endif /* NEMO_FILE_ATTRIBUTES_H */ 48 | -------------------------------------------------------------------------------- /libnemo-private/nemo-file-changes-queue.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | Copyright (C) 1999, 2000, 2001 Eazel, Inc. 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (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 GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this program; if not, write to the 17 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 18 | Boston, MA 02110-1335, USA. 19 | 20 | Author: Pavel Cisler 21 | */ 22 | 23 | #ifndef NEMO_FILE_CHANGES_QUEUE_H 24 | #define NEMO_FILE_CHANGES_QUEUE_H 25 | 26 | #include 27 | #include 28 | 29 | void nemo_file_changes_queue_file_added (GFile *location); 30 | void nemo_file_changes_queue_file_changed (GFile *location); 31 | void nemo_file_changes_queue_file_removed (GFile *location); 32 | void nemo_file_changes_queue_file_moved (GFile *from, 33 | GFile *to); 34 | void nemo_file_changes_queue_schedule_position_set (GFile *location, 35 | GdkPoint point, 36 | int monitor); 37 | void nemo_file_changes_queue_schedule_position_remove (GFile *location); 38 | 39 | void nemo_file_changes_consume_changes (gboolean consume_all); 40 | 41 | 42 | #endif /* NEMO_FILE_CHANGES_QUEUE_H */ 43 | -------------------------------------------------------------------------------- /libnemo-private/nemo-file-dnd.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | /* nemo-file-drag.h - Drag & drop handling code that operated on 3 | NemoFile objects. 4 | 5 | Copyright (C) 2000 Eazel, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Pavel Cisler , 23 | */ 24 | 25 | #ifndef NEMO_FILE_DND_H 26 | #define NEMO_FILE_DND_H 27 | 28 | #include 29 | #include 30 | 31 | #define NEMO_FILE_DND_ERASE_KEYWORD "erase" 32 | 33 | gboolean nemo_drag_can_accept_item (NemoFile *drop_target_item, 34 | const char *item_uri); 35 | gboolean nemo_drag_can_accept_items (NemoFile *drop_target_item, 36 | const GList *items); 37 | gboolean nemo_drag_can_accept_info (NemoFile *drop_target_item, 38 | NemoIconDndTargetType drag_type, 39 | const GList *items); 40 | 41 | #endif /* NEMO_FILE_DND_H */ 42 | 43 | -------------------------------------------------------------------------------- /libnemo-private/nemo-file-queue.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | Copyright (C) 2001 Maciej Stachowiak 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (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 GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this program; if not, write to the 17 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 18 | Boston, MA 02110-1335, USA. 19 | 20 | Author: Maciej Stachowiak 21 | */ 22 | 23 | #ifndef NEMO_FILE_QUEUE_H 24 | #define NEMO_FILE_QUEUE_H 25 | 26 | #include 27 | 28 | typedef struct NemoFileQueue NemoFileQueue; 29 | 30 | NemoFileQueue *nemo_file_queue_new (void); 31 | void nemo_file_queue_destroy (NemoFileQueue *queue); 32 | 33 | /* Add a file to the tail of the queue, unless it's already in the queue */ 34 | void nemo_file_queue_enqueue (NemoFileQueue *queue, 35 | NemoFile *file); 36 | 37 | /* Return the file at the head of the queue after removing it from the 38 | * queue. This is dangerous unless you have another ref to the file, 39 | * since it will unref it. 40 | */ 41 | NemoFile * nemo_file_queue_dequeue (NemoFileQueue *queue); 42 | 43 | /* Remove a file from an arbitrary point in the queue in constant time. */ 44 | void nemo_file_queue_remove (NemoFileQueue *queue, 45 | NemoFile *file); 46 | 47 | /* Get the file at the head of the queue without removing or unrefing it. */ 48 | NemoFile * nemo_file_queue_head (NemoFileQueue *queue); 49 | 50 | gboolean nemo_file_queue_is_empty (NemoFileQueue *queue); 51 | 52 | #endif /* NEMO_FILE_CHANGES_QUEUE_H */ 53 | -------------------------------------------------------------------------------- /libnemo-private/nemo-icon-dnd.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* nemo-icon-dnd.h - Drag & drop handling for the icon container widget. 4 | 5 | Copyright (C) 1999, 2000 Free Software Foundation 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | The Gnome Library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Library General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | The Gnome Library 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 GNU 16 | Library General Public License for more details. 17 | 18 | You should have received a copy of the GNU Library General Public 19 | License along with the Gnome Library; see the file COPYING.LIB. If not, 20 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Authors: Ettore Perazzoli , 24 | Darin Adler , 25 | Andy Hertzfeld 26 | */ 27 | 28 | #ifndef NEMO_ICON_DND_H 29 | #define NEMO_ICON_DND_H 30 | 31 | #include 32 | #include 33 | 34 | /* DnD-related information. */ 35 | typedef struct { 36 | /* inherited drag info context */ 37 | NemoDragInfo drag_info; 38 | 39 | gboolean highlighted; 40 | 41 | /* Shadow for the icons being dragged. */ 42 | EelCanvasItem *shadow; 43 | } NemoIconDndInfo; 44 | 45 | 46 | void nemo_icon_dnd_init (NemoIconContainer *container); 47 | void nemo_icon_dnd_fini (NemoIconContainer *container); 48 | void nemo_icon_dnd_begin_drag (NemoIconContainer *container, 49 | GdkDragAction actions, 50 | gint button, 51 | GdkEventMotion *event, 52 | int start_x, 53 | int start_y); 54 | void nemo_icon_dnd_end_drag (NemoIconContainer *container); 55 | 56 | #endif /* NEMO_ICON_DND_H */ 57 | -------------------------------------------------------------------------------- /libnemo-private/nemo-lib-self-check-functions.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-lib-self-check-functions.c: Wrapper for all self check functions 4 | in Nemo proper. 5 | 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | This program is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | This program 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 GNU 16 | General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public 19 | License along with this program; if not, write to the 20 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Author: Darin Adler 24 | */ 25 | 26 | #include 27 | 28 | #if ! defined (NEMO_OMIT_SELF_CHECK) 29 | 30 | #include "nemo-lib-self-check-functions.h" 31 | 32 | void 33 | nemo_run_lib_self_checks (void) 34 | { 35 | NEMO_LIB_FOR_EACH_SELF_CHECK_FUNCTION (EEL_CALL_SELF_CHECK_FUNCTION) 36 | } 37 | 38 | #endif /* ! NEMO_OMIT_SELF_CHECK */ 39 | -------------------------------------------------------------------------------- /libnemo-private/nemo-lib-self-check-functions.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-lib-self-check-functions.h: Wrapper and prototypes for all 4 | self-check functions in libnemo. 5 | 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | This program is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | This program 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 GNU 16 | General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public 19 | License along with this program; if not, write to the 20 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Author: Darin Adler 24 | */ 25 | 26 | #include 27 | 28 | void nemo_run_lib_self_checks (void); 29 | 30 | /* Putting the prototypes for these self-check functions in each 31 | header file for the files they are defined in would make compiling 32 | the self-check framework take way too long (since one file would 33 | have to include everything). 34 | 35 | So we put the list of functions here instead. 36 | 37 | Instead of just putting prototypes here, we put this macro that 38 | can be used to do operations on the whole list of functions. 39 | */ 40 | 41 | #define NEMO_LIB_FOR_EACH_SELF_CHECK_FUNCTION(macro) \ 42 | macro (nemo_self_check_file_utilities) \ 43 | macro (nemo_self_check_file_operations) \ 44 | macro (nemo_self_check_directory) \ 45 | macro (nemo_self_check_file) \ 46 | macro (nemo_self_check_icon_container) \ 47 | /* Add new self-check functions to the list above this line. */ 48 | 49 | /* Generate prototypes for all the functions. */ 50 | NEMO_LIB_FOR_EACH_SELF_CHECK_FUNCTION (EEL_SELF_CHECK_FUNCTION_PROTOTYPE) 51 | -------------------------------------------------------------------------------- /libnemo-private/nemo-link.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-link.h: . 4 | 5 | Copyright (C) 2001 Red Hat, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Jonathan Blandford 23 | */ 24 | 25 | #ifndef NEMO_LINK_H 26 | #define NEMO_LINK_H 27 | 28 | #include 29 | 30 | gboolean nemo_link_local_create (const char *directory_uri, 31 | const char *base_name, 32 | const char *display_name, 33 | const char *image, 34 | const char *target_uri, 35 | const GdkPoint *point, 36 | int monitor, 37 | gboolean unique_filename); 38 | gboolean nemo_link_local_set_text (const char *uri, 39 | const char *text); 40 | gboolean nemo_link_local_set_icon (const char *uri, 41 | const char *icon); 42 | char * nemo_link_local_get_text (const char *uri); 43 | char * nemo_link_local_get_link_uri (const char *uri); 44 | void nemo_link_get_link_info_given_file_contents (const char *file_contents, 45 | int link_file_size, 46 | const char *file_uri, 47 | char **uri, 48 | char **name, 49 | GIcon **icon, 50 | gboolean *is_launcher, 51 | gboolean *is_foreign); 52 | 53 | #endif /* NEMO_LINK_H */ 54 | -------------------------------------------------------------------------------- /libnemo-private/nemo-monitor.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-monitor.h: file and directory change monitoring for nemo 4 | 5 | Copyright (C) 2000, 2001 Eazel, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Seth Nickell 23 | Darin Adler 24 | */ 25 | 26 | #ifndef NEMO_MONITOR_H 27 | #define NEMO_MONITOR_H 28 | 29 | #include 30 | #include 31 | 32 | typedef struct NemoMonitor NemoMonitor; 33 | 34 | gboolean nemo_monitor_active (void); 35 | NemoMonitor *nemo_monitor_directory (GFile *location); 36 | void nemo_monitor_cancel (NemoMonitor *monitor); 37 | 38 | #endif /* NEMO_MONITOR_H */ 39 | -------------------------------------------------------------------------------- /libnemo-private/nemo-places-tree-view.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | Copyright (C) 2007 Martin Wehner 4 | 5 | This program is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (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 GNU 13 | General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public 16 | License along with this program; if not, write to the 17 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 18 | Boston, MA 02110-1335, USA. 19 | */ 20 | 21 | #ifndef NEMO_PLACES_TREE_VIEW_H 22 | #define NEMO_PLACES_TREE_VIEW_H 23 | 24 | #include 25 | 26 | #define NEMO_TYPE_PLACES_TREE_VIEW nemo_places_tree_view_get_type() 27 | #define NEMO_PLACES_TREE_VIEW(obj) \ 28 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_PLACES_TREE_VIEW, NemoPlacesTreeView)) 29 | #define NEMO_PLACES_TREE_VIEW_CLASS(klass) \ 30 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_PLACES_TREE_VIEW, NemoPlacesTreeViewClass)) 31 | #define NEMO_IS_PLACES_TREE_VIEW(obj) \ 32 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_PLACES_TREE_VIEW)) 33 | #define NEMO_IS_PLACES_TREE_VIEW_CLASS(klass) \ 34 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_PLACES_TREE_VIEW)) 35 | #define NEMO_PLACES_TREE_VIEW_GET_CLASS(obj) \ 36 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_PLACES_TREE_VIEW, NemoPlacesTreeViewClass)) 37 | 38 | typedef struct _NemoPlacesTreeView NemoPlacesTreeView; 39 | typedef struct _NemoPlacesTreeViewClass NemoPlacesTreeViewClass; 40 | 41 | struct _NemoPlacesTreeView { 42 | GtkTreeView parent; 43 | }; 44 | 45 | struct _NemoPlacesTreeViewClass { 46 | GtkTreeViewClass parent_class; 47 | }; 48 | 49 | GType nemo_places_tree_view_get_type (void); 50 | GtkWidget *nemo_places_tree_view_new (void); 51 | 52 | #endif /* NEMO_PLACES_TREE_VIEW_H */ 53 | -------------------------------------------------------------------------------- /libnemo-private/nemo-recent.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ifndef __NEMO_RECENT_H__ 4 | #define __NEMO_RECENT_H__ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | void nemo_recent_add_file (NemoFile *file, 11 | GAppInfo *application); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /libnemo-private/nemo-separator-action.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | This program is free software; you can redistribute it and/or 4 | modify it under the terms of the GNU General Public License as 5 | published by the Free Software Foundation; either version 2 of the 6 | License, or (at your option) any later version. 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 GNU 11 | General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public 14 | License along with this program; if not, write to the 15 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 16 | Boston, MA 02110-1335, USA. 17 | 18 | */ 19 | 20 | #ifndef NEMO_SEPARATOR_ACTION_H 21 | #define NEMO_SEPARATOR_ACTION_H 22 | 23 | #include 24 | 25 | #define NEMO_TYPE_SEPARATOR_ACTION nemo_separator_action_get_type() 26 | #define NEMO_SEPARATOR_ACTION(obj) \ 27 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_SEPARATOR_ACTION, NemoSeparatorAction)) 28 | #define NEMO_SEPARATOR_ACTION_CLASS(klass) \ 29 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_SEPARATOR_ACTION, NemoSeparatorActionClass)) 30 | #define NEMO_IS_SEPARATOR_ACTION(obj) \ 31 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_SEPARATOR_ACTION)) 32 | #define NEMO_IS_SEPARATOR_ACTION_CLASS(klass) \ 33 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_SEPARATOR_ACTION)) 34 | #define NEMO_SEPARATOR_ACTION_GET_CLASS(obj) \ 35 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_SEPARATOR_ACTION, NemoSeparatorActionClass)) 36 | 37 | typedef struct _NemoSeparatorAction NemoSeparatorAction; 38 | typedef struct _NemoSeparatorActionClass NemoSeparatorActionClass; 39 | 40 | struct _NemoSeparatorAction { 41 | GtkAction parent; 42 | }; 43 | 44 | struct _NemoSeparatorActionClass { 45 | GtkActionClass parent_class; 46 | }; 47 | 48 | GType nemo_separator_action_get_type (void); 49 | GtkAction *nemo_separator_action_new (const gchar *name); 50 | 51 | #endif /* NEMO_SEPARATOR_ACTION_H */ 52 | -------------------------------------------------------------------------------- /libnemo-private/nemo-signaller.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Copyright (C) 1999, 2000 Eazel, Inc. 7 | * 8 | * Nemo 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 program 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 program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA 21 | * 22 | * Author: John Sullivan 23 | */ 24 | 25 | /* nemo-signaller.h: Class to manage nemo-wide signals that don't 26 | * correspond to any particular object. 27 | */ 28 | 29 | #ifndef NEMO_SIGNALLER_H 30 | #define NEMO_SIGNALLER_H 31 | 32 | #include 33 | 34 | /* NemoSignaller is a class that manages signals between 35 | disconnected Nemo code. Nemo objects connect to these signals 36 | so that other objects can cause them to be emitted later, without 37 | the connecting and emit-causing objects needing to know about each 38 | other. It seems a shame to have to invent a subclass and a special 39 | object just for this purpose. Perhaps there's a better way to do 40 | this kind of thing. 41 | */ 42 | 43 | /* Get the one and only NemoSignaller to connect with or emit signals for */ 44 | GObject *nemo_signaller_get_current (void); 45 | 46 | #endif /* NEMO_SIGNALLER_H */ 47 | -------------------------------------------------------------------------------- /libnemo-private/nemo-thumbnails.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-thumbnails.h: Thumbnail code for icon factory. 4 | 5 | Copyright (C) 2000 Eazel, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Author: Andy Hertzfeld 23 | */ 24 | 25 | #ifndef NEMO_THUMBNAILS_H 26 | #define NEMO_THUMBNAILS_H 27 | 28 | #include 29 | #include 30 | 31 | /* Cool-off period between last file modification time and thumbnail creation */ 32 | #define THUMBNAIL_CREATION_DELAY_SECS 3 33 | 34 | /* Returns NULL if there's no thumbnail yet. */ 35 | void nemo_create_thumbnail (NemoFile *file); 36 | gboolean nemo_can_thumbnail (NemoFile *file); 37 | gboolean nemo_can_thumbnail_internally (NemoFile *file); 38 | void nemo_thumbnail_frame_image (GdkPixbuf **pixbuf); 39 | void nemo_thumbnail_pad_top_and_bottom (GdkPixbuf **pixbuf, 40 | gint extra_height); 41 | /* Queue handling: */ 42 | void nemo_thumbnail_remove_from_queue (const char *file_uri); 43 | void nemo_thumbnail_prioritize (const char *file_uri); 44 | 45 | gboolean nemo_thumbnail_factory_check_status (void); 46 | 47 | #endif /* NEMO_THUMBNAILS_H */ 48 | -------------------------------------------------------------------------------- /libnemo-private/nemo-ui-utilities.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* nemo-ui-utilities.h - helper functions for GtkUIManager stuff 4 | 5 | Copyright (C) 2004 Red Hat, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Alexander Larsson 23 | */ 24 | #ifndef NEMO_UI_UTILITIES_H 25 | #define NEMO_UI_UTILITIES_H 26 | 27 | #include 28 | #include 29 | 30 | void nemo_ui_unmerge_ui (GtkUIManager *ui_manager, 31 | guint *merge_id, 32 | GtkActionGroup **action_group); 33 | void nemo_ui_prepare_merge_ui (GtkUIManager *ui_manager, 34 | const char *name, 35 | guint *merge_id, 36 | GtkActionGroup **action_group); 37 | GtkAction * nemo_action_from_menu_item (NemoMenuItem *item, 38 | GtkWidget *parent_widget); 39 | 40 | GdkPixbuf * nemo_ui_get_menu_icon (const char *icon_name, 41 | GtkWidget *parent_widget); 42 | gchar * nemo_make_action_uuid_for_path (const gchar *path); 43 | #endif /* NEMO_UI_UTILITIES_H */ 44 | -------------------------------------------------------------------------------- /libnemo-private/nemo-undo-private.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* xxx 4 | * 5 | * Copyright (C) 2000 Eazel, Inc. 6 | * 7 | * Author: Gene Z. Ragan 8 | * 9 | * This library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * This library 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 GNU 17 | * Library General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Library General Public 20 | * License along with this library; if not, write to the 21 | * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 22 | * Boston, MA 02110-1335, USA. 23 | */ 24 | 25 | #ifndef NEMO_UNDO_PRIVATE_H 26 | #define NEMO_UNDO_PRIVATE_H 27 | 28 | #include 29 | #include 30 | #include 31 | 32 | NemoUndoManager * nemo_undo_get_undo_manager (GObject *attached_object); 33 | void nemo_undo_attach_undo_manager (GObject *object, 34 | NemoUndoManager *manager); 35 | 36 | #endif /* NEMO_UNDO_PRIVATE_H */ 37 | -------------------------------------------------------------------------------- /libnemo-private/nemo-undo-signal-handlers.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* Signal handlers to enable undo in Gtk Widgets. 4 | * 5 | * Copyright (C) 2000 Eazel, Inc. 6 | * 7 | * Author: Gene Z. Ragan 8 | * 9 | * This library is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU Library General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * This library 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 GNU 17 | * Library General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU Library General Public 20 | * License along with this library; if not, write to the 21 | * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 22 | * Boston, MA 02110-1335, USA. 23 | */ 24 | 25 | #ifndef NEMO_UNDO_SIGNAL_HANDLERS_H 26 | #define NEMO_UNDO_SIGNAL_HANDLERS_H 27 | 28 | #include 29 | 30 | void nemo_undo_set_up_nemo_entry_for_undo (NemoEntry *entry); 31 | void nemo_undo_tear_down_nemo_entry_for_undo (NemoEntry *entry); 32 | void nemo_undo_set_up_editable_for_undo (GtkEditable *editable); 33 | void nemo_undo_tear_down_editable_for_undo (GtkEditable *editable); 34 | 35 | #endif /* NEMO_UNDO_SIGNAL_HANDLERS_H */ 36 | -------------------------------------------------------------------------------- /libnemo-private/nemo-vfs-directory.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-vfs-directory.h: Subclass of NemoDirectory to implement the 4 | the case of a VFS directory. 5 | 6 | Copyright (C) 1999, 2000 Eazel, Inc. 7 | 8 | This program is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | This program 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 GNU 16 | General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public 19 | License along with this program; if not, write to the 20 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Author: Darin Adler 24 | */ 25 | 26 | #ifndef NEMO_VFS_DIRECTORY_H 27 | #define NEMO_VFS_DIRECTORY_H 28 | 29 | #include 30 | 31 | #define NEMO_TYPE_VFS_DIRECTORY nemo_vfs_directory_get_type() 32 | #define NEMO_VFS_DIRECTORY(obj) \ 33 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_VFS_DIRECTORY, NemoVFSDirectory)) 34 | #define NEMO_VFS_DIRECTORY_CLASS(klass) \ 35 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_VFS_DIRECTORY, NemoVFSDirectoryClass)) 36 | #define NEMO_IS_VFS_DIRECTORY(obj) \ 37 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_VFS_DIRECTORY)) 38 | #define NEMO_IS_VFS_DIRECTORY_CLASS(klass) \ 39 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_VFS_DIRECTORY)) 40 | #define NEMO_VFS_DIRECTORY_GET_CLASS(obj) \ 41 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_VFS_DIRECTORY, NemoVFSDirectoryClass)) 42 | 43 | typedef struct NemoVFSDirectoryDetails NemoVFSDirectoryDetails; 44 | 45 | typedef struct { 46 | NemoDirectory parent_slot; 47 | } NemoVFSDirectory; 48 | 49 | typedef struct { 50 | NemoDirectoryClass parent_slot; 51 | } NemoVFSDirectoryClass; 52 | 53 | GType nemo_vfs_directory_get_type (void); 54 | 55 | #endif /* NEMO_VFS_DIRECTORY_H */ 56 | -------------------------------------------------------------------------------- /libnemo-private/nemo-vfs-file.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-vfs-file.h: Subclass of NemoFile to implement the 4 | the case of a VFS file. 5 | 6 | Copyright (C) 1999, 2000 Eazel, Inc. 7 | 8 | This program is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | This program 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 GNU 16 | General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public 19 | License along with this program; if not, write to the 20 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Author: Darin Adler 24 | */ 25 | 26 | #ifndef NEMO_VFS_FILE_H 27 | #define NEMO_VFS_FILE_H 28 | 29 | #include 30 | 31 | #define NEMO_TYPE_VFS_FILE nemo_vfs_file_get_type() 32 | #define NEMO_VFS_FILE(obj) \ 33 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_VFS_FILE, NemoVFSFile)) 34 | #define NEMO_VFS_FILE_CLASS(klass) \ 35 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_VFS_FILE, NemoVFSFileClass)) 36 | #define NEMO_IS_VFS_FILE(obj) \ 37 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_VFS_FILE)) 38 | #define NEMO_IS_VFS_FILE_CLASS(klass) \ 39 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_VFS_FILE)) 40 | #define NEMO_VFS_FILE_GET_CLASS(obj) \ 41 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_VFS_FILE, NemoVFSFileClass)) 42 | 43 | typedef struct NemoVFSFileDetails NemoVFSFileDetails; 44 | 45 | typedef struct { 46 | NemoFile parent_slot; 47 | } NemoVFSFile; 48 | 49 | typedef struct { 50 | NemoFileClass parent_slot; 51 | } NemoVFSFileClass; 52 | 53 | GType nemo_vfs_file_get_type (void); 54 | 55 | #endif /* NEMO_VFS_FILE_H */ 56 | -------------------------------------------------------------------------------- /makepot: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | data/nemo-actions/extract_action_strings data/nemo-actions 3 | itstool -o nemo.pot data/nemo.xml.in 4 | xgettext -c --join-existing --from-code=UTF-8 --keyword=_ --keyword=N_ --output=nemo.pot \ 5 | src/*.c libnemo-extension/*.c libnemo-private/*.c eel/*.c 6 | 7 | xgettext -c --join-existing -L Python data/nemo-actions/action_i18n_strings.py generate_additional_file --output=nemo.pot 8 | xgettext -c --join-existing -L Glade gresources/nemo-bookmarks-window.glade --output=nemo.pot 9 | xgettext -c --join-existing -L Glade gresources/nemo-desktop-overlay.glade --output=nemo.pot 10 | xgettext -c --join-existing -L Glade gresources/nemo-desktop-preferences.glade --output=nemo.pot 11 | xgettext -c --join-existing -L Glade gresources/nemo-file-management-properties.glade --output=nemo.pot 12 | xgettext -c --join-existing -L Glade gresources/nemo-search-bar.glade --output=nemo.pot 13 | xgettext -c --join-existing -L Glade gresources/*.ui --output=nemo.pot 14 | xgettext -c --join-existing -L Glade gresources/nemo-action-layout-editor.glade --output=nemo.pot 15 | xgettext -c --join-existing -L Python action-layout-editor/*.py --output=nemo.pot 16 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option('deprecated_warnings', type : 'boolean', value : false, 2 | description: 'Show compiler warnings about deprecated features') 3 | option('exif', type : 'boolean', value : true, 4 | description: 'EXIF parsing support (requires libexif)') 5 | option('xmp', type : 'boolean', value : true, 6 | description: 'XMP support (requires Exempi)') 7 | option('gtk_doc', type : 'boolean', value : false, 8 | description: 'Generate API reference (requires GTK-Doc)') 9 | option('selinux', type : 'boolean', value : false, 10 | description: 'SELinux support') 11 | option('empty_view', type : 'boolean', value : false, 12 | description: 'Enable empty view') 13 | option('tracker',type : 'combo', choices : ['true', 'false', 'auto'], value : 'false', 14 | description: 'Tracker support') 15 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | # List of source files that should NOT be translated. 2 | # Please keep this file sorted alphabetically. 3 | libbackground/applier.c 4 | data/nemo-autorun-software.desktop.in 5 | data/nemo-computer.desktop.in 6 | data/nemo-file-management-properties.desktop.in 7 | data/nemo-folder-handler.desktop.in 8 | data/nemo-home.desktop.in 9 | data/nemo.desktop.in 10 | data/nemo-browser.desktop.in 11 | debian 12 | -------------------------------------------------------------------------------- /po/README: -------------------------------------------------------------------------------- 1 | Translations are done on Launchpad: 2 | https://translations.launchpad.net/linuxmint/latest/+pots/nemo 3 | 4 | From Launchpad we export two sets of files: 5 | 6 | - The mo files go to files/usr/share/locale/ and eventually end up in the nemo package itself 7 | - The po files go to po/po-files/. They are not compiled into mo files (this is done by Launchpad) but are present in this archive as source for the mo files. 8 | 9 | 10 | -------------------------------------------------------------------------------- /polkit.its: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /polkit.loc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /search-helpers/README.md: -------------------------------------------------------------------------------- 1 | ### Search Helpers 2 | 3 | Nemo's file and content search utilizes a plugin-type system to allow content search for additional file types. 4 | 5 | The only requirements for a helper is the ability to extract text from a given file type and print it to stdout. A definition file provides details necessary to use the helper. 6 | 7 | ##### Example definition file (note: text/plain support is built-in to nemo, this is only to illustrate): 8 | 9 | ``` 10 | [Nemo Search Helper] 11 | TryExec=cat 12 | Exec=cat %s 13 | MimeType=text/plain; 14 | Priority=100 15 | 16 | ``` 17 | The `Nemo Search Helper` group name is mandatory. 18 | 19 | - The filename must end in `.nemo_search_helper`. 20 | - `TryExec` should be a list executables required. When the helpers are loaded, Nemo will check that the program(s) a) exist and 21 | b) are executable. If these checks fail, the helper will be skipped. If only a program name is provided, it must exist in the 22 | user's path. This can also be an absolute path. 23 | - `Exec` should provide the full command line necessary to extract the text from the file. The `%s` argument will be replaced by 24 | the file name being processed during content search. Note, uris are not supported, only paths (local files). 25 | - `MimeType`is a semicolon (`;`)-separated list of mimetypes that this search helper should be used with. It should be 26 | semicolon-terminated (even if there's only a single item). 27 | - `Priority` is a value used to break a tie when multiple helpers support the same mimetype. The higher value wins. In the 28 | event of a tie, the last helper processed is used (the order of files processed is undefined). If the `Priority` entry is missing, 29 | the value is assumed to be 100. 30 | - The `TryExec`, `Exec` and `MimeType` keys are mandatory. 31 | 32 | These definition files can be placed in `/nemo/search-helpers` where `` can be some directory in XDG_DATA_DIRS or under the user's data directory (`~/.local/share/namo/search-helpers`). The user directory is *always* processed last. 33 | 34 | ##### Debugging: 35 | If something doesn't seem to be working, you can run nemo with debugging enabled: 36 | ``` 37 | NEMO_DEBUG=Search nemo --debug 38 | ``` 39 | This will print out a bit of extra information related to searches. 40 | -------------------------------------------------------------------------------- /search-helpers/epub2text.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=unzip;html2text;nemo-epub2text; 3 | Exec=nemo-epub2text %s 4 | MimeType=application/epub+zip; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/meson.build: -------------------------------------------------------------------------------- 1 | libgsf = dependency('libgsf-1', required: true) 2 | 3 | mso_to_txt_sources = [ 4 | 'nemo-mso-to-txt.c' 5 | ] 6 | 7 | mso_to_txt = executable('nemo-mso-to-txt', 8 | mso_to_txt_sources, 9 | dependencies: [libgsf, gio, glib], 10 | install: true 11 | ) 12 | 13 | ppt_to_txt_sources = [ 14 | 'nemo-ppt-to-txt.c' 15 | ] 16 | 17 | ppt_to_txt = executable('nemo-ppt-to-txt', 18 | ppt_to_txt_sources, 19 | dependencies: [gio, glib], 20 | install: true 21 | ) 22 | 23 | install_data( 24 | ['nemo-xls-to-txt', 'nemo-odf-to-txt'], 25 | install_dir: join_paths(get_option('prefix'), get_option('bindir')), 26 | install_mode: 'rwxr-xr-x' 27 | ) 28 | 29 | install_data( 30 | 'epub2text.nemo_search_helper', 31 | 'mso.nemo_search_helper', 32 | 'mso-ppt.nemo_search_helper', 33 | 'mso-xls.nemo_search_helper', 34 | 'odf.nemo_search_helper', 35 | install_dir: join_paths(nemoDataPath, 'search-helpers') 36 | ) 37 | 38 | install_data( 39 | 'nemo-epub2text', 40 | install_dir: get_option('bindir') 41 | ) 42 | 43 | subdir('third-party') -------------------------------------------------------------------------------- /search-helpers/mso-ppt.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=nemo-ppt-to-txt;libreoffice; 3 | Exec=nemo-ppt-to-txt %s 4 | MimeType=application/vnd.ms-powerpoint; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/mso-xls.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=nemo-xls-to-txt; 3 | Exec=nemo-xls-to-txt %s 4 | MimeType=application/vnd.ms-excel; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/mso.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=nemo-mso-to-txt; 3 | Exec=nemo-mso-to-txt %s 4 | MimeType=application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.presentationml.presentation; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/nemo-epub2text: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Requires unzip package 4 | # ================================== 5 | # 1. Get a list of all xhtml/html/htm files, exclude titlepage.xhtml (if present) 6 | # It appears that the zipped files _never_ contain problem characters such as spaces... 7 | # 2. Extract the html files and convert to text (UTF-8 output is available). 8 | # ================================== 9 | 10 | # 1. Get a list of xhtml/html/htm files [using unzip's weird regular expression] - and exclude any named titlepage/toc/copyright 11 | files=$(unzip -Z1 "$1" \*.*htm* | egrep -v 'titlepage.*|toc.*|copyright.*') 12 | 13 | # 2. Uncompress each of the files and process with html2text. 14 | unzip -cqq "$1" $files | html2text -o - 15 | -------------------------------------------------------------------------------- /search-helpers/nemo-odf-to-txt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import sys 4 | import zipfile 5 | from pathlib import Path 6 | from html.parser import HTMLParser 7 | 8 | class Parser(HTMLParser): 9 | parsed = [] 10 | get_next_data = False 11 | concat_next_data = False 12 | 13 | def handle_starttag(self, tag, attrs): 14 | if tag.startswith("text") or tag.startswith("meta"): 15 | if tag == "text:s": 16 | self.concat_next_data = True 17 | self.get_next_data = True 18 | 19 | def handle_endtag(self, tag): 20 | pass 21 | 22 | def handle_data(self, data): 23 | if self.get_next_data: 24 | if data != "\n": 25 | if self.concat_next_data: 26 | self.parsed[-1] += " " + data 27 | self.concat_next_data = False 28 | else: 29 | self.parsed.append(data.strip()) 30 | self.get_next_data = False 31 | 32 | path = sys.argv[1] 33 | 34 | parser = Parser() 35 | zipfile = zipfile.ZipFile(path) 36 | files = zipfile.infolist() 37 | 38 | for f in files: 39 | if f.filename in ("meta.xml", "content.xml"): 40 | contents = zipfile.read(f.filename).decode() 41 | parser.feed(contents) 42 | if len(parser.parsed) == 0: 43 | continue 44 | 45 | out_str = ", ".join(parser.parsed) 46 | print(f"{Path(f.filename).stem}: {out_str}\n", flush=True, file=sys.stdout) 47 | parser.parsed = [] 48 | exit(0) 49 | -------------------------------------------------------------------------------- /search-helpers/nemo-xls-to-txt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | import sys 3 | import xlrd 4 | import locale 5 | 6 | path = sys.argv[1] 7 | 8 | try: 9 | book = xlrd.open_workbook(path) 10 | except Exception as e: 11 | print("Can't read '%s': %s" % (path, e)) 12 | exit(1) 13 | 14 | date_format = locale.nl_langinfo(locale.D_FMT) 15 | 16 | for sheet in book.sheets(): 17 | for row in sheet.get_rows(): 18 | had_content = False 19 | for cell in row: 20 | if cell.ctype == xlrd.XL_CELL_TEXT: 21 | print(cell.value, end=" ") 22 | had_content = True 23 | elif cell.ctype == xlrd.XL_CELL_DATE: 24 | dt = xlrd.xldate_as_datetime(cell.value, 0) 25 | print(dt.strftime(date_format), end=" ") 26 | had_content = True 27 | 28 | if had_content: 29 | # end of row newline (but only if the row wasn't blank) 30 | print("") 31 | exit(0) -------------------------------------------------------------------------------- /search-helpers/odf.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=nemo-odf-to-txt; 3 | Exec=nemo-odf-to-txt %s 4 | MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.graphics; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/exif.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=exif; 3 | Exec=exif -m %s 4 | MimeType=image/jpeg;image/png;image/gif;image/bmp;image/tiff; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/id3.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=id3; 3 | Exec=id3 -l %s 4 | MimeType=audio/mpeg; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/meson.build: -------------------------------------------------------------------------------- 1 | helpers = [ 2 | 'untex.nemo_search_helper', 3 | 'exif.nemo_search_helper', 4 | 'id3.nemo_search_helper', 5 | 'mso-doc.nemo_search_helper', 6 | 'pdf2txt.nemo_search_helper', 7 | 'pdftotext.nemo_search_helper', 8 | 'ps2ascii.nemo_search_helper' 9 | ] 10 | 11 | install_data( 12 | helpers, 13 | install_dir: join_paths(nemoDataPath, 'search-helpers') 14 | ) 15 | 16 | -------------------------------------------------------------------------------- /search-helpers/third-party/mso-doc.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=catdoc; 3 | Exec=catdoc %s 4 | MimeType=application/msword; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/pdf2txt.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=pdf2txt; 3 | Exec=pdf2txt %s 4 | MimeType=application/pdf; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/pdftotext.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=pdftotext; 3 | Exec=pdftotext %s - 4 | MimeType=application/pdf; 5 | Priority=200 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/ps2ascii.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=ps2ascii; 3 | Exec=ps2ascii %s 4 | MimeType=application/ps; 5 | Priority=100; 6 | -------------------------------------------------------------------------------- /search-helpers/third-party/untex.nemo_search_helper: -------------------------------------------------------------------------------- 1 | [Nemo Search Helper] 2 | TryExec=untex; 3 | Exec=untex %s 4 | MimeType=text/x-tex; 5 | Priority=100 6 | -------------------------------------------------------------------------------- /src/check-nemo: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ./nemo --check --g-fatal-warnings 3 | -------------------------------------------------------------------------------- /src/nemo-action-config-widget.h: -------------------------------------------------------------------------------- 1 | /* nemo-action-config-widget.h */ 2 | 3 | /* A widget that displays a list of actions to enable or disable. 4 | * This is usually part of a NemoPluginManagerWidget 5 | */ 6 | 7 | #ifndef __NEMO_ACTION_CONFIG_WIDGET_H__ 8 | #define __NEMO_ACTION_CONFIG_WIDGET_H__ 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | #include "nemo-config-base-widget.h" 15 | 16 | G_BEGIN_DECLS 17 | 18 | #define NEMO_TYPE_ACTION_CONFIG_WIDGET (nemo_action_config_widget_get_type()) 19 | 20 | #define NEMO_ACTION_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_ACTION_CONFIG_WIDGET, NemoActionConfigWidget)) 21 | #define NEMO_ACTION_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_ACTION_CONFIG_WIDGET, NemoActionConfigWidgetClass)) 22 | #define NEMO_IS_ACTION_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_ACTION_CONFIG_WIDGET)) 23 | #define NEMO_IS_ACTION_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_ACTION_CONFIG_WIDGET)) 24 | #define NEMO_ACTION_CONFIG_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_ACTION_CONFIG_WIDGET, NemoActionConfigWidgetClass)) 25 | 26 | typedef struct _NemoActionConfigWidget NemoActionConfigWidget; 27 | typedef struct _NemoActionConfigWidgetClass NemoActionConfigWidgetClass; 28 | 29 | struct _NemoActionConfigWidget 30 | { 31 | NemoConfigBaseWidget parent; 32 | 33 | GList *actions; 34 | 35 | GList *dir_monitors; 36 | gulong bl_handler; 37 | }; 38 | 39 | struct _NemoActionConfigWidgetClass 40 | { 41 | NemoConfigBaseWidgetClass parent_class; 42 | }; 43 | 44 | GType nemo_action_config_widget_get_type (void); 45 | 46 | GtkWidget *nemo_action_config_widget_new (void); 47 | 48 | G_END_DECLS 49 | 50 | #endif /* __NEMO_ACTION_CONFIG_WIDGET_H__ */ 51 | -------------------------------------------------------------------------------- /src/nemo-bookmarks-window.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Copyright (C) 1999, 2000 Eazel, Inc. 7 | * 8 | * Nemo is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License as 10 | * published by the Free Software Foundation; either version 2 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * Nemo 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 GNU 16 | * General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 21 | * 22 | * Authors: John Sullivan 23 | */ 24 | 25 | /* nemo-bookmarks-window.h - interface for bookmark-editing window. 26 | */ 27 | 28 | #ifndef NEMO_BOOKMARKS_WINDOW_H 29 | #define NEMO_BOOKMARKS_WINDOW_H 30 | 31 | #include 32 | #include "nemo-bookmark-list.h" 33 | 34 | GtkWindow *create_bookmarks_window (NemoBookmarkList *bookmarks, 35 | GObject *undo_manager_source); 36 | void nemo_bookmarks_window_save_geometry (GtkWindow *window); 37 | void edit_bookmarks_dialog_set_signals (GObject *undo_manager_source); 38 | 39 | #endif /* NEMO_BOOKMARKS_WINDOW_H */ 40 | -------------------------------------------------------------------------------- /src/nemo-desktop-item-properties.h: -------------------------------------------------------------------------------- 1 | /* 2 | * fm-ditem-page.h - A property page for desktop items 3 | * 4 | * Copyright (C) 2004 James Willcox 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 | * Authors: James Willcox 21 | * 22 | */ 23 | 24 | #ifndef NEMO_DESKTOP_ITEM_PROPERTIES_H 25 | #define NEMO_DESKTOP_ITEM_PROPERTIES_H 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | G_BEGIN_DECLS 32 | 33 | /* This is a mis-nomer. Launcher editables initially were displayed on separate 34 | * a property notebook page, which implemented the NemoPropertyPageProvider 35 | * interface. 36 | * 37 | * Nowadays, they are displayed on the "Basic" page, so just the setup 38 | * routines are left. 39 | */ 40 | 41 | GtkWidget *nemo_desktop_item_properties_make_box (GtkSizeGroup *label_size_group, 42 | GList *files); 43 | gboolean nemo_desktop_item_properties_should_show (GList *files); 44 | 45 | G_END_DECLS 46 | 47 | #endif /* NEMO_DESKTOP_ITEM_PROPERTIES_H */ 48 | -------------------------------------------------------------------------------- /src/nemo-desktop-overlay.h: -------------------------------------------------------------------------------- 1 | #ifndef _NEMO_DESKTOP_OVERLAY_H_ 2 | #define _NEMO_DESKTOP_OVERLAY_H_ 3 | 4 | #include 5 | #include 6 | 7 | G_BEGIN_DECLS 8 | 9 | #define NEMO_TYPE_DESKTOP_OVERLAY (nemo_desktop_overlay_get_type ()) 10 | 11 | G_DECLARE_FINAL_TYPE (NemoDesktopOverlay, nemo_desktop_overlay, NEMO, DESKTOP_OVERLAY, GObject) 12 | 13 | NemoDesktopOverlay *nemo_desktop_overlay_new (void); 14 | void nemo_desktop_overlay_show (NemoDesktopOverlay *overlay, 15 | gint monitor); 16 | void nemo_desktop_overlay_update_in_place (NemoDesktopOverlay *overlay); 17 | G_END_DECLS 18 | 19 | #endif /* _NEMO_DESKTOP_OVERLAY_H_ */ -------------------------------------------------------------------------------- /src/nemo-empty-view.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* nemo-empty-view.h - interface for empty view of directory. 4 | 5 | Copyright (C) 2006 Free Software Foundation, Inc. 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Christian Neumair 23 | */ 24 | 25 | #ifndef NEMO_EMPTY_VIEW_H 26 | #define NEMO_EMPTY_VIEW_H 27 | 28 | #include "nemo-view.h" 29 | 30 | #define NEMO_TYPE_EMPTY_VIEW nemo_empty_view_get_type() 31 | #define NEMO_EMPTY_VIEW(obj) \ 32 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_EMPTY_VIEW, NemoEmptyView)) 33 | #define NEMO_EMPTY_VIEW_CLASS(klass) \ 34 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_EMPTY_VIEW, NemoEmptyViewClass)) 35 | #define NEMO_IS_EMPTY_VIEW(obj) \ 36 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_EMPTY_VIEW)) 37 | #define NEMO_IS_EMPTY_VIEW_CLASS(klass) \ 38 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_EMPTY_VIEW)) 39 | #define NEMO_EMPTY_VIEW_GET_CLASS(obj) \ 40 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_EMPTY_VIEW, NemoEmptyViewClass)) 41 | 42 | #define NEMO_EMPTY_VIEW_ID "OAFIID:Nemo_File_Manager_Empty_View" 43 | 44 | typedef struct NemoEmptyViewDetails NemoEmptyViewDetails; 45 | 46 | typedef struct { 47 | NemoView parent_instance; 48 | NemoEmptyViewDetails *details; 49 | } NemoEmptyView; 50 | 51 | typedef struct { 52 | NemoViewClass parent_class; 53 | } NemoEmptyViewClass; 54 | 55 | GType nemo_empty_view_get_type (void); 56 | void nemo_empty_view_register (void); 57 | 58 | #endif /* NEMO_EMPTY_VIEW_H */ 59 | -------------------------------------------------------------------------------- /src/nemo-error-reporting.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* fm-error-reporting.h - interface for file manager functions that report 4 | errors to the user. 5 | 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | The Gnome Library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Library General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | The Gnome Library 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 GNU 16 | Library General Public License for more details. 17 | 18 | You should have received a copy of the GNU Library General Public 19 | License along with the Gnome Library; see the file COPYING.LIB. If not, 20 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Authors: John Sullivan 24 | */ 25 | 26 | #ifndef NEMO_ERROR_REPORTING_H 27 | #define NEMO_ERROR_REPORTING_H 28 | 29 | #include 30 | #include 31 | 32 | void nemo_report_error_loading_directory (NemoFile *file, 33 | GError *error, 34 | GtkWindow *parent_window); 35 | void nemo_report_error_renaming_file (NemoFile *file, 36 | const char *new_name, 37 | GError *error, 38 | GtkWindow *parent_window); 39 | void nemo_report_error_setting_permissions (NemoFile *file, 40 | GError *error, 41 | GtkWindow *parent_window); 42 | void nemo_report_error_setting_owner (NemoFile *file, 43 | GError *error, 44 | GtkWindow *parent_window); 45 | void nemo_report_error_setting_group (NemoFile *file, 46 | GError *error, 47 | GtkWindow *parent_window); 48 | 49 | /* FIXME bugzilla.gnome.org 42394: Should this file be renamed or should this function be moved? */ 50 | void nemo_rename_file (NemoFile *file, 51 | const char *new_name, 52 | NemoFileOperationCallback callback, 53 | gpointer callback_data); 54 | 55 | #endif /* NEMO_ERROR_REPORTING_H */ 56 | -------------------------------------------------------------------------------- /src/nemo-extension-config-widget.h: -------------------------------------------------------------------------------- 1 | /* nemo-extension-config-widget.h */ 2 | 3 | /* A widget that displays a list of extensions to enable or disable. 4 | * This is usually part of a NemoPluginManagerWidget 5 | */ 6 | 7 | #ifndef __NEMO_EXTENSION_CONFIG_WIDGET_H__ 8 | #define __NEMO_EXTENSION_CONFIG_WIDGET_H__ 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | #include "nemo-config-base-widget.h" 15 | 16 | G_BEGIN_DECLS 17 | 18 | #define NEMO_TYPE_EXTENSION_CONFIG_WIDGET (nemo_extension_config_widget_get_type()) 19 | 20 | #define NEMO_EXTENSION_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_EXTENSION_CONFIG_WIDGET, NemoExtensionConfigWidget)) 21 | #define NEMO_EXTENSION_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_EXTENSION_CONFIG_WIDGET, NemoExtensionConfigWidgetClass)) 22 | #define NEMO_IS_EXTENSION_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_EXTENSION_CONFIG_WIDGET)) 23 | #define NEMO_IS_EXTENSION_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_EXTENSION_CONFIG_WIDGET)) 24 | #define NEMO_EXTENSION_CONFIG_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_EXTENSION_CONFIG_WIDGET, NemoExtensionConfigWidgetClass)) 25 | 26 | typedef struct _NemoExtensionConfigWidget NemoExtensionConfigWidget; 27 | typedef struct _NemoExtensionConfigWidgetClass NemoExtensionConfigWidgetClass; 28 | 29 | struct _NemoExtensionConfigWidget 30 | { 31 | NemoConfigBaseWidget parent; 32 | GtkWidget *restart_button; 33 | 34 | GList *current_extensions; 35 | GList *initial_extension_ids; 36 | 37 | gulong bl_handler; 38 | }; 39 | 40 | struct _NemoExtensionConfigWidgetClass 41 | { 42 | NemoConfigBaseWidgetClass parent_class; 43 | }; 44 | 45 | GType nemo_extension_config_widget_get_type (void); 46 | 47 | GtkWidget *nemo_extension_config_widget_new (void); 48 | 49 | G_END_DECLS 50 | 51 | #endif /* __NEMO_EXTENSION_CONFIG_WIDGET_H__ */ 52 | -------------------------------------------------------------------------------- /src/nemo-file-management-properties.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* nemo-file-management-properties.h - Function to show the nemo preference dialog. 4 | 5 | Copyright (C) 2002 Jan Arne Petersen 6 | 7 | The Gnome Library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (at your option) any later version. 11 | 12 | The Gnome Library 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. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public 18 | License along with the Gnome Library; see the file COPYING.LIB. If not, 19 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Authors: Jan Arne Petersen 23 | */ 24 | 25 | #ifndef NEMO_FILE_MANAGEMENT_PROPERTIES_H 26 | #define NEMO_FILE_MANAGEMENT_PROPERTIES_H 27 | 28 | #include 29 | #include 30 | 31 | G_BEGIN_DECLS 32 | 33 | void nemo_file_management_properties_dialog_show (GtkWindow *window, const gchar *initial_page); 34 | 35 | G_END_DECLS 36 | 37 | #endif /* NEMO_FILE_MANAGEMENT_PROPERTIES_H */ 38 | -------------------------------------------------------------------------------- /src/nemo-freedesktop-dbus.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-freedesktop-dbus: Implementation for the org.freedesktop DBus file-management interfaces 3 | * 4 | * Nemo 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 | * Nemo is distributed in the hope that it will be useful, 10 | * but 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, Suite 500, MA 02110-1335, USA. 17 | * 18 | * Authors: Akshay Gupta 19 | * Federico Mena Quintero 20 | */ 21 | 22 | 23 | #ifndef __NEMO_FREEDESKTOP_DBUS_H__ 24 | #define __NEMO_FREEDESKTOP_DBUS_H__ 25 | 26 | #include 27 | 28 | #define NEMO_TYPE_FREEDESKTOP_DBUS nemo_freedesktop_dbus_get_type() 29 | #define NEMO_FREEDESKTOP_DBUS(obj) \ 30 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_FREEDESKTOP_DBUS, NemoFreedesktopDBus)) 31 | #define NEMO_FREEDESKTOP_DBUS_CLASS(klass) \ 32 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_FREEDESKTOP_DBUS, NemoFreedesktopDBusClass)) 33 | #define NEMO_IS_FREEDESKTOP_DBUS(obj) \ 34 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_FREEDESKTOP_DBUS)) 35 | #define NEMO_IS_FREEDESKTOP_DBUS_CLASS(klass) \ 36 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_FREEDESKTOP_DBUS)) 37 | #define NEMO_FREEDESKTOP_DBUS_GET_CLASS(obj) \ 38 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_FREEDESKTOP_DBUS, NemoFreedesktopDBusClass)) 39 | 40 | typedef struct _NemoFreedesktopDBus NemoFreedesktopDBus; 41 | typedef struct _NemoFreedesktopDBusClass NemoFreedesktopDBusClass; 42 | 43 | GType nemo_freedesktop_dbus_get_type (void); 44 | NemoFreedesktopDBus * nemo_freedesktop_dbus_new (void); 45 | 46 | void nemo_freedesktop_dbus_set_open_locations (NemoFreedesktopDBus *fdb, const gchar **locations); 47 | 48 | #endif /* __NEMO_FREEDESKTOP_DBUS_H__ */ 49 | -------------------------------------------------------------------------------- /src/nemo-list-view-private.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* fm-list-view-private.h - Private functions for both the list and search list 4 | view to share 5 | 6 | Copyright (C) 2000 Eazel, Inc. 7 | 8 | The Gnome Library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Library General Public License as 10 | published by the Free Software Foundation; either version 2 of the 11 | License, or (at your option) any later version. 12 | 13 | The Gnome Library 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 GNU 16 | Library General Public License for more details. 17 | 18 | You should have received a copy of the GNU Library General Public 19 | License along with the Gnome Library; see the file COPYING.LIB. If not, 20 | write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | Boston, MA 02110-1335, USA. 22 | 23 | Authors: Rebecca Schulman 24 | 25 | */ 26 | 27 | struct FMListViewColumn { 28 | const char *attribute; 29 | const char *title; 30 | NemoFileSortType sort_criterion; 31 | int minimum_width, default_width, maximum_width; 32 | gboolean right_justified; 33 | }; 34 | 35 | void fm_list_view_column_set (FMListViewColumn *column, 36 | const char *attribute, 37 | const char *title, 38 | NemoFileSortType sort_criterion, 39 | int minimum_width, 40 | int default_width, 41 | int maximum_width, 42 | gboolean right_justified); 43 | -------------------------------------------------------------------------------- /src/nemo-places-sidebar.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation; either version 2 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This library 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. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 20 | * 21 | * Author : Mr Jamie McCracken (jamiemcc at blueyonder dot co dot uk) 22 | * 23 | */ 24 | #ifndef _NEMO_PLACES_SIDEBAR_H 25 | #define _NEMO_PLACES_SIDEBAR_H 26 | 27 | #include "nemo-window.h" 28 | 29 | #include 30 | 31 | #define NEMO_PLACES_SIDEBAR_ID "places" 32 | 33 | #define NEMO_TYPE_PLACES_SIDEBAR nemo_places_sidebar_get_type() 34 | #define NEMO_PLACES_SIDEBAR(obj) \ 35 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_PLACES_SIDEBAR, NemoPlacesSidebar)) 36 | #define NEMO_PLACES_SIDEBAR_CLASS(klass) \ 37 | (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_PLACES_SIDEBAR, NemoPlacesSidebarClass)) 38 | #define NEMO_IS_PLACES_SIDEBAR(obj) \ 39 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_PLACES_SIDEBAR)) 40 | #define NEMO_IS_PLACES_SIDEBAR_CLASS(klass) \ 41 | (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_PLACES_SIDEBAR)) 42 | #define NEMO_PLACES_SIDEBAR_GET_CLASS(obj) \ 43 | (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_PLACES_SIDEBAR, NemoPlacesSidebarClass)) 44 | 45 | 46 | GType nemo_places_sidebar_get_type (void); 47 | GtkWidget * nemo_places_sidebar_new (NemoWindow *window); 48 | 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /src/nemo-plugin-manager.c: -------------------------------------------------------------------------------- 1 | /* nemo-plugin-manager.c */ 2 | 3 | /* A GtkWidget that can be inserted into a UI that provides a simple interface for 4 | * managing the loading of extensions, actions and scripts 5 | */ 6 | 7 | #include 8 | #include "nemo-plugin-manager.h" 9 | #include "nemo-action-config-widget.h" 10 | #include "nemo-script-config-widget.h" 11 | #include "nemo-extension-config-widget.h" 12 | #include 13 | 14 | struct _NemoPluginManager 15 | { 16 | GtkBin parent_instance; 17 | }; 18 | 19 | G_DEFINE_TYPE (NemoPluginManager, nemo_plugin_manager, GTK_TYPE_BIN); 20 | 21 | static void 22 | nemo_plugin_manager_class_init (NemoPluginManagerClass *klass) 23 | { 24 | } 25 | 26 | static void 27 | nemo_plugin_manager_init (NemoPluginManager *self) 28 | { 29 | GtkWidget *widget, *grid; 30 | 31 | grid = gtk_grid_new (); 32 | 33 | gtk_widget_set_margin_left (grid, 10); 34 | gtk_widget_set_margin_right (grid, 10); 35 | gtk_widget_set_margin_top (grid, 10); 36 | gtk_widget_set_margin_bottom (grid, 10); 37 | gtk_grid_set_row_spacing (GTK_GRID (grid), 10); 38 | gtk_grid_set_column_spacing (GTK_GRID (grid), 10); 39 | gtk_grid_set_row_homogeneous (GTK_GRID (grid), TRUE); 40 | gtk_grid_set_column_homogeneous (GTK_GRID (grid), TRUE); 41 | 42 | widget = nemo_action_config_widget_new (); 43 | gtk_grid_attach (GTK_GRID (grid), widget, 0, 0, 1, 1); 44 | 45 | widget = nemo_script_config_widget_new (); 46 | gtk_grid_attach (GTK_GRID (grid), widget, 1, 0, 1, 1); 47 | 48 | widget = nemo_extension_config_widget_new (); 49 | gtk_grid_attach (GTK_GRID (grid), widget, 0, 1, 2, 1); 50 | 51 | gtk_container_add (GTK_CONTAINER (self), grid); 52 | 53 | gtk_widget_show_all (GTK_WIDGET (self)); 54 | } 55 | 56 | NemoPluginManager * 57 | nemo_plugin_manager_new (void) 58 | { 59 | return g_object_new (NEMO_TYPE_PLUGIN_MANAGER, NULL); 60 | } 61 | 62 | -------------------------------------------------------------------------------- /src/nemo-plugin-manager.h: -------------------------------------------------------------------------------- 1 | /* nemo-plugin-manager.h */ 2 | 3 | /* A GtkWidget that can be inserted into a UI that provides a simple interface for 4 | * managing the loading of extensions, actions and scripts 5 | */ 6 | 7 | #ifndef __NEMO_PLUGIN_MANAGER_H__ 8 | #define __NEMO_PLUGIN_MANAGER_H__ 9 | 10 | #include 11 | #include 12 | 13 | G_BEGIN_DECLS 14 | 15 | #define NEMO_TYPE_PLUGIN_MANAGER (nemo_plugin_manager_get_type()) 16 | 17 | G_DECLARE_FINAL_TYPE (NemoPluginManager, nemo_plugin_manager, NEMO, PLUGIN_MANAGER, GtkBin) 18 | 19 | NemoPluginManager *nemo_plugin_manager_new (void); 20 | 21 | G_END_DECLS 22 | 23 | #endif /* __NEMO_PLUGIN_MANAGER_H__ */ 24 | -------------------------------------------------------------------------------- /src/nemo-query-editor.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | /* 3 | * Copyright (C) 2005 Red Hat, Inc. 4 | * 5 | * Nemo is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU General Public License as 7 | * published by the Free Software Foundation; either version 2 of the 8 | * License, or (at your option) any later version. 9 | * 10 | * Nemo 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 GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public 16 | * License along with this program; see the file COPYING. If not, 17 | * write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 18 | * Boston, MA 02110-1335, USA. 19 | * 20 | * Author: Alexander Larsson 21 | * 22 | */ 23 | 24 | #ifndef NEMO_QUERY_EDITOR_H 25 | #define NEMO_QUERY_EDITOR_H 26 | 27 | #include 28 | 29 | #include 30 | 31 | G_BEGIN_DECLS 32 | 33 | #define NEMO_TYPE_QUERY_EDITOR (nemo_query_editor_get_type ()) 34 | 35 | G_DECLARE_FINAL_TYPE (NemoQueryEditor, nemo_query_editor, NEMO, QUERY_EDITOR, GtkBox) 36 | 37 | GtkWidget* nemo_query_editor_new (void); 38 | 39 | NemoQuery *nemo_query_editor_get_query (NemoQueryEditor *editor); 40 | void nemo_query_editor_set_query (NemoQueryEditor *editor, 41 | NemoQuery *query); 42 | GFile *nemo_query_editor_get_location (NemoQueryEditor *editor); 43 | void nemo_query_editor_set_location (NemoQueryEditor *editor, 44 | GFile *location); 45 | void nemo_query_editor_set_active (NemoQueryEditor *editor, 46 | gchar *base_uri, 47 | gboolean active); 48 | gboolean nemo_query_editor_get_active (NemoQueryEditor *editor); 49 | const gchar *nemo_query_editor_get_base_uri (NemoQueryEditor *editor); 50 | 51 | G_END_DECLS 52 | 53 | #endif /* NEMO_QUERY_EDITOR_H */ 54 | -------------------------------------------------------------------------------- /src/nemo-script-config-widget.h: -------------------------------------------------------------------------------- 1 | /* nemo-script-config-widget.h */ 2 | 3 | /* A widget that displays a list of scripts to enable or disable. 4 | * This is usually part of a NemoPluginManagerWidget 5 | */ 6 | 7 | #ifndef __NEMO_SCRIPT_CONFIG_WIDGET_H__ 8 | #define __NEMO_SCRIPT_CONFIG_WIDGET_H__ 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | #include "nemo-config-base-widget.h" 15 | 16 | G_BEGIN_DECLS 17 | 18 | #define NEMO_TYPE_SCRIPT_CONFIG_WIDGET (nemo_script_config_widget_get_type()) 19 | 20 | #define NEMO_SCRIPT_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_SCRIPT_CONFIG_WIDGET, NemoScriptConfigWidget)) 21 | #define NEMO_SCRIPT_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_SCRIPT_CONFIG_WIDGET, NemoScriptConfigWidgetClass)) 22 | #define NEMO_IS_SCRIPT_CONFIG_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_SCRIPT_CONFIG_WIDGET)) 23 | #define NEMO_IS_SCRIPT_CONFIG_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_SCRIPT_CONFIG_WIDGET)) 24 | #define NEMO_SCRIPT_CONFIG_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_SCRIPT_CONFIG_WIDGET, NemoScriptConfigWidgetClass)) 25 | 26 | typedef struct _NemoScriptConfigWidget NemoScriptConfigWidget; 27 | typedef struct _NemoScriptConfigWidgetClass NemoScriptConfigWidgetClass; 28 | 29 | struct _NemoScriptConfigWidget 30 | { 31 | NemoConfigBaseWidget parent; 32 | 33 | GList *scripts; 34 | 35 | GList *dir_monitors; 36 | gulong bl_handler; 37 | }; 38 | 39 | struct _NemoScriptConfigWidgetClass 40 | { 41 | NemoConfigBaseWidgetClass parent_class; 42 | }; 43 | 44 | GType nemo_script_config_widget_get_type (void); 45 | 46 | GtkWidget *nemo_script_config_widget_new (void); 47 | 48 | G_END_DECLS 49 | 50 | #endif /* __NEMO_SCRIPT_CONFIG_WIDGET_H__ */ 51 | -------------------------------------------------------------------------------- /src/nemo-self-check-functions.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Copyright (C) 1999, 2000 Eazel, Inc. 7 | * 8 | * Nemo is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License as 10 | * published by the Free Software Foundation; either version 2 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * Nemo 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 GNU 16 | * General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 21 | * 22 | * Author: Darin Adler 23 | */ 24 | 25 | /* nemo-self-check-functions.c: Wrapper for all self check functions 26 | * in Nemo proper. 27 | */ 28 | 29 | #include 30 | 31 | #if ! defined (NEMO_OMIT_SELF_CHECK) 32 | 33 | #include "nemo-self-check-functions.h" 34 | 35 | void nemo_run_self_checks(void) 36 | { 37 | NEMO_FOR_EACH_SELF_CHECK_FUNCTION (NEMO_CALL_SELF_CHECK_FUNCTION) 38 | } 39 | 40 | #endif /* ! NEMO_OMIT_SELF_CHECK */ 41 | -------------------------------------------------------------------------------- /src/nemo-self-check-functions.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Copyright (C) 1999, 2000 Eazel, Inc. 7 | * 8 | * Nemo is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License as 10 | * published by the Free Software Foundation; either version 2 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * Nemo 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 GNU 16 | * General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 21 | * 22 | * Author: Darin Adler 23 | */ 24 | 25 | /* nemo-self-check-functions.h: Wrapper and prototypes for all self 26 | * check functions in Nemo proper. 27 | */ 28 | 29 | 30 | void nemo_run_self_checks (void); 31 | 32 | /* Putting the prototypes for these self-check functions in each 33 | header file for the files they are defined in would make compiling 34 | the self-check framework take way too long (since one file would 35 | have to include everything). 36 | 37 | So we put the list of functions here instead. 38 | 39 | Instead of just putting prototypes here, we put this macro that 40 | can be used to do operations on the whole list of functions. 41 | */ 42 | 43 | #define NEMO_FOR_EACH_SELF_CHECK_FUNCTION(macro) \ 44 | /* Add new self-check functions to the list above this line. */ 45 | 46 | /* Generate prototypes for all the functions. */ 47 | NEMO_FOR_EACH_SELF_CHECK_FUNCTION (NEMO_SELF_CHECK_FUNCTION_PROTOTYPE) 48 | -------------------------------------------------------------------------------- /src/nemo-thumbnail-problem-bar.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 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 Street - Suite 500, Boston, MA 02110-1335, USA. 16 | * 17 | */ 18 | 19 | #ifndef __NEMO_THUMBNAIL_PROBLEM_BAR_H 20 | #define __NEMO_THUMBNAIL_PROBLEM_BAR_H 21 | 22 | #include "nemo-view.h" 23 | 24 | #include 25 | 26 | G_BEGIN_DECLS 27 | 28 | #define NEMO_TYPE_THUMBNAIL_PROBLEM_BAR (nemo_thumbnail_problem_bar_get_type ()) 29 | #define NEMO_THUMBNAIL_PROBLEM_BAR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_THUMBNAIL_PROBLEM_BAR, NemoThumbnailProblemBar)) 30 | #define NEMO_THUMBNAIL_PROBLEM_BAR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NEMO_TYPE_THUMBNAIL_PROBLEM_BAR, NemoThumbnailProblemBarClass)) 31 | #define NEMO_IS_THUMBNAIL_PROBLEM_BAR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_THUMBNAIL_PROBLEM_BAR)) 32 | #define NEMO_IS_THUMBNAIL_PROBLEM_BAR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_TYPE_THUMBNAIL_PROBLEM_BAR)) 33 | #define NEMO_THUMBNAIL_PROBLEM_BAR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_TYPE_THUMBNAIL_PROBLEM_BAR, NemoThumbnailProblemBarClass)) 34 | 35 | typedef struct NemoThumbnailProblemBarPrivate NemoThumbnailProblemBarPrivate; 36 | 37 | typedef struct 38 | { 39 | GtkInfoBar parent; 40 | 41 | NemoThumbnailProblemBarPrivate *priv; 42 | } NemoThumbnailProblemBar; 43 | 44 | typedef struct 45 | { 46 | GtkInfoBarClass parent_class; 47 | } NemoThumbnailProblemBarClass; 48 | 49 | GType nemo_thumbnail_problem_bar_get_type (void) G_GNUC_CONST; 50 | GtkWidget *nemo_thumbnail_problem_bar_new (NemoView *view); 51 | 52 | G_END_DECLS 53 | 54 | #endif /* __NEMO_THUMBNAIL_PROBLEM_BAR_H */ 55 | -------------------------------------------------------------------------------- /src/nemo-trash-bar.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 | /* 3 | * Copyright (C) 2006 Paolo Borelli 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 | * Authors: Paolo Borelli 20 | * 21 | */ 22 | 23 | #ifndef __NEMO_TRASH_BAR_H 24 | #define __NEMO_TRASH_BAR_H 25 | 26 | #include "nemo-view.h" 27 | 28 | #include 29 | 30 | G_BEGIN_DECLS 31 | 32 | #define NEMO_TYPE_TRASH_BAR (nemo_trash_bar_get_type ()) 33 | #define NEMO_TRASH_BAR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_TYPE_TRASH_BAR, NemoTrashBar)) 34 | #define NEMO_TRASH_BAR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NEMO_TYPE_TRASH_BAR, NemoTrashBarClass)) 35 | #define NEMO_IS_TRASH_BAR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_TYPE_TRASH_BAR)) 36 | #define NEMO_IS_TRASH_BAR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_TYPE_TRASH_BAR)) 37 | #define NEMO_TRASH_BAR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_TYPE_TRASH_BAR, NemoTrashBarClass)) 38 | 39 | typedef struct NemoTrashBarPrivate NemoTrashBarPrivate; 40 | 41 | typedef struct 42 | { 43 | GtkInfoBar parent; 44 | 45 | NemoTrashBarPrivate *priv; 46 | } NemoTrashBar; 47 | 48 | typedef struct 49 | { 50 | GtkInfoBarClass parent_class; 51 | } NemoTrashBarClass; 52 | 53 | GType nemo_trash_bar_get_type (void) G_GNUC_CONST; 54 | 55 | GtkWidget *nemo_trash_bar_new (NemoView *view); 56 | 57 | 58 | G_END_DECLS 59 | 60 | #endif /* __GS_TRASH_BAR_H */ 61 | -------------------------------------------------------------------------------- /src/nemo-tree-sidebar.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Copyright (C) 2000, 2001 Eazel, Inc 5 | * Copyright (C) 2002 Anders Carlsson 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License as 9 | * published by the Free Software Foundation; either version 2 of the 10 | * License, or (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. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public 18 | * License along with this program; if not, write to the 19 | * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | * Boston, MA 02110-1335, USA. 21 | * 22 | * Authors: Maciej Stachowiak 23 | * Anders Carlsson 24 | */ 25 | 26 | /* fm-tree-view.h - tree view. */ 27 | 28 | 29 | #ifndef FM_TREE_VIEW_H 30 | #define FM_TREE_VIEW_H 31 | 32 | #include 33 | 34 | #include "nemo-window.h" 35 | 36 | #define FM_TYPE_TREE_VIEW fm_tree_view_get_type() 37 | #define FM_TREE_VIEW(obj) \ 38 | (G_TYPE_CHECK_INSTANCE_CAST ((obj), FM_TYPE_TREE_VIEW, FMTreeView)) 39 | #define FM_TREE_VIEW_CLASS(klass) \ 40 | (G_TYPE_CHECK_CLASS_CAST ((klass), FM_TYPE_TREE_VIEW, FMTreeViewClass)) 41 | #define FM_IS_TREE_VIEW(obj) \ 42 | (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FM_TYPE_TREE_VIEW)) 43 | #define FM_IS_TREE_VIEW_CLASS(klass) \ 44 | (G_TYPE_CHECK_CLASS_TYPE ((klass), FM_TYPE_TREE_VIEW)) 45 | #define FM_TREE_VIEW_GET_CLASS(obj) \ 46 | (G_TYPE_INSTANCE_GET_CLASS ((obj), FM_TYPE_TREE_VIEW, FMTreeViewClass)) 47 | 48 | #define TREE_SIDEBAR_ID "tree" 49 | 50 | typedef struct FMTreeViewDetails FMTreeViewDetails; 51 | 52 | typedef struct { 53 | GtkScrolledWindow parent; 54 | 55 | FMTreeViewDetails *details; 56 | } FMTreeView; 57 | 58 | typedef struct { 59 | GtkScrolledWindowClass parent_class; 60 | } FMTreeViewClass; 61 | 62 | GType fm_tree_view_get_type (void); 63 | 64 | GtkWidget *nemo_tree_sidebar_new (NemoWindow *window); 65 | 66 | #endif /* FM_TREE_VIEW_H */ 67 | -------------------------------------------------------------------------------- /src/nemo-window-bookmarks.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Copyright (C) 2005 Red Hat, Inc. 7 | * 8 | * Nemo is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License as 10 | * published by the Free Software Foundation; either version 2 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * Nemo 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 GNU 16 | * General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 21 | * 22 | * Author: Alexander Larsson 23 | */ 24 | 25 | #ifndef NEMO_WINDOW_BOOKMARKS_H 26 | #define NEMO_WINDOW_BOOKMARKS_H 27 | 28 | #include 29 | #include 30 | #include "nemo-bookmark-list.h" 31 | 32 | void nemo_bookmarks_exiting (void); 33 | void nemo_window_add_bookmark_for_current_location (NemoWindow *window); 34 | void nemo_window_edit_bookmarks (NemoWindow *window); 35 | void nemo_window_initialize_bookmarks_menu (NemoWindow *window); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/nemo-window-manage-views.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 | 3 | /* 4 | * Nemo 5 | * 6 | * Copyright (C) 1999, 2000 Red Hat, Inc. 7 | * Copyright (C) 1999, 2000, 2001 Eazel, Inc. 8 | * 9 | * Nemo is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU General Public 11 | * License as published by the Free Software Foundation; either 12 | * version 2 of the License, or (at your option) any later version. 13 | * 14 | * Nemo 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 GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public 20 | * License along with this program; if not, write to the Free 21 | * Software Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 22 | * 23 | * Author: Darin Adler 24 | * 25 | */ 26 | 27 | #ifndef NEMO_WINDOW_MANAGE_VIEWS_H 28 | #define NEMO_WINDOW_MANAGE_VIEWS_H 29 | 30 | #include "nemo-window.h" 31 | #include "nemo-window-pane.h" 32 | 33 | void nemo_window_manage_views_close_slot (NemoWindowSlot *slot); 34 | 35 | 36 | /* NemoWindowInfo implementation: */ 37 | void nemo_window_report_location_change (NemoWindow *window); 38 | 39 | #endif /* NEMO_WINDOW_MANAGE_VIEWS_H */ 40 | -------------------------------------------------------------------------------- /src/nemo-window-menus.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- 2 | 3 | nemo-window-pane.h: Nemo window pane 4 | 5 | Copyright (C) 2008 Free Software Foundation, Inc. 6 | 7 | This program is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the 10 | License, or (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. See the GNU 15 | General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public 18 | License along with this program; if not, write to the 19 | Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 20 | Boston, MA 02110-1335, USA. 21 | 22 | Author: Holger Berndt 23 | */ 24 | 25 | #ifndef NEMO_WINDOW_MENUS_H 26 | #define NEMO_WINDOW_MENUS_H 27 | 28 | #include "nemo-window.h" 29 | #include "nemo-window-pane.h" 30 | #include 31 | 32 | guint action_for_view_id (const char *view_id ); 33 | void toolbar_set_view_button (guint action_id, NemoWindow *window); 34 | void toolbar_set_show_thumbnails_button (gboolean value, NemoWindowPane *pane); 35 | void menu_set_show_thumbnails_action (gboolean value, NemoWindow *window); 36 | void toolbar_set_create_folder_button (gboolean value, NemoWindowPane *pane); 37 | void menu_set_view_selection (guint action_id, 38 | NemoWindow *window); 39 | #endif /* NEMO_WINDOW_PANE_H */ 40 | -------------------------------------------------------------------------------- /src/nemo-window-slot-dnd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * nemo-window-slot-dnd.c - Handle DnD for widgets acting as 3 | * NemoWindowSlot proxies 4 | * 5 | * Copyright (C) 2000, 2001 Eazel, Inc. 6 | * Copyright (C) 2010, Red Hat, Inc. 7 | * 8 | * The Gnome Library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public License as 10 | * published by the Free Software Foundation; either version 2 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * The Gnome Library 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 GNU 16 | * Library General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with the Gnome Library; see the file COPYING.LIB. If not, 20 | * write to the Free Software Foundation, Inc., 51 Franklin Street - Suite 500, 21 | * Boston, MA 02110-1335, USA. 22 | * 23 | * Authors: Pavel Cisler , 24 | * Ettore Perazzoli 25 | */ 26 | 27 | #ifndef __NEMO_WINDOW_SLOT_DND_H__ 28 | #define __NEMO_WINDOW_SLOT_DND_H__ 29 | 30 | #include 31 | #include 32 | 33 | #include 34 | 35 | #include "nemo-window-slot.h" 36 | 37 | void nemo_drag_slot_proxy_init (GtkWidget *widget, 38 | NemoFile *target_file, 39 | NemoWindowSlot *target_slot); 40 | 41 | #endif /* __NEMO_WINDOW_SLOT_DND_H__ */ 42 | -------------------------------------------------------------------------------- /src/nemo-window-types.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ 2 | 3 | /* 4 | * nemo-window-types: typedefs for window-related types. 5 | * 6 | * Copyright (C) 1999, 2000, 2010 Red Hat, Inc. 7 | * Copyright (C) 1999, 2000, 2001 Eazel, Inc. 8 | * 9 | * Nemo is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU General Public License as 11 | * published by the Free Software Foundation; either version 2 of the 12 | * License, or (at your option) any later version. 13 | * 14 | * Nemo 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 GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Suite 500, MA 02110-1335, USA. 22 | * 23 | * Authors: Elliot Lee 24 | * Darin Adler 25 | * 26 | */ 27 | 28 | #ifndef __NEMO_WINDOW_TYPES_H__ 29 | #define __NEMO_WINDOW_TYPES_H__ 30 | 31 | typedef struct _NemoWindowPane NemoWindowPane; 32 | typedef struct _NemoWindowPaneClass NemoWindowPaneClass; 33 | 34 | typedef struct NemoWindow NemoWindow; 35 | 36 | typedef struct NemoWindowSlot NemoWindowSlot; 37 | typedef struct NemoWindowSlotClass NemoWindowSlotClass; 38 | 39 | typedef void (* NemoWindowGoToCallback) (NemoWindow *window, 40 | GError *error, 41 | gpointer user_data); 42 | 43 | typedef enum { 44 | NEMO_WINDOW_OPEN_FLAG_CLOSE_BEHIND = 1<<0, 45 | NEMO_WINDOW_OPEN_FLAG_NEW_WINDOW = 1<<1, 46 | NEMO_WINDOW_OPEN_FLAG_NEW_TAB = 1<<2, 47 | NEMO_WINDOW_OPEN_FLAG_SEARCH = 1<<3, 48 | NEMO_WINDOW_OPEN_FLAG_MOUNT = 1<<4 49 | } NemoWindowOpenFlags; 50 | 51 | #endif /* __NEMO_WINDOW_TYPES_H__ */ 52 | -------------------------------------------------------------------------------- /test/meson.build: -------------------------------------------------------------------------------- 1 | 2 | test('Search Engine test', 3 | executable('test-nemo-search-engine', 4 | [ 'test-nemo-search-engine.c' ], 5 | include_directories: [ rootInclude, ], 6 | dependencies: [ gtk, nemo_private ], 7 | ), 8 | args: [] 9 | ) 10 | 11 | test('Directory Async test', 12 | executable('test-nemo-directory-async', 13 | [ 'test-nemo-directory-async.c' ], 14 | include_directories: [ rootInclude, ], 15 | dependencies: [ gtk, nemo_private ], 16 | ), 17 | args: [] 18 | ) 19 | 20 | test('Copy test', 21 | executable('test-nemo-copy', 22 | [ 'test-copy.c', 'test.c' ], 23 | include_directories: [ rootInclude, ], 24 | dependencies: [ gtk, nemo_private ], 25 | c_args: nemo_definitions, 26 | ), 27 | args: [] 28 | ) 29 | -------------------------------------------------------------------------------- /test/test-eel-editable-label.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 | 3 | #include 4 | 5 | #include 6 | 7 | #include 8 | 9 | 10 | static void 11 | quit (GtkWidget *widget, gpointer data) 12 | { 13 | gtk_main_quit (); 14 | } 15 | 16 | int 17 | main (int argc, char* argv[]) 18 | { 19 | GtkWidget *window; 20 | GtkWidget *label; 21 | GtkWidget *vbox; 22 | 23 | gtk_init (&argc, &argv); 24 | 25 | window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 26 | g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (quit), NULL); 27 | 28 | vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); 29 | 30 | gtk_container_add (GTK_CONTAINER (window), vbox); 31 | 32 | label = eel_editable_label_new ("Centered dsau dsfgsdfgoydsfiugy oiusdyfg iouysdf goiuys dfioguy siodufgy iusdyfgiu ydsf giusydf gouiysdfgoiuysdfg oiudyfsg Label"); 33 | 34 | gtk_widget_set_size_request (label, 200, -1); 35 | eel_editable_label_set_line_wrap (EEL_EDITABLE_LABEL (label), TRUE); 36 | 37 | gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 4); 38 | 39 | label = eel_editable_label_new ("Left aligned label"); 40 | 41 | gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); 42 | 43 | gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 4); 44 | 45 | label = eel_editable_label_new ("Right aligned label"); 46 | 47 | gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); 48 | 49 | gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 4); 50 | 51 | gtk_window_set_default_size (GTK_WINDOW (window), 300, 300); 52 | 53 | gtk_widget_show_all (window); 54 | 55 | gtk_main (); 56 | 57 | return 0; 58 | } 59 | -------------------------------------------------------------------------------- /test/test-nemo-search-engine.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | static void 5 | hits_added_cb (NemoSearchEngine *engine, GSList *hits) 6 | { 7 | g_print ("hits added\n"); 8 | while (hits) { 9 | g_print (" - %s\n", (char *)hits->data); 10 | hits = hits->next; 11 | } 12 | } 13 | 14 | static void 15 | hits_subtracted_cb (NemoSearchEngine *engine, GSList *hits) 16 | { 17 | g_print ("hits subtracted\n"); 18 | while (hits) { 19 | g_print (" - %s\n", (char *)hits->data); 20 | hits = hits->next; 21 | } 22 | } 23 | 24 | static void 25 | finished_cb (NemoSearchEngine *engine) 26 | { 27 | g_print ("finished!\n"); 28 | // gtk_main_quit (); 29 | } 30 | 31 | int 32 | main (int argc, char* argv[]) 33 | { 34 | NemoSearchEngine *engine; 35 | NemoQuery *query; 36 | 37 | gtk_init (&argc, &argv); 38 | 39 | engine = nemo_search_engine_new (); 40 | g_signal_connect (engine, "hits-added", 41 | G_CALLBACK (hits_added_cb), NULL); 42 | g_signal_connect (engine, "hits-subtracted", 43 | G_CALLBACK (hits_subtracted_cb), NULL); 44 | g_signal_connect (engine, "finished", 45 | G_CALLBACK (finished_cb), NULL); 46 | 47 | query = nemo_query_new (); 48 | nemo_query_set_file_pattern (query, "richard hult"); 49 | nemo_search_engine_set_query (engine, query); 50 | g_object_unref (query); 51 | 52 | nemo_search_engine_start (engine); 53 | 54 | gtk_main (); 55 | return 0; 56 | } 57 | -------------------------------------------------------------------------------- /test/test.h: -------------------------------------------------------------------------------- 1 | #ifndef TEST_H 2 | #define TEST_H 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | void test_init (int *argc, 12 | char ***argv); 13 | int test_quit (int exit_code); 14 | void test_delete_event (GtkWidget *widget, 15 | GdkEvent *event, 16 | gpointer callback_data); 17 | GtkWidget *test_window_new (const char *title, 18 | guint border_width); 19 | void test_gtk_widget_set_background_image (GtkWidget *widget, 20 | const char *image_name); 21 | void test_gtk_widget_set_background_color (GtkWidget *widget, 22 | const char *color_spec); 23 | GdkPixbuf *test_pixbuf_new_named (const char *name, 24 | float scale); 25 | GtkWidget *test_label_new (const char *text, 26 | gboolean with_background, 27 | int num_sizes_larger); 28 | void test_pixbuf_draw_rectangle_tiled (GdkPixbuf *pixbuf, 29 | const char *tile_name, 30 | int x0, 31 | int y0, 32 | int x1, 33 | int y1, 34 | int opacity); 35 | void test_window_set_title_with_pid (GtkWindow *window, 36 | const char *title); 37 | 38 | #endif /* TEST_H */ 39 | -------------------------------------------------------------------------------- /utils/gvfs-info.nemo_action: -------------------------------------------------------------------------------- 1 | [Nemo Action] 2 | 3 | Active=true 4 | Name=Report GVFS info on %f 5 | Comment=Send the results of gvfs-info on %f to stdout 6 | Exec=gvfs-info %F 7 | Icon-Name=info 8 | Selection=s 9 | Extensions=any; 10 | EscapeSpaces=true 11 | --------------------------------------------------------------------------------