Skip to content

Commit a720d10

Browse files
committed
release 1.5.1 mac bundle icon fix
1 parent 24ad415 commit a720d10

File tree

10 files changed

+43
-26
lines changed

10 files changed

+43
-26
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ All notable changes to Something in the Background will be documented in this fi
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.5.1] - 2025-11-30
9+
10+
### Fixed
11+
- Ensured macOS bundles include the app icon by bundling from the mac crate (restores Finder/Launchpad icon rendering).
12+
813
## [1.5.0] - 2025-11-30
914

1015
### Changed

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ members = ["core", "app-macos", "app-linux", "app-windows"]
33
resolver = "2"
44

55
[workspace.package]
6-
version = "1.5.0"
6+
version = "1.5.1"
77
edition = "2024"
88

99
[profile.release]

RELEASE_NOTES.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Release Notes - Something in the Background
22

3+
## v1.5.1
4+
5+
**Release Date:** November 30, 2025
6+
7+
### 🖼️ macOS Bundle Icon Restored
8+
9+
- Bundling now runs from the macOS crate so the `circle.icns` app icon is included again; Finder/Launchpad show the proper icon.
10+
311
## v1.5.0
412

513
**Release Date:** November 30, 2025

app-linux/src/main.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ mod paths;
77

88
use std::process::Command;
99
use std::sync::{
10-
atomic::{AtomicBool, Ordering},
1110
Arc,
11+
atomic::{AtomicBool, Ordering},
1212
};
1313
use std::thread;
1414
use std::time::{Duration, Instant};
@@ -18,11 +18,11 @@ use env_logger;
1818
use gtk::glib;
1919
use log::{error, info, warn};
2020
use something_bg_core::platform::AppPaths;
21-
use tray_icon::{Icon, TrayIcon, TrayIconBuilder};
2221
use tray_icon::menu::MenuEvent;
22+
use tray_icon::{Icon, TrayIcon, TrayIconBuilder};
2323

2424
use crate::app::AppState;
25-
use crate::menu::{build_id_lookup, build_menu, refresh_task_labels, MenuAction, MenuHandles};
25+
use crate::menu::{MenuAction, MenuHandles, build_id_lookup, build_menu, refresh_task_labels};
2626

2727
fn main() {
2828
env_logger::init();
@@ -167,7 +167,10 @@ impl EventLoop {
167167

168168
fn open_config(paths: &std::sync::Arc<crate::paths::LinuxPaths>) {
169169
let config_path = paths.config_path();
170-
let parent = config_path.parent().map(|p| p.to_path_buf()).unwrap_or(config_path);
170+
let parent = config_path
171+
.parent()
172+
.map(|p| p.to_path_buf())
173+
.unwrap_or(config_path);
171174

172175
info!("opening config folder at {:?}", parent);
173176
let result = Command::new("xdg-open").arg(&parent).spawn();

app-linux/src/menu.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use std::collections::HashMap;
22

33
use log::debug;
4-
use tray_icon::menu::{CheckMenuItem, Menu, MenuId, MenuItem, PredefinedMenuItem};
54
use something_bg_core::config::{Config, ScheduledTaskConfig, TunnelConfig};
6-
use something_bg_core::scheduler::{cron_to_human_readable, format_last_run, TaskScheduler};
5+
use something_bg_core::scheduler::{TaskScheduler, cron_to_human_readable, format_last_run};
6+
use tray_icon::menu::{CheckMenuItem, Menu, MenuId, MenuItem, PredefinedMenuItem};
77

88
/// Holds references to menu items so we can update their checked state / labels.
99
pub struct MenuHandles {
@@ -61,8 +61,7 @@ pub fn build_menu(config: &Config, scheduler: &TaskScheduler) -> (Menu, MenuHand
6161
for (key, task) in &config.schedules {
6262
add_group_header_for_task(&menu, task);
6363

64-
let schedule_line =
65-
format!("Schedule: {}", cron_to_human_readable(&task.cron_schedule));
64+
let schedule_line = format!("Schedule: {}", cron_to_human_readable(&task.cron_schedule));
6665
let schedule_item = MenuItem::new(&schedule_line, false, None);
6766
if let Err(e) = menu.append(&schedule_item) {
6867
debug!("failed to append schedule label: {e}");

app-windows/src/app.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ impl AppState {
4949
scheduler.save_states();
5050
info!("Saved initial task states to disk");
5151
scheduler.start();
52-
info!("Task scheduler started with {} tasks", config.schedules.len());
52+
info!(
53+
"Task scheduler started with {} tasks",
54+
config.schedules.len()
55+
);
5356
scheduler.check_and_run_missed_tasks();
5457

5558
(

app-windows/src/main.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ mod paths;
66

77
use std::process::Command;
88
use std::sync::{
9-
atomic::{AtomicBool, Ordering},
109
Arc,
10+
atomic::{AtomicBool, Ordering},
1111
};
1212
use std::thread;
1313
use std::time::{Duration, Instant};
@@ -16,11 +16,11 @@ use ctrlc;
1616
use env_logger;
1717
use log::{error, info, warn};
1818
use something_bg_core::platform::AppPaths;
19-
use tray_icon::{Icon, TrayIcon, TrayIconBuilder};
2019
use tray_icon::menu::MenuEvent;
20+
use tray_icon::{Icon, TrayIcon, TrayIconBuilder};
2121

2222
use crate::app::AppState;
23-
use crate::menu::{build_id_lookup, build_menu, refresh_task_labels, MenuAction, MenuHandles};
23+
use crate::menu::{MenuAction, MenuHandles, build_id_lookup, build_menu, refresh_task_labels};
2424

2525
fn main() {
2626
env_logger::init();
@@ -153,7 +153,10 @@ impl EventLoop {
153153

154154
fn open_config(paths: &Arc<crate::paths::WindowsPaths>) {
155155
let config_path = paths.config_path();
156-
let parent = config_path.parent().map(|p| p.to_path_buf()).unwrap_or(config_path);
156+
let parent = config_path
157+
.parent()
158+
.map(|p| p.to_path_buf())
159+
.unwrap_or(config_path);
157160

158161
info!("opening config folder at {:?}", parent);
159162
let result = Command::new("explorer.exe").arg(&parent).spawn();
@@ -165,10 +168,7 @@ fn open_config(paths: &Arc<crate::paths::WindowsPaths>) {
165168
fn open_about() {
166169
let url = "https://github.com/vim-zz/something_bg";
167170
info!("opening project page: {url}");
168-
if let Err(e) = Command::new("cmd")
169-
.args(["/C", "start", url])
170-
.spawn()
171-
{
171+
if let Err(e) = Command::new("cmd").args(["/C", "start", url]).spawn() {
172172
warn!("failed to open browser: {e}");
173173
}
174174
}

app-windows/src/menu.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::collections::HashMap;
22

33
use log::debug;
44
use something_bg_core::config::{Config, ScheduledTaskConfig, TunnelConfig};
5-
use something_bg_core::scheduler::{cron_to_human_readable, format_last_run, TaskScheduler};
5+
use something_bg_core::scheduler::{TaskScheduler, cron_to_human_readable, format_last_run};
66
use tray_icon::menu::{CheckMenuItem, Menu, MenuId, MenuItem, PredefinedMenuItem};
77

88
pub struct MenuHandles {
@@ -60,8 +60,7 @@ pub fn build_menu(config: &Config, scheduler: &TaskScheduler) -> (Menu, MenuHand
6060
for (key, task) in &config.schedules {
6161
add_group_header_for_task(&menu, task);
6262

63-
let schedule_line =
64-
format!("Schedule: {}", cron_to_human_readable(&task.cron_schedule));
63+
let schedule_line = format!("Schedule: {}", cron_to_human_readable(&task.cron_schedule));
6564
let schedule_item = MenuItem::new(&schedule_line, false, None);
6665
if let Err(e) = menu.append(&schedule_item) {
6766
debug!("failed to append schedule label: {e}");

core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "something_bg_core"
3-
version = "1.5.0"
3+
version = "1.5.1"
44
edition = "2024"
55

66
[dependencies]

0 commit comments

Comments
 (0)