summaryrefslogtreecommitdiff
path: root/src/caja-application.c
AgeCommit message (Collapse)AuthorFilesLines
2016-12-04Rename labels: follow theme if available, sane defaultlukefromdc1-0/+15
Fixes https://github.com/mate-desktop/caja/issues/688 *Split caja.css. Much of it can load with GTK_STYLE_PROVIDER_PRIORITY_THEME to allow themes that support Caja to set their own style. CSS required for the desktop background to show and to keep the white text suitable for most backgrounds needs GTK_STYLE_PROVIDER_PRIORITY_APPLICATION so it is loaded separately from new file caja-desktop.css *Move all css items that must not be overridden by themes (most of them are for the desktop) to caja-desktop.css and keep those that are only needed when themes do not set them at all in caja.css
2016-11-28Fix restart loop when started without icons on the desktoplukefromdc1-1/+6
Fix for https://github.com/mate-desktop/caja/issues/686 Also checked in XFCE to make sure unkillable caja process did not return Note that the combination of no icons on the desktop with exit on last window will still trigger a restart loop just as it always has
2016-11-22move to GTK+3 (>= 3.14), drop libunique, GTK+2 code, and --with-gtk build ↵lukefromdc1-734/+19
option *Remove GTK_VERSION_CHECK (3, 0, 0) and libunique selectors *Remove GTK2 and libunique specific code. *Leaves selector for specific GTK3 versions. *Remove #DEFINES for vbox/hbox previously required for GTK2 compatability *Keep vbox in caja-spatial-window.c, it is necessary for the desktop to work *spatial-window vbox issue at https://github.com/mate-desktop/caja/issues/591
2016-11-11application: correct description of --force-desktop optionmonsta1-1/+1
2016-11-10application: remove unused functionmonsta1-57/+0
same as done upstream: https://git.gnome.org/browse/nautilus/commit/?id=41da60c3a7156e504f7cf89cea87be49ef75a89c it's not used after 7008129b5a16ceceafc3dd5868a8317b35561768
2016-11-08remove convert metadatalukefromdc1-93/+2
Apply https://git.gnome.org/browse/nautilus/commit/?id=87d24047f674ca941e2691602da2501945a82330
2016-10-23libunique builds: enable eject notificationslukefromdc1-2/+5
We no longer need to use any GtkApplication features for this so enable it in libunique builds too. Tested with and without libunique in GTK 3.22
2016-10-23Refactor notification code to remove duplicate functionlukefromdc1-28/+0
The desktop icon eject code required a function in libcaja-private so we no longer need it in caja-application.c
2016-10-22GtkApplication: Notify when ejected volumes safe to unpluglukefromdc1-2/+34
Notify users when an external drive is still writing data on attempt to eject, and again when drive is safe to unmount. Notifications behave as they do in Nemo when ejecting/unmounting a flash drive. Tested with GTK 3.22 and a known slow flash drive. This is in GtkApplication builds only, code is from Nemo. FIXME: build system does not limit libnotify dependency to GtkApplication builds and is rather improvised. Adding libnotify to CORE_MODULES via configure.ac did not work, and using Nemo's changes put -lnotify into CORE rather than ALL libs and that caused build failures on failure to link.
2016-10-22GtkApplication: fix "caja 3.0" messagelukefromdc1-1/+1
This text was borrowed from Nautilus 3.0 commits used in GtkApplication port, where all Nautilus references were changed to Caja
2016-10-14GTK2: Use emanuele-f 's patch for build failure, fix build w/o libuniquelukefromdc1-40/+40
Apply https://github.com/mate-desktop/caja/pull/658/commits/4b36a91af42d8efe0f594a95d28ab8448fd73b31 then fix the selectors in source files to use the boolean selectors for libunique
2016-10-14Fix missed selector change for separating GTK3 and libunique build optionslukefromdc1-0/+2
One selector was not updated in caja-location-bar.c to follow use or nonuse of libunique in GTK3 builds. Fixing this revealed need for a 3-way selector in one place in caja-application.c
2016-10-09GtkApplication: Disable session management when root/not in MATElukefromdc1-10/+0
Limit session management to non-root sessions within MATE to stop restart loops in root sessions and inablity to kill off Caja in non-mate sessions such as XFCE. Also remove the autostarted hold-in previously used to stop restart loops. egg_sm_client_set_mode only works when called before the main loop starts, thus it cannot be used in GtkApplication startup functions or otherwise later in the program. Note that this commit restores the Caja 3.16 and earlier restart loop in normal mate sessions if a user disables icons on the desktop, then sets exit_with_last_window. The combination is the default for root/not in mate sessions though, so without the ability to set "no restart" later than the start of the main loop, session management outside of MATE and in root sessions has to be disabled.
2016-10-08GTK3: port libunique ->GtkApplication as build time optionlukefromdc1-99/+994
Add --disable-libunique configuration option for GTK3 builds. This builds a port from libunique to GtkApplication. keep GTK2 builds unchanged Caja can now be build with GTK2 and libunique, GTK3 and libunique, or GTK3 without libunique using GtkApplication instead GtkApplication port Based on cherrypicked nautilus commits from https://github.com/GNOME/nautilus/commit/a8481ee4bd8d34e792d63598fa5efb47736f9de4 main: adapt to GtkApplication changes through https://github.com/GNOME/nautilus/commit/c3382e0415d51082545f277c380d37be160e8d2d application: move nautilus_application_new() to its own function GTK3/GtkApplication builds: add --force-desktop option This is useful for other DE's All: StartupNotify=false in .desktop files, as caja never connects to notification daemons and in GtkApplication builds this causes busy spinning curors
2016-04-20GTK+-3 theming: add a CSS file for caja, and initialize it at startupraveit651-0/+29
inspired by: https://git.gnome.org/browse/nautilus/commit/?id=dad5d12
2016-02-01fix several build warningsmonsta1-0/+1
2016-01-26oops... add some includes back (got implicit declaration warnings)monsta1-0/+2
2016-01-26remove some unused/unneeded stuffmonsta1-6/+0
2016-01-26use g_strcmp0 instead of strcmpmonsta1-8/+8
2015-11-15fix g_object_unref callMonsta1-1/+5
it wasn't properly unref'ed and caused a runtime warning
2015-09-10When opening the first window, don't restore the position of the last closed ↵Clement Lefebvre1-23/+1
window. It's confusing to users (the last closed window is irrelevant within one session with multiple windows open) and it can lead to really bad issues which users consider bugs (why is my first window behaving differently than other windows? why is my first window appearing in the corner of my screen? why when I open caja for the first time my window doesn't appear on the monitor my mouse presently is? etc..)
2015-09-04Switch to org.gnome.SessionManagerClement Lefebvre1-24/+19
2015-04-07Fix g_bus_unwatch_name assertiontarakbumba1-2/+6
Guard the g_bus_unwatch_name() call to only run when we actually have set a watcher to the screensaver.
2015-04-07Fix for https://github.com/mate-desktop/caja/issues/398tarakbumba1-4/+228
On the Shmoocon at 2011 there was a presentation by Jon Larimer demonstrating how to abuse vulnerabilities and bugs, or even just creating socially or security compromising thumbnails in mounting and thumbnailing, which happens on automounting USB drives. This is a particular issue when this happens on a locked box where the attacker doesn't otherwise have access to the user account: http://www.net-security.org/secworld.php?id=10544 Disable automounting if the MATE screen saver is currently locked. See also https://bugzilla.gnome.org/show_bug.cgi?id=642020 This commit is merely based on : https://git.gnome.org/browse/nautilus/commit/?h=gnome-2-32&id=b7262fa945ef1ea936c15f0d248ad7a024d97dca
2015-01-13drop support for GLib < 2.36Monsta1-2/+0
Closes https://github.com/mate-desktop/caja/pull/372
2014-12-29Revert "dbus-manager: add a skeleton of NautilusDBusManager"infirit1-5/+0
This reverts commit 08bc0644ebc869ff1db320cc2bdfc4a471a6f9ac.
2014-12-16dbus-manager: add a skeleton of NautilusDBusManagerinfirit1-0/+5
2014-10-27implementation of extension interface and status management (gsoc2014)Alexander van der Meij1-2/+2
2014-10-05Use g_get_user_config_dir instead of harcoding to $HOME/.configinfirit1-1/+1
2014-03-19Remove ConsoleKit usageStefano Karapetsas1-159/+0
Closes https://github.com/mate-desktop/caja/issues/125 Closes https://github.com/mate-desktop/caja/issues/226
2014-03-18Possible solution for x-caja-desktop issueStefano Karapetsas1-3/+11
2013-07-24Update for mate-desktop changesStefano Karapetsas1-1/+1
2013-02-23Add support for freedesktop.org File Manager DBus InterfaceStefano Karapetsas1-0/+36
http://www.freedesktop.org/wiki/Specifications/file-manager-interface Most of code is adapted from Nautilus: http://git.gnome.org/browse/nautilus/tree/src/nautilus-freedesktop-dbus.c Closes https://github.com/mate-desktop/mate-file-manager/issues/3
2012-12-22[all] silence warnings from GCC 4.6Jasmine Hassan1-5/+0
GCC 4.6 introduced a new warning about variables declared and initialized, but not really used in the function body. Remove all of these occurrences to build cleanly. http://git.gnome.org/browse/nautilus/commit/?id=d4230de8667764e02dbb966b5d806ff78ced2fd5
2012-12-03[global-prefs|application] use MATE global 'show-desktop-icons' settingJasmine Hassan1-3/+6
instead of a local-to-caja setting 'show-desktop' This key would indicate that file managers (by default Caja, but applies to others like Thunar or ROX) should handle desktop, i.e. draw a background and place icons there. Otherwise (when false), mate-settings-daemon will take over drawing desktop background. This is different from 'draw-background', which is a separate option used only for drawing background without icons (by mate-settings-daemon). To Caja, 'show-desktop-icons' implies 'draw-background', and so if set to false, Caja won't (needlessly) draw the desktop. However, if the user uses the "Background & Emblems dialog" to drop an image-pattern/color/reset on the desktop, Caja will again draw the desktop. For reference: https://bugzilla.gnome.org/show_bug.cgi?id=632225
2012-11-23[src] fix some incompatible pointer type warningsJasmine Hassan1-1/+5
including a silly mistake in caja-window where destroy function's return type was accidently ommitted during the addition of gtk version checks.
2012-11-23[all] include src/glibcompat.h & use g_list_free_full() where neededJasmine Hassan1-7/+5
Also fixes a double-free regression in lc-p/caja-query from 7a42b9b0
2012-11-16[all] use g_list_free() and g_strcmp0 instead of eel functionsJasmine Hassan1-1/+2
Was: general: use g_list_free_full() instead of eel functions http://git.gnome.org/browse/nautilus/commit/?id=5e669515fd7f760382e6b7aa1449734a35a2d7f4 . Instead of g_list_free_full(), we use g_list_foreach and g_list_free() to avoid unnecessary glib dependency bump to 2.28
2012-11-16[src] don't use GtkObject (GTK3)Jasmine Hassan1-1/+5
the ::destroy signal of GtkObject has only been moved to GtkWidget in GTK3 (after GtkObject removal): http://developer.gnome.org/gtk3/3.0/ch25s02.html So we use conditionals in this case, to keep it working with GTK2. A tad similar: http://git.gnome.org/browse/nautilus/commit/?id=cc6cb51e827c0b15d4ef09f12d37b9f331ddcef8
2012-11-16[application] change the way spatial windows are createdJasmine Hassan1-105/+69
Use a _get() function + the standard caja_window_go_to() instead of using _present(). The new functions in caja-window-manage-views are smart enough to take care of re-using an existent window. http://git.gnome.org/browse/nautilus/commit/?id=d070d631545aac9114bc271481da603587c07c7c
2012-09-06remove old undo codeStefano Karapetsas1-6/+0
2012-09-05convert window-state to gsettingsStefano Karapetsas1-4/+4
2012-09-05convert always-use-browser to gsettingsStefano Karapetsas1-3/+3
2012-09-05start migration to gsettingsStefano Karapetsas1-13/+10
2012-08-12Fixed incorrect fsf addresses. Closes #28.Steve Zesch1-1/+1
2011-12-01moving from https://github.com/perberos/mate-desktop-environmentPerberos1-0/+2338