From 95bfaab26ceb064465b062c776fbc8dc88980df5 Mon Sep 17 00:00:00 2001 From: dam Date: Thu, 13 Feb 2025 23:15:35 +0000 Subject: Release for macOS. --- modules/TUI/unix.jai | 28 ++++++++++++++++++++-------- ttt.jai | 12 ++++++++---- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/modules/TUI/unix.jai b/modules/TUI/unix.jai index 9208e4b..8700b7c 100644 --- a/modules/TUI/unix.jai +++ b/modules/TUI/unix.jai @@ -4,6 +4,16 @@ #import "System"; #import "POSIX"; + #if OS == { + case .LINUX; + TCFLAG_T :: u32; + SPEED_T :: u32; + + case .MACOS; + TCFLAG_T :: u64; + SPEED_T :: u64; + } + // Queue selector used in tcflush(...). // LINUX : https://sourceware.org/git/glibc.git -> ./sysdeps/unix/sysv/linux/bits/termios-struct.h // MACOS : https://opensource.apple.com/source/xnu/xnu-792/bsd/sys/termios.h.auto.html @@ -29,7 +39,7 @@ TCSADRAIN :: 1; // Change when pending output is written. TCSAFLUSH :: 2; // Flush pending input before changing. } - + // Terminal control (struct termios). // LINUX : https://sourceware.org/git/glibc.git -> ./sysdeps/unix/sysv/linux/bits/termios-struct.h // MACOS : https://opensource.apple.com/source/xnu/xnu-792/bsd/sys/termios.h.auto.html @@ -47,16 +57,18 @@ c_oflag : Output_Modes; // Output mode flags. c_cflag : Control_Modes; // Control modes flags. c_lflag : Local_Modes; // Local modes flags. - c_line : u8; // Line discipline. + #if OS == .LINUX { + c_line : u8; // Line discipline. + } c_cc : [NCCS]Control_Chars; // Control characters. - c_ispeed : u32; // Input speed (baud rates). - c_ospeed : u32; // Output speed (baud rates). + c_ispeed : SPEED_T; // Input speed (baud rates). + c_ospeed : SPEED_T; // Output speed (baud rates). } // Input modes. // LINUX : https://sourceware.org/git/glibc.git -> ./sysdeps/unix/sysv/linux/bits/termios-c_iflag.h // MACOS : https://opensource.apple.com/source/xnu/xnu-792/bsd/sys/termios.h.auto.html - Input_Modes :: enum_flags u32 { + Input_Modes :: enum_flags TCFLAG_T { IGNBRK :: 0x00000001; // Ignore break condition. BRKINT :: 0x00000002; // Signal interrupt on break. IGNPAR :: 0x00000004; // Ignore characters with parity errors. @@ -84,7 +96,7 @@ // Output modes. // LINUX : https://sourceware.org/git/glibc.git -> ./sysdeps/unix/sysv/linux/bits/termios-c_oflag.h // MACOS : https://opensource.apple.com/source/xnu/xnu-792/bsd/sys/termios.h.auto.html - Output_Modes :: enum_flags u32 { + Output_Modes :: enum_flags TCFLAG_T { #if OS == { case .LINUX; @@ -108,7 +120,7 @@ // Control modes. // LINUX : https://sourceware.org/git/glibc.git -> ./sysdeps/unix/sysv/linux/bits/termios-c_cflag.h // MACOS : https://opensource.apple.com/source/xnu/xnu-792/bsd/sys/termios.h.auto.html - Control_Modes :: enum u32 { + Control_Modes :: enum TCFLAG_T { #if OS == { case .LINUX; @@ -142,7 +154,7 @@ // Local modes. // LINUX : https://sourceware.org/git/glibc.git -> ./sysdeps/unix/sysv/linux/bits/termios-c_lflag.h // MACOS : https://opensource.apple.com/source/xnu/xnu-792/bsd/sys/termios.h.auto.html - Local_Modes :: enum_flags u32 { + Local_Modes :: enum_flags TCFLAG_T { #if OS == { case .LINUX; diff --git a/ttt.jai b/ttt.jai index 7ccf803..8339a1a 100644 --- a/ttt.jai +++ b/ttt.jai @@ -1,4 +1,4 @@ -// Copyright 2024 Daniel Almeida Martins +// Copyright 2025 Daniel Almeida Martins // License GPL-3.0-or-later DEBUG :: false; @@ -14,8 +14,8 @@ DEBUG :: false; #import "UTF8"; TUI :: #import "TUI"(COLOR_MODE_BITS=4); -VERSION :: "3.2"; // Use only 3 chars (to fit layouts). -YEAR :: "2024"; +VERSION :: "3.3"; // Use only 3 chars (to fit layouts). +YEAR :: "2025"; NUM_WEEK_DAYS :: 7; APP_FOLDER_NAME :: "task_time_tracker"; @@ -1244,7 +1244,11 @@ main :: () { case .LINUX; PATH_DELIMITER :: "/"; base_path = join(home_path, "/.local/share",, allocator = temporary_allocator); - + + case .MACOS; + PATH_DELIMITER :: "/"; + base_path = join(home_path, "/Library",, allocator = temporary_allocator); + case .WINDOWS; PATH_DELIMITER :: "\\"; base_path = join(home_path, "\\Appdata\\Roaming",, allocator = temporary_allocator); -- cgit v1.2.3