Integrate native Rime and stabilize input, output, and rendering
- Add optional modifier-only Super binding whose tap is cancelled by other input, focus changes, grabs, locks, and session teardown. - Ship the native ferese-rime user service, Rime defaults, installer inventory, package dependencies, session environment, and docs. - Vendor Smithay 8a27023 with the SHM texture-cache format fix and add GPU regressions for format changes and resize snapshots. - Release reused CRTC owners before staging output modes, then restore changed outputs before former owners when a transaction fails. - Wait for resize-capture GPU completion, expand filtered surface damage, and preserve IME popup origin under fractional scaling. - Mark weekends like holidays in both calendar layouts.
This commit is contained in:
1 parent
a2be421974
commit
993bc0f88f
391 files changed
+130908
-76
No files matched your search
@@ -103,6 +103,12 @@ fn grid_with_density<'a, M: Clone + 'a>(
|
||||
let month = first.month();
|
||||
let primary = palette.text.scale_alpha(opacity);
|
||||
let muted = palette.muted.scale_alpha(opacity);
|
||||
let holiday_color = if palette.appearance == ferese_config::theme::Appearance::Light {
|
||||
cosmic::iced::Color::from_rgb8(184, 38, 49)
|
||||
} else {
|
||||
cosmic::iced::Color::from_rgb8(244, 110, 120)
|
||||
}
|
||||
.scale_alpha(opacity);
|
||||
let [previous, today_button, next] = navigation;
|
||||
let header = row![
|
||||
crate::text(
|
||||
@@ -133,12 +139,19 @@ fn grid_with_density<'a, M: Clone + 'a>(
|
||||
} else {
|
||||
Length::Shrink
|
||||
});
|
||||
for label in weekday_labels(ferese_config::locale::resolved()) {
|
||||
for (weekday, label) in weekday_labels(ferese_config::locale::resolved())
|
||||
.into_iter()
|
||||
.enumerate()
|
||||
{
|
||||
weekdays = weekdays.push(
|
||||
container(
|
||||
crate::text(label, font)
|
||||
.size(if compact { 9 } else { 11 })
|
||||
.class(theme::Text::Color(muted)),
|
||||
.class(theme::Text::Color(if matches!(weekday, 0 | 6) {
|
||||
holiday_color
|
||||
} else {
|
||||
muted
|
||||
})),
|
||||
)
|
||||
.width(cell_width)
|
||||
.center_x(cell_width),
|
||||
@@ -161,14 +174,9 @@ fn grid_with_density<'a, M: Clone + 'a>(
|
||||
let date = date.filter(|_| visible);
|
||||
let is_today = date == Some(today);
|
||||
let holiday = date.and_then(|date| settings.holiday_name(date));
|
||||
let holiday_color = if palette.appearance == ferese_config::theme::Appearance::Light {
|
||||
cosmic::iced::Color::from_rgb8(184, 38, 49)
|
||||
} else {
|
||||
cosmic::iced::Color::from_rgb8(244, 110, 120)
|
||||
}
|
||||
.scale_alpha(opacity * if in_month { 1. } else { 0.65 });
|
||||
let foreground = if holiday.is_some() {
|
||||
holiday_color
|
||||
let emphasized = date.is_some() && (holiday.is_some() || matches!(weekday, 0 | 6));
|
||||
let foreground = if emphasized {
|
||||
holiday_color.scale_alpha(if in_month { 1. } else { 0.65 })
|
||||
} else if is_today || in_month {
|
||||
primary
|
||||
} else {
|
||||
@@ -176,7 +184,7 @@ fn grid_with_density<'a, M: Clone + 'a>(
|
||||
};
|
||||
let label = date.map_or(String::new(), |date| date.day().to_string());
|
||||
let font = cosmic::iced::Font {
|
||||
weight: if holiday.is_some() {
|
||||
weight: if emphasized {
|
||||
cosmic::iced::font::Weight::Bold
|
||||
} else {
|
||||
cosmic::iced::font::Weight::Normal
|
||||
|
||||
Reference in new issue
Block a user