From b27a95e54744f82ead3cd21eb999f0aaf4111488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Wed, 7 Dec 2022 08:18:30 +0100 Subject: [PATCH] Split Mac CI with and without heif (#875) --- .github/workflows/mac.yml | 22 ++- Cargo.lock | 160 +++++++----------- czkawka_cli/Cargo.toml | 2 +- czkawka_core/Cargo.toml | 6 +- czkawka_gui/Cargo.toml | 10 +- .../connect_things/connect_button_compare.rs | 2 +- czkawka_gui/src/gui_structs/gui_data.rs | 1 - .../src/gui_structs/gui_upper_notebook.rs | 2 +- 8 files changed, 95 insertions(+), 110 deletions(-) diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 3e4e665..45e2a41 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -41,7 +41,7 @@ jobs: run: brew install rust gtk4 libheif - name: Build Release - run: cargo build --release --features heif + run: cargo build --release env: CARGO_INCREMENTAL: 0 if: ${{ matrix.type == 'release'}} @@ -58,4 +58,24 @@ jobs: with: name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }} path: target/release/czkawka_gui + if: ${{ matrix.type == 'release' }} + + - name: Build Release Heif + run: cargo build --release --features heif + env: + CARGO_INCREMENTAL: 0 + if: ${{ matrix.type == 'release'}} + + - name: Store MacOS CLI Heif + uses: actions/upload-artifact@v3 + with: + name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }}-heif + path: target/release/czkawka_cli + if: ${{ matrix.type == 'release' }} + + - name: Store MacOS GUI Heif + uses: actions/upload-artifact@v3 + with: + name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}-heif + path: target/release/czkawka_gui if: ${{ matrix.type == 'release' }} \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index b0da7a1..288e476 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,12 +125,6 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.20.0-alpha.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "149ea5dc24cb11513350770afebba32b68e3d2e356f9221351a2a1ee89112a82" - [[package]] name = "base64ct" version = "1.5.3" @@ -170,9 +164,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895adc16c8b3273fbbc32685a7d55227705eda08c01e77704020f3491924b44b" +checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" dependencies = [ "arrayref", "arrayvec", @@ -328,7 +322,7 @@ dependencies = [ "js-sys", "num-integer", "num-traits", - "time 0.1.44", + "time 0.1.45", "wasm-bindgen", "winapi", ] @@ -503,9 +497,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "bdf07d07d6531bfcdbe9b8b739b104610c6508dcc4d63b410585faf338241daf" dependencies = [ "cc", "cxxbridge-flags", @@ -515,9 +509,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "d2eb5b96ecdc99f72657332953d4d9c50135af1bac34277801cc3937906ebd39" dependencies = [ "cc", "codespan-reporting", @@ -530,15 +524,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "ac040a39517fd1674e0f32177648334b0f4074625b5588a64519804ba0553b12" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "1362b0ddcfc4eb0a1f57b68bd77dd99f0e826958a96abd0ae9bd092e114ffed6" dependencies = [ "proc-macro2", "quote", @@ -983,9 +977,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.16.3" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba3e42776d1466938add08211734738d5c76e863a25b7a8064c4433a74a1a26" +checksum = "d3094f2b8578136d1929cade4e0fff82f573521b579e96cfc24af2458431f176" dependencies = [ "bitflags", "gdk-pixbuf-sys", @@ -1009,9 +1003,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc7fc4b05be1159056c57a08102ea494892f75ff8517f5518b0401e466f77c69" +checksum = "237d840e2017e61a8f528261e3397f378b579aeb8c7b798b29bbec6d4890c843" dependencies = [ "bitflags", "cairo-rs", @@ -1025,9 +1019,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c057b794185a52862037526fb95aafabce9427fb98a7e9f5fe39a6f832c92822" +checksum = "3b5dafeabcbabda52b39b28e0641c5767d56cd47f273291d1bf1bb846176a6a0" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1121,9 +1115,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.16.3" +version = "0.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50feee2f1e73be50e6634c901bfced69a0937c5e4e4673067ade85e093fa9bd7" +checksum = "0cd04d150a2c63e6779f43aec7e04f5374252479b7bed5f45146d9c0e821f161" dependencies = [ "bitflags", "futures-channel", @@ -1208,9 +1202,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dcd01e485189515263f6d3ac8a624b1c0cd13c1097991e72d0cc0c145a303c0" +checksum = "e349ef4df495fe0e3ed926294bace13dc560ac97fe0943c6646349fd4208d9ca" dependencies = [ "bitflags", "cairo-rs", @@ -1224,9 +1218,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47c49111e33020615a6c6b78d755c8b54b8504143cae1bf972bccc03eaa3f59" +checksum = "e0118e5fcfbcb8dbd16b50dc79781c1cd520f1cf620c09a973d08023ca89d719" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1240,9 +1234,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c61a704ecdedd1c0ca66ff0184bd19e9c488835bb391655bfe6b60f6e2e43e" +checksum = "2568accd16cfbeecaf961bd762d88888ee9f4bb161ab5d5cfc9517d62bdb4155" dependencies = [ "bitflags", "cairo-rs", @@ -1263,9 +1257,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f57e7025a8bae8429e07aeeae9c4c3fef5d7cd14834afdd6d6d23f76984246" +checksum = "8ed8c00535fa1cb4b6d0e6548b0077148076c5ed8d46fc6e685cff5ee635529f" dependencies = [ "anyhow", "proc-macro-crate", @@ -1277,9 +1271,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e1bb57be47aac6ce77b5281ad64389a19db5aba6db75b07f0049571ad6fe0f" +checksum = "6bc9fe486789d3a43c1e2bf9f547964ec0181e5df5b9cdc214f88d335f8257ed" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1472,11 +1466,11 @@ dependencies = [ [[package]] name = "image_hasher" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0369096d76c8fe2d3d2a59d1720743a5caf44787e9a6348ef380484fe1ea46" +checksum = "a465709ca502270eba7ae8129c6a680f5668748d7edafa85da0f8ceae596bb2b" dependencies = [ - "base64 0.20.0-alpha.1", + "base64", "image", "rustdct 0.7.1", "serde", @@ -1612,9 +1606,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" [[package]] name = "libheif-rs" @@ -1685,7 +1679,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8242df2d720c7f2e23bb7829da4447e5a762ccf0a361a01efe1433f554a48400" dependencies = [ - "base64 0.13.1", + "base64", "byteorder", "cfg-if", "flate2", @@ -1970,9 +1964,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.16.3" +version = "0.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6a83cd4015382dbb0f4fcf3ab7b277d4885711a62b2f2c1e6582a120094edad" +checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94" dependencies = [ "bitflags", "gio", @@ -2006,9 +2000,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -2099,9 +2093,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f400b0f7905bf702f9f3dc3df5a121b16c54e9e8012c082905fdf09a931861a" +checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0" dependencies = [ "thiserror", "ucd-trie", @@ -2530,18 +2524,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" dependencies = [ "proc-macro2", "quote", @@ -2871,9 +2865,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.103" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -2973,9 +2967,9 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", @@ -3116,9 +3110,9 @@ dependencies = [ [[package]] name = "trash" -version = "2.1.5" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe090367848cd40c4230ff3ce4e2ff6a2fd511c1e14ae047a4a4c37ef7965236" +checksum = "6f74274f95c7e7340d7c5bcd4863af87a9ed6a117cf73cf483c71cb4d744a948" dependencies = [ "chrono", "libc", @@ -3127,7 +3121,7 @@ dependencies = [ "once_cell", "scopeguard", "url", - "windows 0.37.0", + "windows 0.43.0", ] [[package]] @@ -3147,9 +3141,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" @@ -3393,15 +3387,17 @@ dependencies = [ [[package]] name = "windows" -version = "0.37.0" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" +checksum = "04662ed0e3e5630dfa9b26e4cb823b817f1a9addda855d973a9458c236556244" dependencies = [ - "windows_aarch64_msvc 0.37.0", - "windows_i686_gnu 0.37.0", - "windows_i686_msvc 0.37.0", - "windows_x86_64_gnu 0.37.0", - "windows_x86_64_msvc 0.37.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", ] [[package]] @@ -3431,12 +3427,6 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" -[[package]] -name = "windows_aarch64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" - [[package]] name = "windows_aarch64_msvc" version = "0.42.0" @@ -3449,12 +3439,6 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" -[[package]] -name = "windows_i686_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" - [[package]] name = "windows_i686_gnu" version = "0.42.0" @@ -3467,12 +3451,6 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" -[[package]] -name = "windows_i686_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" - [[package]] name = "windows_i686_msvc" version = "0.42.0" @@ -3485,12 +3463,6 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" -[[package]] -name = "windows_x86_64_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" - [[package]] name = "windows_x86_64_gnu" version = "0.42.0" @@ -3509,12 +3481,6 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" -[[package]] -name = "windows_x86_64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" - [[package]] name = "windows_x86_64_msvc" version = "0.42.0" diff --git a/czkawka_cli/Cargo.toml b/czkawka_cli/Cargo.toml index 9e3f90c..c718b3b 100644 --- a/czkawka_cli/Cargo.toml +++ b/czkawka_cli/Cargo.toml @@ -13,7 +13,7 @@ repository = "https://github.com/qarmin/czkawka" clap = { version = "3.2.23", features = ["derive"] } # For enum types -image_hasher = "1.1.1" +image_hasher = "1.1.2" [dependencies.czkawka_core] path = "../czkawka_core" diff --git a/czkawka_core/Cargo.toml b/czkawka_core/Cargo.toml index 135e7cd..c00f026 100644 --- a/czkawka_core/Cargo.toml +++ b/czkawka_core/Cargo.toml @@ -19,7 +19,7 @@ crossbeam-channel = "0.5.6" directories-next = "2.0.0" # Needed by similar images -image_hasher = "1.1.1" +image_hasher = "1.1.2" bk-tree = "0.4.0" image = "0.24.5" hamming = "0.1.3" @@ -37,7 +37,7 @@ audio_checker = "0.1.0" pdf = "0.7.2" # Hashes for duplicate files -blake3 = "1.3.2" +blake3 = "1.3.3" crc32fast = "1.3.2" xxhash-rust = { version = "0.8.6", features = ["xxh3"] } @@ -48,7 +48,7 @@ vid_dup_finder_lib = "0.1.1" ffmpeg_cmdline_utils = "0.1.2" # Saving/Loading Cache -serde = "1.0.147" +serde = "1.0.149" bincode = "1.3.3" serde_json = "1.0.89" diff --git a/czkawka_gui/Cargo.toml b/czkawka_gui/Cargo.toml index ce15468..28b69d9 100644 --- a/czkawka_gui/Cargo.toml +++ b/czkawka_gui/Cargo.toml @@ -10,8 +10,8 @@ homepage = "https://github.com/qarmin/czkawka" repository = "https://github.com/qarmin/czkawka" [dependencies] -gdk4 = "0.5.2" -glib = "0.16.3" +gdk4 = "0.5.3" +glib = "0.16.5" humansize = "2.1.2" chrono = "0.4.23" @@ -35,10 +35,10 @@ image = "0.24.5" regex = "1.7.0" # To get image_hasher types -image_hasher = "1.1.1" +image_hasher = "1.1.2" # Move files to trash -trash = "2.1.5" +trash = "3.0.0" # For moving files(why std::fs doesn't have such features) fs_extra = "1.2.0" @@ -53,7 +53,7 @@ once_cell = "1.16.0" winapi = { version = "0.3.9", features = ["combaseapi", "objbase", "shobjidl_core", "windef", "winerror", "wtypesbase", "winuser"] } [dependencies.gtk4] -version = "0.5.2" +version = "0.5.3" default-features = false features = ["v4_6"] diff --git a/czkawka_gui/src/connect_things/connect_button_compare.rs b/czkawka_gui/src/connect_things/connect_button_compare.rs index dc323b5..876c500 100644 --- a/czkawka_gui/src/connect_things/connect_button_compare.rs +++ b/czkawka_gui/src/connect_things/connect_button_compare.rs @@ -626,7 +626,7 @@ fn update_bottom_buttons( let is_chosen = cache_tree_path != right_tree_view && cache_tree_path != left_tree_view; let bx = i.downcast::().unwrap(); - let smaller_bx = get_all_direct_children(&bx)[0].clone().downcast::().unwrap(); + let smaller_bx = bx.first_child().unwrap().downcast::().unwrap(); for items in get_all_direct_children(&smaller_bx) { if let Ok(btn) = items.downcast::() { btn.set_sensitive(is_chosen); diff --git a/czkawka_gui/src/gui_structs/gui_data.rs b/czkawka_gui/src/gui_structs/gui_data.rs index 4744470..b613dd2 100644 --- a/czkawka_gui/src/gui_structs/gui_data.rs +++ b/czkawka_gui/src/gui_structs/gui_data.rs @@ -117,7 +117,6 @@ impl GuiData { window_main.show(); let pixbuf = Pixbuf::from_read(std::io::BufReader::new(&ICON_ABOUT[..])).unwrap(); - // window_main.set_icon(Some(&pixbuf)); // TODO window_main.set_application(Some(application)); diff --git a/czkawka_gui/src/gui_structs/gui_upper_notebook.rs b/czkawka_gui/src/gui_structs/gui_upper_notebook.rs index 74ff912..f30f2e6 100644 --- a/czkawka_gui/src/gui_structs/gui_upper_notebook.rs +++ b/czkawka_gui/src/gui_structs/gui_upper_notebook.rs @@ -158,7 +158,7 @@ impl GuiUpperNotebook { self.entry_general_maximal_size.set_tooltip_text(Some(&flg!("main_label_size_bytes_tooltip"))); let vec_children: Vec = get_all_direct_children(&self.notebook_upper); - let vec_children: Vec = get_all_direct_children(&vec_children[1]); + let vec_children: Vec = get_all_direct_children(&vec_children[1]); // This is quite safe in GTK 4, because tab label is always second child // Change name of upper notebook tabs for (upper_enum, fl_thing) in [