From d87b40dfb33536b5f917ef0b5167d4f3117b0d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Thu, 11 Jul 2024 20:20:37 +0200 Subject: [PATCH 01/19] fix: fixed size sorting headings --- src/tab.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tab.rs b/src/tab.rs index 1d79ccc..a5940b2 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -2528,7 +2528,7 @@ impl Tab { heading_item(fl!("size"), Length::Fixed(size_width), HeadingOptions::Size), ]) .align_items(Alignment::Center) - .height(Length::Fixed(row_height as f32)) + .height(Length::Fixed(32.0)) .padding(space_xxs) .spacing(space_xxs) .into(), From 2d2aed39e2fcc701c1ba90df8de43a52806b47d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Thu, 11 Jul 2024 21:07:55 +0200 Subject: [PATCH 02/19] fix: breadcrumb bar padding --- src/tab.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tab.rs b/src/tab.rs index a5940b2..1f64b51 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1915,13 +1915,16 @@ impl Tab { space_xxxs, space_xxs, space_s, + space_m, .. } = theme::active().cosmic().spacing; let size = self.size_opt.get().unwrap_or(Size::new(0.0, 0.0)); - let mut row = widget::row::with_capacity(5).align_items(Alignment::Center); + let mut row = widget::row::with_capacity(7).align_items(Alignment::Center); let mut w = 0.0; + row = row.push(widget::horizontal_space(Length::Fixed(space_m.into()))); + let mut prev_button = widget::button(widget::icon::from_name("go-previous-symbolic").size(16)) .padding(space_xxs) @@ -1961,6 +1964,7 @@ impl Tab { }) .on_submit(Message::Location(location.clone())), ); + row = row.push(widget::horizontal_space(Length::Fixed(space_m.into()))); return row.into(); } _ => { From ff28ff2dd5f0af4583a39f7ff66fe018934eab45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 01:01:11 +0200 Subject: [PATCH 03/19] fix --- src/tab.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 1f64b51..2f31291 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1920,11 +1920,9 @@ impl Tab { } = theme::active().cosmic().spacing; let size = self.size_opt.get().unwrap_or(Size::new(0.0, 0.0)); - let mut row = widget::row::with_capacity(7).align_items(Alignment::Center); + let mut row = widget::row::with_capacity(5).align_items(Alignment::Center).padding([0, space_m]); let mut w = 0.0; - row = row.push(widget::horizontal_space(Length::Fixed(space_m.into()))); - let mut prev_button = widget::button(widget::icon::from_name("go-previous-symbolic").size(16)) .padding(space_xxs) @@ -1964,7 +1962,6 @@ impl Tab { }) .on_submit(Message::Location(location.clone())), ); - row = row.push(widget::horizontal_space(Length::Fixed(space_m.into()))); return row.into(); } _ => { From 4e7dff59812503269b77d202f9af8f4792bf6a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 11:06:47 +0200 Subject: [PATCH 04/19] Lower min list size --- src/app.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app.rs b/src/app.rs index 1d12ad6..8836085 100644 --- a/src/app.rs +++ b/src/app.rs @@ -801,7 +801,7 @@ impl App { widget::settings::item::builder(fl!("icon-size-list")) .description(format!("{}%", list)) .control( - widget::slider(75..=500, list, move |list| { + widget::slider(50..=500, list, move |list| { Message::TabConfig(TabConfig { icon_sizes: IconSizes { list: NonZeroU16::new(list).unwrap(), From 23f0a4f942e70b974ab86d4ac290307ddecd025f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 11:24:27 +0200 Subject: [PATCH 05/19] Adjust sorting heading padding --- src/tab.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 2f31291..0181436 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -2529,8 +2529,8 @@ impl Tab { heading_item(fl!("size"), Length::Fixed(size_width), HeadingOptions::Size), ]) .align_items(Alignment::Center) - .height(Length::Fixed(32.0)) - .padding(space_xxs) + .height(Length::Fixed(space_m.into())) + .padding([0, space_xxs]) .spacing(space_xxs) .into(), ); From 3529717476980b597e6a05b399642bba8aab2738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 19:40:46 +0200 Subject: [PATCH 06/19] fix: text padding at min list size --- src/app.rs | 12 +++++------- src/key_bind.rs | 8 +++++--- src/menu.rs | 6 ++---- src/tab.rs | 36 ++++++++++++++++++++---------------- 4 files changed, 32 insertions(+), 30 deletions(-) diff --git a/src/app.rs b/src/app.rs index 8836085..147a740 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,14 +1,11 @@ // Copyright 2023 System76 // SPDX-License-Identifier: GPL-3.0-only -use cosmic::iced::clipboard::dnd::DndAction; -use cosmic::widget::dnd_destination::DragId; -use cosmic::widget::menu::action::MenuAction; -use cosmic::widget::menu::key_bind::KeyBind; use cosmic::{ app::{message, Command, Core}, cosmic_config, cosmic_theme, executor, iced::{ + clipboard::dnd::DndAction, event, futures::{self, SinkExt}, keyboard::{Event as KeyEvent, Key, Modifiers}, @@ -20,6 +17,8 @@ use cosmic::{ style, theme, widget::{ self, + dnd_destination::DragId, + menu::{action::MenuAction, key_bind::KeyBind}, segmented_button::{self, Entity}, }, Application, ApplicationExt, Element, @@ -42,18 +41,17 @@ use std::{ }; use tokio::sync::mpsc; -use crate::localize::LANGUAGE_SORTER; -use crate::tab::HOVER_DURATION; use crate::{ clipboard::{ClipboardCopy, ClipboardKind, ClipboardPaste}, config::{AppTheme, Config, Favorite, IconSizes, TabConfig, CONFIG_VERSION}, fl, home_dir, key_bind::key_binds, + localize::LANGUAGE_SORTER, menu, mime_app, mounter::{mounters, MounterItem, MounterItems, MounterKey, Mounters}, operation::{Operation, ReplaceResult}, spawn_detached::spawn_detached, - tab::{self, HeadingOptions, ItemMetadata, Location, Tab}, + tab::{self, HeadingOptions, ItemMetadata, Location, Tab, HOVER_DURATION}, }; #[derive(Clone, Debug)] diff --git a/src/key_bind.rs b/src/key_bind.rs index b8a2b35..2070e00 100644 --- a/src/key_bind.rs +++ b/src/key_bind.rs @@ -1,9 +1,11 @@ -use cosmic::widget::menu::key_bind::KeyBind; -use cosmic::{iced::keyboard::Key, iced_core::keyboard::key::Named}; +use cosmic::{ + iced::keyboard::Key, + iced_core::keyboard::key::Named, + widget::menu::key_bind::{KeyBind, Modifier}, +}; use std::collections::HashMap; use crate::app::Action; -use cosmic::widget::menu::key_bind::Modifier; //TODO: load from config pub fn key_binds() -> HashMap { diff --git a/src/menu.rs b/src/menu.rs index 33460c0..f916b7a 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -1,22 +1,20 @@ // SPDX-License-Identifier: GPL-3.0-only -use cosmic::widget::menu::key_bind::KeyBind; -use cosmic::widget::menu::{self, ItemHeight, ItemWidth, MenuBar}; use cosmic::{ //TODO: export iced::widget::horizontal_rule in cosmic::widget iced::{widget::horizontal_rule, Alignment, Background, Border, Length}, theme, widget, + widget::menu::{self, key_bind::KeyBind, ItemHeight, ItemWidth, MenuBar}, Element, }; use std::collections::HashMap; -use crate::tab::LocationMenuAction; use crate::{ app::{Action, Message}, config::TabConfig, fl, - tab::{self, HeadingOptions, Location, Tab}, + tab::{self, HeadingOptions, Location, LocationMenuAction, Tab}, }; macro_rules! menu_button { diff --git a/src/tab.rs b/src/tab.rs index 0181436..beeee4c 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1,9 +1,3 @@ -use cosmic::iced::clipboard::dnd::DndAction; -use cosmic::iced::Border; -use cosmic::iced_core::widget::tree; -use cosmic::widget::menu::action::MenuAction; -use cosmic::widget::menu::key_bind::KeyBind; -use cosmic::widget::{vertical_space, Id, Widget}; use cosmic::{ cosmic_theme, font, iced::{ @@ -12,6 +6,7 @@ use cosmic::{ text::{self, Paragraph}, }, alignment::{Horizontal, Vertical}, + clipboard::dnd::DndAction, futures::SinkExt, keyboard::Modifiers, subscription::{self, Subscription}, @@ -21,6 +16,7 @@ use cosmic::{ scrollable::{AbsoluteOffset, Viewport}, }, Alignment, + Border, Color, ContentFit, Length, @@ -28,36 +24,42 @@ use cosmic::{ Rectangle, Size, }, - theme, widget, Element, + iced_core::widget::tree, + theme, widget, + widget::{ + menu::{action::MenuAction, key_bind::KeyBind}, + vertical_space, DndDestination, DndSource, Id, Widget, + }, + Element, }; + use mime_guess::{mime, Mime}; use once_cell::sync::Lazy; use serde::{Deserialize, Serialize}; -use std::cell::RefCell; -use std::sync::{Arc, Mutex}; use std::{ - cell::Cell, + cell::{Cell, RefCell}, cmp::Ordering, collections::HashMap, fmt, fs::{self, Metadata}, num::NonZeroU16, path::PathBuf, + sync::{Arc, Mutex}, time::{Duration, Instant}, }; -use crate::clipboard::{ClipboardCopy, ClipboardKind, ClipboardPaste}; -use crate::localize::LANGUAGE_SORTER; use crate::{ app::{self, Action}, + clipboard::{ClipboardCopy, ClipboardKind, ClipboardPaste}, config::{IconSizes, TabConfig, ICON_SCALE_MAX, ICON_SIZE_GRID}, dialog::DialogKind, - fl, menu, + fl, + localize::LANGUAGE_SORTER, + menu, mime_app::{mime_apps, MimeApp}, mime_icon::{mime_for_path, mime_icon}, mouse_area, }; -use cosmic::widget::{DndDestination, DndSource}; pub const DOUBLE_CLICK_DURATION: Duration = Duration::from_millis(500); pub const HOVER_DURATION: Duration = Duration::from_millis(1600); @@ -1920,7 +1922,9 @@ impl Tab { } = theme::active().cosmic().spacing; let size = self.size_opt.get().unwrap_or(Size::new(0.0, 0.0)); - let mut row = widget::row::with_capacity(5).align_items(Alignment::Center).padding([0, space_m]); + let mut row = widget::row::with_capacity(5) + .align_items(Alignment::Center) + .padding([0, space_m]); let mut w = 0.0; let mut prev_button = @@ -2632,7 +2636,7 @@ impl Tab { .width(Length::Fill) .height(Length::Fixed(row_height as f32)) .id(item.button_id.clone()) - .padding(space_xxs) + .padding(if icon_size < 24 { 7 } else { space_xxs }) .style(button_style(item.selected, true, false)), ) .on_press(move |_| Message::Click(Some(i))) From ff4d40cdd4e5d5a3cf7004d07e725da8a6c89006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 19:43:50 +0200 Subject: [PATCH 07/19] fix conflict --- src/tab.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tab.rs b/src/tab.rs index beeee4c..63ace54 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -54,7 +54,7 @@ use crate::{ config::{IconSizes, TabConfig, ICON_SCALE_MAX, ICON_SIZE_GRID}, dialog::DialogKind, fl, - localize::LANGUAGE_SORTER, + localize::{LANGUAGE_CHRONO, LANGUAGE_SORTER}, menu, mime_app::{mime_apps, MimeApp}, mime_icon::{mime_for_path, mime_icon}, From 3a47e3f9a5ff2284f7fa88d13bf65720fb418316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 20:59:54 +0200 Subject: [PATCH 08/19] match padding to design --- src/tab.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index ab9198d..c853709 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1928,7 +1928,7 @@ impl Tab { let mut row = widget::row::with_capacity(5) .align_items(Alignment::Center) - .padding([0, space_m]); + .padding([space_xxxs, space_s]); let mut w = 0.0; let mut prev_button = @@ -2537,8 +2537,8 @@ impl Tab { heading_item(fl!("size"), Length::Fixed(size_width), HeadingOptions::Size), ]) .align_items(Alignment::Center) - .height(Length::Fixed(space_m.into())) - .padding([0, space_xxs]) + .height(Length::Fixed((space_m + 4).into())) + .padding(0) .spacing(space_xxs) .into(), ); From d8cc38d11c3e404a225984c3664148fcfc58e1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Fri, 12 Jul 2024 21:08:22 +0200 Subject: [PATCH 09/19] remove unused space_m --- src/tab.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tab.rs b/src/tab.rs index c853709..3d04b6f 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1921,7 +1921,6 @@ impl Tab { space_xxxs, space_xxs, space_s, - space_m, .. } = theme::active().cosmic().spacing; let size = self.size_opt.get().unwrap_or(Size::new(0.0, 0.0)); From 5b1ba068d1a6e238794038ba2377a161dd0abcbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Sat, 13 Jul 2024 01:53:30 +0200 Subject: [PATCH 10/19] design matching --- src/tab.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 3d04b6f..15587b1 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1925,9 +1925,7 @@ impl Tab { } = theme::active().cosmic().spacing; let size = self.size_opt.get().unwrap_or(Size::new(0.0, 0.0)); - let mut row = widget::row::with_capacity(5) - .align_items(Alignment::Center) - .padding([space_xxxs, space_s]); + let mut row = widget::row::with_capacity(5).align_items(Alignment::Center); let mut w = 0.0; let mut prev_button = @@ -1969,7 +1967,7 @@ impl Tab { }) .on_submit(Message::Location(location.clone())), ); - return row.into(); + return row.padding([0, space_s]).into(); } _ => { //TODO: allow editing other locations @@ -2139,8 +2137,11 @@ impl Tab { for child in children { row = row.push(child); } + let mut column = widget::column::with_capacity(2).padding([0, space_s]); + column = column.push(row); + column = column.push(horizontal_rule(1)); - let mouse_area = crate::mouse_area::MouseArea::new(row) + let mouse_area = crate::mouse_area::MouseArea::new(column) .on_right_press(Message::LocationContextMenuPoint); let mut popover = widget::popover(mouse_area); @@ -2234,7 +2235,7 @@ impl Tab { let mut grid = widget::grid() .column_spacing(column_spacing) .row_spacing(space_xxs) - .padding([0, space_m].into()); + .padding([space_xxxs, space_xxs].into()); let mut dnd_items: Vec<(usize, (usize, usize), &Item)> = Vec::new(); let mut drag_w_i = usize::MAX; let mut drag_n_i = usize::MAX; @@ -2537,7 +2538,7 @@ impl Tab { ]) .align_items(Alignment::Center) .height(Length::Fixed((space_m + 4).into())) - .padding(0) + .padding([0, space_xxs]) .spacing(space_xxs) .into(), ); From 32a2ccbaf68702372b702be7e793e19bbd3d7173 Mon Sep 17 00:00:00 2001 From: git-f0x <150025636+git-f0x@users.noreply.github.com> Date: Sat, 13 Jul 2024 11:34:03 +0200 Subject: [PATCH 11/19] fix: tab padding --- src/app.rs | 7 +++++-- src/tab.rs | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/app.rs b/src/app.rs index 97a8df3..e6951bb 100644 --- a/src/app.rs +++ b/src/app.rs @@ -2389,7 +2389,9 @@ impl Application for App { /// Creates a view after each update. fn view(&self) -> Element { - let cosmic_theme::Spacing { space_xxs, .. } = theme::active().cosmic().spacing; + let cosmic_theme::Spacing { + space_xxs, space_s, .. + } = theme::active().cosmic().spacing; let mut tab_column = widget::column::with_capacity(1); @@ -2409,7 +2411,8 @@ impl Application for App { .drag_id(self.tab_drag_id), ) .style(style::Container::Background) - .width(Length::Fill), + .width(Length::Fill) + .padding([0, space_s]), ); } diff --git a/src/tab.rs b/src/tab.rs index 15587b1..26f800a 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1925,7 +1925,9 @@ impl Tab { } = theme::active().cosmic().spacing; let size = self.size_opt.get().unwrap_or(Size::new(0.0, 0.0)); - let mut row = widget::row::with_capacity(5).align_items(Alignment::Center); + let mut row = widget::row::with_capacity(5) + .align_items(Alignment::Center) + .padding([space_xxxs, 0]); let mut w = 0.0; let mut prev_button = From 505cea111de93e8fb217e8434001e68ed5679fa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Sat, 13 Jul 2024 12:10:39 +0200 Subject: [PATCH 12/19] fix: list view padding --- src/tab.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 26f800a..73f5b6d 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -2479,7 +2479,10 @@ impl Tab { bool, ) { let cosmic_theme::Spacing { - space_m, space_xxs, .. + space_m, + space_s, + space_xxs, + .. } = theme::active().cosmic().spacing; let TabConfig { @@ -2787,7 +2790,7 @@ impl Tab { ( drag_col, mouse_area::MouseArea::new( - widget::column::with_children(children).padding([0, space_m]), + widget::column::with_children(children).padding([0, space_s]), ) .with_id(Id::new("list-view")) .on_press(|_| Message::Click(None)) From 7dc3bf839c399a8645cdb123ca00d128c858494a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Sat, 13 Jul 2024 17:45:39 +0200 Subject: [PATCH 13/19] improv: don't change padding on location edit This fixes the other items (files, sorting headings...) moving when clicking the pencil. --- src/tab.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 73f5b6d..84990bc 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1967,9 +1967,13 @@ impl Tab { .on_input(|input| { Message::EditLocation(Some(Location::Path(PathBuf::from(input)))) }) - .on_submit(Message::Location(location.clone())), + .on_submit(Message::Location(location.clone())) + .line_height(1.0), ); - return row.padding([0, space_s]).into(); + let mut column = widget::column::with_capacity(2).padding([0, space_s]); + column = column.push(row); + column = column.push(horizontal_rule(1)); + return column.into(); } _ => { //TODO: allow editing other locations From 142be2ea66611137117fad15d563f37b9b7f3fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Sat, 13 Jul 2024 18:02:51 +0200 Subject: [PATCH 14/19] comment workaround When these lines are uncommented, a scroll bar always shows up in Files. Commenting them makes the scollbar behave as expected. --- src/tab.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 84990bc..f8f8082 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -2384,7 +2384,7 @@ impl Tab { children.push(grid.into()); //TODO: HACK If we don't reach the bottom of the view, go ahead and add a spacer to do that - { + /*{ let mut max_bottom = 0; for (_, item) in items { if let Some(rect) = item.rect_opt.get() { @@ -2403,7 +2403,7 @@ impl Tab { .into(), ) } - } + }*/ } ( @@ -2778,14 +2778,14 @@ impl Tab { } } //TODO: HACK If we don't reach the bottom of the view, go ahead and add a spacer to do that - { + /*{ let spacer_height = size.height as i32 - y as i32 - 4 * space_xxs as i32; if spacer_height > 0 { children.push( widget::container(vertical_space(Length::Fixed(spacer_height as f32))).into(), ); } - } + }*/ let drag_col = (!drag_items.is_empty()).then(|| { Element::from(widget::column::with_children(drag_items)) .map(|m| cosmic::app::Message::App(crate::app::Message::TabMessage(None, m))) From 05481d55b552d4f80b72d5aa9f29c884b51e63b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vuka=C5=A1in=20Vojinovi=C4=87?= <150025636+git-f0x@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:11:52 +0200 Subject: [PATCH 15/19] fix: rectangle selection This uncomments the lines preceded by HACK, since rectangle selection and some other things break. Tweaked the `spacer-height` to the lowest value where the scrollbars don't always appear. --- src/tab.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index f8f8082..b33b0bc 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -2241,7 +2241,7 @@ impl Tab { let mut grid = widget::grid() .column_spacing(column_spacing) .row_spacing(space_xxs) - .padding([space_xxxs, space_xxs].into()); + .padding(space_xxs.into()); let mut dnd_items: Vec<(usize, (usize, usize), &Item)> = Vec::new(); let mut drag_w_i = usize::MAX; let mut drag_n_i = usize::MAX; @@ -2384,7 +2384,7 @@ impl Tab { children.push(grid.into()); //TODO: HACK If we don't reach the bottom of the view, go ahead and add a spacer to do that - /*{ + { let mut max_bottom = 0; for (_, item) in items { if let Some(rect) = item.rect_opt.get() { @@ -2395,7 +2395,7 @@ impl Tab { } } let spacer_height = height - .checked_sub(max_bottom + 4 * (space_xxs as usize)) + .checked_sub(max_bottom + 7 * (space_xxs as usize)) .unwrap_or(0); if spacer_height > 0 { children.push( @@ -2403,7 +2403,7 @@ impl Tab { .into(), ) } - }*/ + } } ( @@ -2411,7 +2411,7 @@ impl Tab { let mut dnd_grid = widget::grid() .column_spacing(column_spacing) .row_spacing(space_xxs) - .padding([0, space_m].into()); + .padding(space_xxs.into()); let mut dnd_item_i = 0; for r in drag_n_i..=drag_s_i { @@ -2778,14 +2778,14 @@ impl Tab { } } //TODO: HACK If we don't reach the bottom of the view, go ahead and add a spacer to do that - /*{ - let spacer_height = size.height as i32 - y as i32 - 4 * space_xxs as i32; + { + let spacer_height = size.height as i32 - y as i32 - 5 * space_xxs as i32; if spacer_height > 0 { children.push( widget::container(vertical_space(Length::Fixed(spacer_height as f32))).into(), ); } - }*/ + } let drag_col = (!drag_items.is_empty()).then(|| { Element::from(widget::column::with_children(drag_items)) .map(|m| cosmic::app::Message::App(crate::app::Message::TabMessage(None, m))) From 0987a299a0a2e0d66bb8d82ceed9ac9c494f49d9 Mon Sep 17 00:00:00 2001 From: dengelt Date: Sun, 14 Jul 2024 19:14:21 +0200 Subject: [PATCH 16/19] support CARGO_TARGET_DIR --- justfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/justfile b/justfile index 82dcb6b..e87351b 100644 --- a/justfile +++ b/justfile @@ -8,7 +8,8 @@ base-dir := absolute_path(clean(rootdir / prefix)) export INSTALL_DIR := base-dir / 'share' -bin-src := 'target' / 'release' / name +cargo-target-dir := env('CARGO_TARGET_DIR', 'target') +bin-src := cargo-target-dir / 'release' / name bin-dst := base-dir / 'bin' / name desktop := APPID + '.desktop' From 86d647512e02b832c68c34a8a4f96c0ecb927cb6 Mon Sep 17 00:00:00 2001 From: XLion Date: Sun, 14 Jul 2024 20:34:26 +0800 Subject: [PATCH 17/19] Update zh-TW translations --- i18n/zh-TW/cosmic_files.ftl | 57 +++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/i18n/zh-TW/cosmic_files.ftl b/i18n/zh-TW/cosmic_files.ftl index 173bbb9..b9ea813 100644 --- a/i18n/zh-TW/cosmic_files.ftl +++ b/i18n/zh-TW/cosmic_files.ftl @@ -11,6 +11,7 @@ modified = 修改時間 size = 大小 # Dialogs + ## Empty Trash Dialog empty-trash = 清空垃圾桶 empty-trash-warning = 確定要永久刪除垃圾桶中的所有項目嗎? @@ -26,7 +27,6 @@ name-hidden = 名稱以 "." 開頭將被隱藏。 name-invalid = 名稱不能為 "{$filename}"。 name-no-slashes = 名稱不能包含斜線。 - ## Open/Save Dialog cancel = 取消 open = 開啟 @@ -47,17 +47,58 @@ rename-folder = 重命名資料夾 replace = 替換 replace-title = {$filename} 已存在於此位置。 replace-warning = 您想用您正在儲存的檔案替換它嗎?替換將會覆蓋其內容。 +replace-warning-operation = 您想要替換它嗎? 替換將會覆蓋其內容。 +original-file = 原始檔案 +#replace-with = Replace with # Can't translate due to word order +apply-to-all = 全部套用 +keep-both = 保留兩者 +skip = 跳過 # Context Pages ## About -git-description = Git 提交 {$hash} 於 {$date} +git-description = Git 提交 {$hash} 於 {$date} ## Operations -operations = 操作 +edit-history = 編輯歷史 +history = 歷史 +no-history = 沒有歷史項目 pending = 待處理 failed = 失敗 complete = 完成 +copy_noun = 複製 +creating = 正在建立 {$name} 於 {$parent} +created = 已建立 {$name} 於 {$parent} +copying = 正在從 {$from} 複製 {$items} {$items -> + [one] 個項目 + *[other] 個項目 + } 到 {$to} +copied = 已從 {$from} 複製 {$items} {$items -> + [one] 個項目 + *[other] 個項目 + } 到 {$to} +emptying-trash = 正在清空 {trash} +emptied-trash = 已清空 {trash} +moving = 正在從 {$from} 移動 {$items} {$items -> + [one] 個項目 + *[other] 項目 + } 到 {$to} +moved = 已從 {$from} 移動 {$items} {$items -> + [one] 項目 + *[other] 項目 + } 到 {$to} +renaming = 正在重新命名 {$from} 為 {$to} +renamed = 已將 {$from} 重新命名為 {$to} +restoring = 正在從 {$trash} 還原 {$items} {$items -> + [one] 個項目 + *[other] 個項目 + } +restored = 已從 {$trash} 還原 {$items} {$items -> + [one] 個項目 + *[other] 個項目 + } +undo = 撤銷 +unknown-folder = 未知的資料夾 ## Open with open-with = 使用應用程式開啟 @@ -70,6 +111,7 @@ properties = 屬性 settings = 設定 settings-tab = 分頁 settings-show-hidden = 顯示隱藏檔案 +default-view = 預設檢視 icon-size-list = 圖示大小(清單) icon-size-grid = 圖示大小(網格) sorting-name = 排序方式 @@ -102,7 +144,7 @@ sort-by-size = 依大小排序 file = 檔案 new-tab = 新分頁 new-window = 新視窗 -rename = 重命名 +rename = 重新命名 close-tab = 關閉分頁 quit = 退出 @@ -114,8 +156,13 @@ paste = 貼上 select-all = 全選 ## View +zoom-in = 放大 +default-size = 預設大小 +zoom-out = 縮小 view = 檢視 grid-view = 網格視圖 list-view = 清單視圖 +show-hidden-files = 顯示隱藏檔案 +list-directories-first = 優先列出目錄 menu-settings = 設定... -menu-about = 關於 COSMIC 檔案總管... \ No newline at end of file +menu-about = 關於 COSMIC 檔案總管... From d168edb4fab5184cf209389cb273285751aff711 Mon Sep 17 00:00:00 2001 From: Josh Megnauth Date: Wed, 17 Jul 2024 02:29:06 -0400 Subject: [PATCH 18/19] fix: Correct range on shift clicking sorted tabs Closes: #274 My code comments explain the problem and the fix. --- src/tab.rs | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/src/tab.rs b/src/tab.rs index 9f4fd40..862bd1c 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1303,9 +1303,70 @@ impl Tab { if let Some(range) = self.select_range { let min = range.0.min(range.1); let max = range.0.max(range.1); - if let Some(ref mut items) = self.items_opt { - for (i, item) in items.iter_mut().enumerate() { - item.selected = i >= min && i <= max; + if self.config.sort_name == HeadingOptions::Name + && self.config.sort_direction + { + // A default/unsorted tab's view is consistent with how the + // Items are laid out internally (items_opt), so Items can be + // linearly selected + if let Some(ref mut items) = self.items_opt { + for item in items.iter_mut().skip(min).take(max - min + 1) { + item.selected = true; + } + } + } else { + // A sorted tab's items can't be linearly selected + // Let's say we have: + // index | file + // 0 | file0 + // 1 | file1 + // 2 | file2 + // This is both the default sort and internal ordering + // When sorted it may be displayed as: + // 1 | file1 + // 0 | file0 + // 2 | file2 + // However, the internal ordering is still the same thus + // linearly selecting items doesn't work. Shift selecting + // file0 and file2 would select indices 0 to 2 when it should + // select indices 0 AND 2 from items_opt + let indices: Vec<_> = self + .column_sort() + .map(|sorted| sorted.into_iter().map(|(i, _)| i).collect()) + .unwrap_or_else(|| { + let len = self + .items_opt + .as_deref() + .map(|items| items.len()) + .unwrap_or_default(); + (0..len).collect() + }); + + // Find the true indices for the min and max element w.r.t. + // a sorted tab. + let min = indices + .iter() + .position(|&offset| offset == min) + .unwrap_or_default(); + // We can't skip `min_real` elements here because the index of + // `max` may actually be before `min` in a sorted tab + let max = indices + .iter() + .position(|&offset| offset == max) + .unwrap_or_else(|| indices.len()); + let min_real = min.min(max); + let max_real = max.max(min); + + if let Some(ref mut items) = self.items_opt { + for index in indices + .into_iter() + .skip(min_real) + .take(max_real - min_real + 1) + { + if let Some(item) = items.get_mut(index) { + item.selected = true; + } + } } } } From c5f53d95552be1fa5fb713dfba1b1b210d95cd43 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 17 Jul 2024 07:47:42 -0600 Subject: [PATCH 19/19] Update libcosmic --- Cargo.lock | 220 +++++++++++++++++++++++++++-------------------------- 1 file changed, 111 insertions(+), 109 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c42bf99..74c63a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -353,9 +353,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ "async-task", "concurrent-queue", @@ -502,14 +502,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] name = "async-signal" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" +checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ "async-io 2.3.3", "async-lock 3.4.0", @@ -537,7 +537,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -772,7 +772,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -783,9 +783,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "calloop" @@ -841,13 +841,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.0" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8" +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -1106,14 +1105,14 @@ source = "git+https://github.com/pop-os/cosmic-protocols?rev=c8d3a1c#c8d3a1c3d40 dependencies = [ "cosmic-protocols", "libc", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "wayland-client", ] [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1132,7 +1131,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "quote", "syn 1.0.109", @@ -1190,8 +1189,8 @@ dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.2", - "wayland-protocols-wlr 0.3.2", + "wayland-protocols 0.32.3", + "wayland-protocols-wlr 0.3.3", "wayland-scanner", "wayland-server", ] @@ -1221,7 +1220,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "almost", "cosmic-config", @@ -1362,7 +1361,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -1373,7 +1372,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -1424,7 +1423,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -1513,7 +1512,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -1542,7 +1541,7 @@ dependencies = [ "bitflags 2.6.0", "mime 0.1.0", "raw-window-handle", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "smithay-clipboard", ] @@ -1632,7 +1631,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -1947,7 +1946,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -2119,7 +2118,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -2309,7 +2308,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -2582,7 +2581,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.70", + "syn 2.0.71", "unic-langid", ] @@ -2596,7 +2595,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -2625,7 +2624,7 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "dnd", "iced_accessibility", @@ -2644,7 +2643,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "accesskit", "accesskit_unix", @@ -2654,7 +2653,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "bitflags 2.6.0", "dnd", @@ -2665,7 +2664,7 @@ dependencies = [ "palette", "raw-window-handle", "serde", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "smol_str", "thiserror", "web-time", @@ -2676,7 +2675,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "futures", "iced_core", @@ -2689,7 +2688,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "bitflags 2.6.0", "bytemuck", @@ -2713,7 +2712,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2725,13 +2724,13 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "dnd", "iced_accessibility", "iced_core", "iced_futures", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "thiserror", "window_clipboard", ] @@ -2739,7 +2738,7 @@ dependencies = [ [[package]] name = "iced_sctk" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "enum-repr", "float-cmp", @@ -2752,11 +2751,11 @@ dependencies = [ "itertools", "lazy_static", "raw-window-handle", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "thiserror", "tracing", "wayland-backend", - "wayland-protocols 0.32.2", + "wayland-protocols 0.32.3", "window_clipboard", "xkbcommon", "xkbcommon-dl", @@ -2766,7 +2765,7 @@ dependencies = [ [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "iced_core", "once_cell", @@ -2776,7 +2775,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "bytemuck", "cosmic-text", @@ -2793,8 +2792,9 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ + "as-raw-xcb-connection", "bitflags 2.6.0", "bytemuck", "futures", @@ -2808,18 +2808,20 @@ dependencies = [ "raw-window-handle", "resvg", "rustix 0.38.34", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", + "tiny-xlib", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.2", + "wayland-protocols 0.32.3", "wayland-sys", "wgpu", + "x11rb", ] [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "dnd", "iced_accessibility", @@ -2828,7 +2830,7 @@ dependencies = [ "iced_style", "num-traits", "ouroboros", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "thiserror", "unicode-segmentation", "window_clipboard", @@ -2837,7 +2839,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "dnd", "iced_accessibility", @@ -3014,7 +3016,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -3335,7 +3337,7 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#1e566c13aaa86a48695876a8badda38c8b828596" +source = "git+https://github.com/pop-os/libcosmic.git#2dd55f2f20cc0a5bd09f834779dd6cf1dcb23bcf" dependencies = [ "apply", "ashpd", @@ -3930,7 +3932,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -4113,7 +4115,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -4153,7 +4155,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -4205,7 +4207,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.3", "smallvec", "windows-targets 0.52.6", ] @@ -4258,7 +4260,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -4577,9 +4579,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] @@ -4687,9 +4689,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.44" +version = "0.8.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aee83dc281d5a3200d37b299acd13b81066ea126a7f16f0eae70fc9aed241d9" +checksum = "ade4539f42266ded9e755c605bdddf546242b2c961b03b06a7375260788a0523" dependencies = [ "bytemuck", ] @@ -4732,7 +4734,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.70", + "syn 2.0.71", "walkdir", ] @@ -4906,7 +4908,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -4929,7 +4931,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -5069,9 +5071,9 @@ dependencies = [ [[package]] name = "smithay-client-toolkit" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "837d3067369e24aeda699a5d9fc5aa14ca14a84dd70aeed7156bfa04a5605b32" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ "bitflags 2.6.0", "bytemuck", @@ -5088,8 +5090,8 @@ dependencies = [ "wayland-client", "wayland-csd-frame", "wayland-cursor", - "wayland-protocols 0.32.2", - "wayland-protocols-wlr 0.3.2", + "wayland-protocols 0.32.3", + "wayland-protocols-wlr 0.3.3", "wayland-scanner", "xkbcommon", "xkeysym", @@ -5102,7 +5104,7 @@ source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-5#d099e82a dependencies = [ "libc", "raw-window-handle", - "smithay-client-toolkit 0.19.1", + "smithay-client-toolkit 0.19.2", "wayland-backend", ] @@ -5256,9 +5258,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.70" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -5273,7 +5275,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -5361,7 +5363,7 @@ checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -5372,22 +5374,22 @@ checksum = "d321c8576c2b47e43953e9cce236550d4cd6af0a6ce518fe084340082ca6037b" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -5519,9 +5521,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" dependencies = [ "backtrace", "bytes", @@ -5544,7 +5546,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -5642,7 +5644,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -6028,7 +6030,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", "wasm-bindgen-shared", ] @@ -6062,7 +6064,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6090,9 +6092,9 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "269c04f203640d0da2092d1b8d89a2d081714ae3ac2f1b53e99f205740517198" +checksum = "f90e11ce2ca99c97b940ee83edbae9da2d56a08f9ea8158550fd77fa31722993" dependencies = [ "cc", "downcast-rs", @@ -6104,9 +6106,9 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.4" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bd0f46c069d3382a36c8666c1b9ccef32b8b04f41667ca1fef06a1adcc2982" +checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943" dependencies = [ "bitflags 2.6.0", "rustix 0.38.34", @@ -6127,9 +6129,9 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.4" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09414bcf0fd8d9577d73e9ac4659ebc45bcc9cff1980a350543ad8e50ee263b2" +checksum = "6ef9489a8df197ebf3a8ce8a7a7f0a2320035c3743f3c1bd0bdbccf07ce64f95" dependencies = [ "rustix 0.38.34", "wayland-client", @@ -6150,9 +6152,9 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.2" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1794d82d869f38439d15c24b26f06f6c8603d27d47b4f786d5197c99044de415" +checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -6189,23 +6191,23 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa43c961473aed713d44c1f616f775186249dfca657f256d8841ca0690366aba" +checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953" dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.2", + "wayland-protocols 0.32.3", "wayland-scanner", "wayland-server", ] [[package]] name = "wayland-scanner" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf466fc49a4feb65a511ca403fec3601494d0dee85dbf37fff6fa0dd4eec3b6" +checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6" dependencies = [ "proc-macro2", "quick-xml", @@ -6214,9 +6216,9 @@ dependencies = [ [[package]] name = "wayland-server" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a29060303e79e4c3d44936efdcf00941a78c86850bf67a88078dd1d6c99702b9" +checksum = "2f0a4bab6d420ee4a609b63ef4d5f9b5d309c6b93a029fccab70f2594c0cb3ae" dependencies = [ "bitflags 2.6.0", "downcast-rs", @@ -6228,9 +6230,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6754825230fa5b27bafaa28c30b3c9e72c55530581220cef401fa422c0fae7" +checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148" dependencies = [ "dlib", "log", @@ -6489,7 +6491,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -6511,7 +6513,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -6949,7 +6951,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", "synstructure", ] @@ -7057,7 +7059,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", "zvariant_utils 2.0.0", ] @@ -7106,7 +7108,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -7126,7 +7128,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", "synstructure", ] @@ -7149,7 +7151,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ] [[package]] @@ -7211,7 +7213,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", "zvariant_utils 2.0.0", ] @@ -7234,5 +7236,5 @@ checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.71", ]