summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-01-19Wl bgleaks fixes (#1763)Luke from DC1-13/+30
* Wayland-background-dialog: fix memory leaks * Wayland-background-dialog: check that the image is valid before using it
2024-01-17wayland-background-dialog: fix two issues found by cppchecklukefromdc1-3/+2
*Reduce the scope of the preview box *Do not read the same value from gsettings before reading it from the color style combobox
2024-01-17wayland-background-dialog: ensure style provider is added only oncelukefromdc1-3/+3
2024-01-17eel-background: fix logic error in x11/wayland detectionlukefromdc1-1/+1
2024-01-17wayland-background-dialog: Preview images at original aspect ratiolukefromdc1-1/+1
2024-01-17wayland-background-dialog: fix memory leakslukefromdc2-87/+128
2024-01-17wayland background dialog: fix build warninglukefromdc1-4/+0
2024-01-17Make wayland background dialog more intuitivelukefromdc1-6/+6
Move image and colors labels, filebutton to left side of dialog
2024-01-17Manage desktop backgrounds when running in waylandlukefromdc7-12/+494
*Draw the background on the desktop window, using the same code as on navigation windows to bypass the no-root-window issue. *Works from caja's "Change Desktop Background" menu item, from caja-extensions "set as wallpaper" and with changing the background in dconf-editor. *All background options available in x11 supported in wayland, UI is new for wayland *Apply changes immediately, keep the dialog open until closed by user *Let users see changes in realtime while keeping the dialog open *Preview both colors and pictures *Add ability to apply changes from either combobox including using any image saved from when dialog was opened *Add tooltips to the buttons, filepicker, and comboboxes
2024-01-01wayland desktop: suppress spatial window warninglukefromdc1-1/+12
*When under wayland, silence "caja_spatial_window_show: assertion 'location != NULL' failed" *as the startup sequence is not the same with wlroots and the location isn't ready yet *Using gtk_widget_show instead of gtk_widget_realize in caja-desktop-window.c generates this warning
2023-12-01Do not show "Organize Desktop by Name" when desktop icons are lockedlukefromdc1-0/+6
*When icon positions are locked, do not show "Organize Desktop by Name" in the desktop context menu
2023-11-25fix building with libxml 2.12.0raveit651-0/+1
2023-08-31tx: update resourcesraveit651-495/+455
2023-08-24release 1.27.2v1.27.2raveit652-1/+5
2023-08-24fix gfile sort and symlink warnings w glib2.76 or laterlukefromdc2-3/+4
*Use code borrowed from Nemo
2023-08-23release 1.27.1v1.27.1raveit652-3/+23
2023-08-23tx: pull with transifexraveit65118-474/+663
2023-07-08wayland: initial support for showing the desktopLuke from DC9-93/+271
* Wayland: Support rendering the desktop *Wayland support is optional via the --enable-wayland option * eel-editable-label-c: remove unused variable This was leftover from earlier code compatable only with x11 * Fix gtk-layer-shell-0 version check, improve error message when Wayland requested but not found
2023-07-04ensure all of the desktop is usable in x11lukefromdc1-32/+50
*revert x11 icon position handling to the older and well tested code *use the newer code only in wayland where all the screen can already be used
2023-06-29Replace deprecated code from xrandr fixlukefromdc1-2/+3
*In x11 we can anchor the desktop size to the root window instead of the screen or (possibly multiple)monitors
2023-06-29caja-desktop-window: Fix the xrandr erroryangxiaojuan1-5/+2
fix https://github.com/mate-desktop/caja/issues/1069
2023-05-25caja-icon-container.c: Set a transient parent on the interactivelukefromdc1-9/+7
search popup This gets mis-handled in wayland as a standalone window and is treated as such (like getting tiled next to the main caja window). Ported over from Nemo
2023-05-25Initial wayland supportlukefromdc10-90/+111
2023-05-13caja-file: fix future informal date bugStefan Pöschel1-4/+4
If informal date format is used, for future dates the today time format has been used by mistake, instead of the general time format.
2023-05-07caja-file: fix yesterday/today informal date bugStefan Pöschel1-2/+8
If informal date format is used, the yesterday/today ranges of 48/24 hours apply to the end of the current day, not to the current instant. Fixes a regression introduced by 476f56a25be636970b336d525a7766b6d1eb3fff. Fixes #1621.
2022-12-23directory: Include hidden files in properties windowWes1-5/+0
based on https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/821/diffs
2022-12-23Fix handling of invalid x-special/mate-icon-list dropsColomban Wendling1-1/+1
`p` actually could never be `0` (because of the NULL check on the `memchr()` call), but the intended behavior is `*p == '\0'`: the containing condition checks for either a truncated data (`*p == '\0'`) or no geometry information (`*p == '\n'`). I replaced the check to be `*p != '\n'` instead of `*p == '\0'` to make this more robust as the actual issue is anything but a newline, the fact it can only be a NUL otherwise is incidental to the enclosing check, but not really relevant at this level. This is also in line with the actual error message. Found by cppcheck: https://caja.mate-desktop.dev/2022-11-23-174623-5790-cppcheck@ae663c369cf2_desktop-no-overflow/16.html#line-204
2022-12-23icon view: Fix positioning overflowing icons on the desktopColomban Wendling1-14/+7
Properly update the icon data before placing the icon, because positioning might depend on full icon contents on the desktop, whereas updating contents don't care about position. When an icon position overflows the desktop area, it is clamped to stay in the visible area, but this computation depends on accurate icon and label sizes, which is only available when the icon is fully loaded. Fix the code to first load the contents and then position instead of the other way around, which was actually trivial. Note that visible positions were most often correct anyway for two reasons: 1. Most of the time icons do not overflow, as they are positioned on the final desktop size anyway. It however can easily happen reducing monitor resolution or increasing desktop view zoom. 2. A second layout pass happens most of the time (I'm not yet sure why and when though), but not when an update is triggered before the previous one terminated (e.g. quickly hitting F5 twice).
2022-12-23Make CajaIconData type less confusingColomban Wendling1-1/+1
This is actually an opaque type, and there is no definition of struct CajaIconData anywhere. This actually doesn't change anything as the non-existent struct is equivalent to any other incomplete type, and works fine so long as the pointers are not dereferenced using that incomplete type. However, change this to an explicit `void` to make it clear it's an opaque pointer and stop people from looking for a struct CajaIconData that is nowhere to be found.
2022-12-23Remove dead assignmentColomban Wendling1-2/+0
Found by cppcheck: https://caja.mate-desktop.dev/2022-11-23-174623-5790-cppcheck@ae663c369cf2_desktop-no-overflow/18.html#line-630
2022-12-23Remove unused members and structuresColomban Wendling10-83/+9
Based on a cppcheck report: https://caja.mate-desktop.dev/2022-11-23-174623-5790-cppcheck@ae663c369cf2_desktop-no-overflow/
2022-12-23Remove unused memberColomban Wendling1-1/+0
`name_row` is not needed since GTK2 support was dropped with commit 276eb145ce96d5f75f8d3901daf6310f60ddbb81. Found by cppcheck: https://caja.mate-desktop.dev/2022-11-23-174623-5790-cppcheck@ae663c369cf2_desktop-no-overflow/73.html#line-101
2022-12-23Enable showing in Budgie Desktop and XFCEJoshua Strobl1-1/+1
This PR enables the displaying of Caja (as a file manager) for use in Budgie Desktop and XFCE. Prior to this commit, it would only be able accessible in MATE or with downstreams like Fedora patching in the support. The addition of these is important as file managers such as Nautilus adopt libadwaita and begin to directly come into conflict with user theming choices.
2022-11-23icon view: Refresh icon positions for manual layout on zoom change (#1676)Colomban Wendling1-10/+34
When zoom changes on a manual layout icon view, the available area changes and can lead to some icons to either overflow or be able to go back to their actually saved position. This is done correctly when the view is reloaded entirely, but not in response to zoom change, leading to disappearing icons (when zoom increases) or unexpected empty space (when zoom decreases). Fix this by re-computing actual positions based on saved positions when zoom changes, to match what would actually happen when the view gets loaded.
2022-11-09release 1.27.0v1.27.0mbkma2-1/+47
2022-11-05tx: sync with transifexmbkma118-239859/+246804
2022-10-29tx: update resourcembkma1-1954/+2003
2022-10-28tx: migrate config filembkma2-6/+16
2022-08-19image properties: Look for supported mime types at runtimerbuj1-20/+38
See https://gitlab.gnome.org/GNOME/nautilus/-/commit/7aef6be
2022-08-15caja-extensions: print filename when caja failed to open keys filerbuj1-1/+1
2022-08-04caja-bookmark: 'caja_bookmark_get_uri (CajaBookmark *)' may return NULLrbuj2-8/+7
2022-08-04configure.ac: Bump Autoconf version because of LT_INITrbuj1-1/+1
2022-08-04image properties: Improve the layoutrbuj1-42/+59
2022-07-22Fix build warning -Wmissing-field-initializersrbuj21-20/+47
2022-07-22Fix build warning -Wbad-function-castrbuj6-22/+43
2022-06-08Document and fix default-sort-order preferenceGordon Norman Squash2-7/+36
This patch resolves three related issues: The first issue was that the GSettings schema for Caja did not include an entry to sort by the "btime", or creation date, of files. If the user chose such an option in the Caja Preferences, GSettings would produce a warning (often out-of-sight, as it was usually redirected into the user's .xsession-errors file), and Caja would not actually change the default sort-order of files. This patch adds the btime as a valid setting in the schema. The second issue was that. because of the above (an entry in the settings schema was missing), some of the alternative sort orders listed in the schema (everything after and including "atime") were not assigned the same numbers as the sort orders listed elsewhere in the Caja source code. Specifically, in icon- and compact-views, if the default sort-order was "emblems", the observed / actual sort-order would be the entry before "emblems", namely "atime" -- so instead of sorting by the names of associated emblems, Caja would sort by each file's access time. An array in the code for the list-view also was missing many values and included some values out of order, so the default sort-order setting affected directories viewed in list-view mode seemingly randomly. The former is taken care of using the fix described in the above paragraph; the latter is fixed in this patch by adding / reorganizing the array for the list-view sort-orders appropriately. The third issue (admittedly, a lesser issue) was that the documentation for the default-sort-order setting was lacking -- it at least did not list all the possible values that the setting could accept. In this patch, I resolve this issue by listing all values in the setting's description, and also go into more detail about what each value does. (However, perhaps I included a little too much detail. It'll only benefit [supposed power users who may already know this stuff] who use GSettings or DConf directly, and it'll certainly be a headache for translators. I'll admit that.)
2022-06-08caja-file-conflict-dialog: Move to automatic signal disconnectionColomban Wendling1-20/+11
Instead of manually keeping tabs on the signals so we can disconnect them before the data parameter gets destroyed, let GObject automatically track lifetime of the data, which it can do as that data is a GObject itself. This does not change behavior in the normal case, but makes sure the callback simply cannot get called with invalid/freed parameters, even if we did screw anything up (which we used to). This actually would have solved #1630 as well with using the target widgets as data parameters as the signal would have been disconnected as soon as the widget got destroyed, no matter whether we got finalized ourselves or not. The signal IDs were also use as guards to whether the monitor was set up for the related files, but we can just as well use the state of the file list ready handle which should only be NULL when we actually have monitors set up. Even if it wasn't the case, worse case scenario would be removing a non-existent monitor, which is perfectly OK anyway.
2022-06-08caja-file-conflict-dialog: Properly release references on dispose()Colomban Wendling1-6/+19
Fixes #1630.
2022-06-08caja-file-conflict-dialog: update the icons oncerbuj1-16/+9
2022-06-01build: Cleanup long deprecated macros usageColomban Wendling1-8/+7