Welcome, Guest |
You have to register before you can post on our site.
|
Online Users |
There are currently 223 online users. » 6 Member(s) | 216 Guest(s) Google, MichaelTriny
|
Latest Threads |
Dynamic Windows 3.4 Plans
Forum: Dynamic Windows
Last Post: dbsoft
12-05-2023, 09:44 PM
» Replies: 3
» Views: 5,235
|
White Star PowerMac
Forum: White Star
Last Post: dbsoft
11-26-2023, 09:19 PM
» Replies: 0
» Views: 3,814
|
Pale Moon 32.3.1 and Basi...
Forum: White Star
Last Post: dbsoft
07-19-2023, 01:46 AM
» Replies: 0
» Views: 4,185
|
Pale Moon 32.3.0 will not...
Forum: White Star
Last Post: Goodydino
07-16-2023, 07:15 PM
» Replies: 6
» Views: 10,345
|
White Star testers requir...
Forum: White Star
Last Post: dbsoft
06-27-2023, 08:23 PM
» Replies: 0
» Views: 4,114
|
Pale Moon forum using Clo...
Forum: White Star
Last Post: dbsoft
06-12-2023, 06:59 PM
» Replies: 3
» Views: 6,905
|
Pale Moon 32.2.0
Forum: White Star
Last Post: Goodydino
05-26-2023, 09:51 PM
» Replies: 9
» Views: 13,818
|
Notarization poll
Forum: White Star
Last Post: dbsoft
04-25-2023, 04:20 AM
» Replies: 2
» Views: 6,588
|
Pale Moon 32.1.1
Forum: White Star
Last Post: dbsoft
04-18-2023, 06:52 PM
» Replies: 0
» Views: 4,186
|
Basilisk 2023.04.04
Forum: White Star
Last Post: dbsoft
04-05-2023, 06:43 PM
» Replies: 0
» Views: 4,243
|
|
|
Feedback for White Star 30 |
Posted by: dbsoft - 03-18-2022, 12:27 PM - Forum: White Star
- Replies (16)
|
|
Pale Moon 30 has been released, and it looked like it was a major update.
However I browsed through the code changes and that vast majority of the changes are the removal of the following:
Mac support
Android support
Clang support
EME Encrypted Media Extensions
WebRTC Real Time Communication
Telemetry
Plus a bunch of file reorganization, and renaming such as UXP to GRE (Goanna Runtime Environment)
Obviously I am not removing Mac and Clang support from my tree, as it would make White Star no longer function on MacOS.
EME and WebRTC are not enabled by default in White Star or Pale Moon but having them as options in the tree always seemed nice to me.
I'm thinking of just cherry picking the new features without the massive removals (except for maybe Telemetry) and file reorganization:
Global Privacy Control (Do Not Track) support
Updated emoji support
Selection.setBaseAndExtent() support
queueMicroTask() support
Firefox UUID support for extensions
The library updates:
Cubeb (My library is already updated, they reverted theirs due to Windows problems)
sqllite
cairo
... and of course the security fixes.
Anyone have any thoughts before I start on this?
Brian
|
|
|
Build instructions |
Posted by: noobsoftware - 02-23-2022, 08:09 PM - Forum: White Star
- Replies (6)
|
|
I want to start building Silver again, but I need the build instructions for Pale Moon to know the necessary software to install, there was a web page with build instructions for Pale Moon for mac which worked perfectly for Silver. Other wise if anyone knows the build instructions by heart that would work as well.
Many thanks,
Noob Software
|
|
|
What is dwmain? |
Posted by: 1e9t8m29 - 02-17-2022, 04:21 PM - Forum: Dynamic Windows
- Replies (6)
|
|
I'm having trouble to understand what is dwmain. I run gcc -E with the following snippet and it prints nothing. It seems it can't interpret them.
Code: if defined(__WIN32__)
#define dwmain(a, b) \
_dwmain(a, b); \
char ** API _dw_convertargs(int *count, char *start, HINSTANCE hInstance); \
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {\
int argc; \
char **argv = _dw_convertargs(&argc, lpCmdLine, hInstance); \
return _dwmain(argc, argv); } \
int _dwmain(a, b)
|
|
|
White Star 29.4.4 |
Posted by: dbsoft - 01-19-2022, 12:26 AM - Forum: White Star
- Replies (12)
|
|
Download SHA256: 6b29456b33a302e5a717ac712e98aa270dcda3a9219d69c43b1f8d8c7b8257f4
Source Code GitHub: White-Star UXP
Release Notes
Security update.
Note: The old repositories and builds have now been removed from the public. If you want a build or source older than 29.4.3 contact me directly.
This build does not address the MacOS 12 Monterey audio problem, but as noted in a post on the 29.4.3 thread, if you start White Star from the command line then the sound works:
Code: /Applications/White\ Star.app/Contents/MacOS/whitestar
Enjoy!
Brian
|
|
|
Dynamic Windows 3.2 Released! |
Posted by: dbsoft - 01-07-2022, 03:41 PM - Forum: Dynamic Windows
- Replies (1)
|
|
Dynamic Windows 3.2 has been officially released! Binaries are now available for OS/2, Win32 and Win64. Source is available to build on Unix (FreeBSD, Linux, Solaris and more) using GTK3, GTK4 or GTK2 and MacOS X 10.5 or higher using Cocoa. Beta sources are now available for iOS 13 or higher and Android 6 or higher.
Builds will be coming to the OS/2 Netlabs FTP server soon, but in the meantime, you can downlad from here:
Unix with GTK3, GTK4 or GTK2 and MacOS
Source tarball for Unix and MacOS
Windows Packages for Developers
Windows Vista and later 64bit
Windows Vista and later 32bit
OS/2 Packages for Developers
OS/2 Unicode
Dynamic Windows Interface Builder 1.0b4 Builds
Windows Vista and later 64bit
Windows Vista and later 32bit
Windows XP and later 32bit
OS/2, eComstation and Arca Noae
MacOS 10.14 through 12 Intel and Apple Silicon
MacOS 10.8 through 10.13 Intel 32 and 64bit
MacOS 10.5 through 10.7 PowerPC, Intel 32 and 64bit
MacOS 10.5 PowerPC 32 and 64bit
HandyFTP 1.0b5 Builds
Windows Vista and later 64bit
Windows Vista and later 32bit
Windows XP and later 32bit
OS/2, eComstation and Arca Noae
MacOS 10.14 through 12 Intel and Apple Silicon
MacOS 10.8 through 10.13 Intel 32 and 64bit
MacOS 10.5 through 10.7 PowerPC, Intel 32 and 64bit
MacOS 10.5 PowerPC 32 and 64bit
Control Center 0.6 Builds
Windows Vista and later 64bit
Windows Vista and later 32bit
Windows XP and later 32bit
OS/2, eComstation and Arca Noae
MacOS 10.14 through 12 Intel and Apple Silicon
MacOS 10.8 through 10.13 Intel 32 and 64bit
MacOS 10.5 through 10.7 PowerPC, Intel 32 and 64bit
MacOS 10.5 PowerPC 32 and 64bit
Build Recommendations:
MacOS:
11-12: Code: configure --with-arch=modern --with-minver=10.14
64bit Intel and Apple Silicon support with Dark Mode.
10.13-10.15: Code: configure --with-minver=10.8
64bit Intel with Notifications, Dark Mode for 10.14-15.
10.8-10.12: Code: configure --with-arch=intel --with-minver=10.8
64 and 32bit Intel with Notifications but no Dark Mode.
10.5-10.6: Code: configure --with-arch=classic --with-minver=10.5
32bit PowerPC, 64bit and 32bit Intel classic support. No Notifications, Dark Mode nor NSView container/trees.
Windows:
7-11: Visual Studio 2017-2022, WebView2 and WinToast. Should run on Vista and later, supports domain sockets on Windows 10, oldsockpipe() on older versions.
XP: Visual Studio 2010. Old sockpipe() on all versions. Should run on XP and later, with Aero on Vista and 7. No Notifications nor WebView2 and old sockpipe() on all.
2000: Visual Studio 2005. Remove -DAEROGLASS from CFLAGS. Should run on 2000 and later, no Aero, Notifications, WebView2 and old sockpipe() on all versions.
Changes from version 3.1:
Changed handling of button 3 press and release events. WARNING: This could be a breaking change for apps handling mouse button 3. Windows, Mac and GTK now pass button 3 as the mask (value 4) instead of the button number (value 3). OS/2 and the related motion event passed buttons as a mask. In these value 3 is buttons 1 and 2 together. Button press and release events are only for a single button... so this would never happen allowing value 3 for button 3. To allow the same code to work for button presses and motion events, I am standardizing on using the masks for both. If you use button 3 press/release, please audit code for 3.2.
Added initial support for GTK4. --with-gtk4 is now available. GTK4 support is less complete than GTK3, a number of features of the GTK3 version are no longer possible in GTK4 like: Taskbar icon support, MDI, gravity and non-callback drawing.
Added initial support for Wayland on GTK3 and GTK4. Wayland is not in my opinion ready for prime time, many features, possibly a half a dozen functions, dealing with coordinates, mouse pointer grabbing and such are unable to function. I recommend sticking with X11 for now, but built with GTK3 or GTK4 Dynamic Windows applications will run on Wayland now. GTK3 with Wayland also does not support non-callback drawing.
Added initial iOS support, kicking off a push for mobile. iOS requires 13.0 or later due use of SF Symbols and features introduced with iOS 13 and Mac Catalyst. Several widgets are currently unsupported: Tree, MDI and Taskbar. See mobile.txt Command line builds not supported, create an Xcode project.
Added initial Android support, Android Studio with Kotlin required. API 23 (Android 6) or later is required to run the apps. Like iOS several widgets are not supported: Tree, Taskbar, MDI. Command line builds not supported, create a JNI project.
Added DW_FEATURE_WINDOW_PLACEMENT to test to see if we can get or set the positions of the windows on the screen. Unavailable on the following: iOS, Android, GTK3 or GTK4 with Wayland.
Added DW_FEATURE_TREE to test to see if we can use the tree widget. The tree widget is unsupported on: iOS and Android.
Added DW_FEATURE_TASKBAR to test to see if we can use a taskbar icon. The only platform that supports this feature on all supported versions is Windows. OS/2 requires installed software, Mac requires Yosemite and later. GTK requires GTK2 or GTK3. iOS and Android are unsupported.
Added dw_render_redraw() function to trigger a DW_SIGNAL_EXPOSE event on render widgets allowing drawing to happen in the callback. GTK4 and GTK3 with Wayland require drawing to be done in the callback, necessitating a dw_render_redraw() or dw_flush() call. dw_flush() may cause multiple draw passes. iOS and Android also require drawing in the expose callback.
Added new function dw_window_compare() to check if two window handles reference the same object. Necessary in the Android port since handles passed to callbacks can be local references, so they don't always match the handles saved during window creation. This is a special case function which normally isn't required.
Added support for dw_window_set_font() with a NULL font parameter. This resets the font used on the widget to the default font.
Added a new constant DW_SIZE_AUTO to pass to box packing functions.
Added a new constant DW_DIR_SEPARATOR which is char that defines the path directory separator on the running platform.
Changed the entrypoint to be dwmain() instead of main(). This allows special handling of the entrypoint on systems requiring it such as: Windows, iOS and Android. As such Windows ports no longer require winmain.c.
Changed dw_timer_connnect() and dw_timer_disconnect() to use HTIMER. This allows newer ports to use object handles that won't fit in what had been an integer reference. OS/2 will use its native HTIMER and other existing platforms will continue to use "int" for compatibility. Other platforms may change in the future.
Changed dw_exec() with DW_EXEC_CON will now open the Terminal.app on Mac and the system (Gnome) terminal on Unix via GLib's G_APP_INFO_CREATE_NEEDS_TERMINAL instead of launching an xterm.
Fixed GTK warnings on GTK3 caused by using Pango style font syntax.
Fixed GTK3 leaks when setting fonts or colors on a widget repeatedly.
Fixed incorrect reporting of word wrap support on Windows.
Fixed a number of misbehaviors with dw_window_set_font() and dw_window_set_color() on various platforms.
Added missing DW_CLR_DEFAULT support on OS/2, it previously only worked to avoid setting a color, not resetting them to default.
Added oldsockpipe() macro which will be used as a fallback. This allows us to use domain socket sockpipe() when available... and fall back to the old version when not, letting us have Windows 10 domain socket builds that work on earlier versions.
Fixed building and several issues related to MacOS 10.5 now that I have a PowerMac G5 running 10.5.8 to test on.
Fixed a bug in dw_listbox_set_text() on GTK3.
Fixed sockpipe() functionality with gcc on OS/2.
Ongoing work to have a more consistent code style across platforms. See the accompanying style.txt file for more information.
Dynamic Windows Documentation is available at:
Dynamic Windows Help Index
|
|
|
White Star 29.4.3 |
Posted by: dbsoft - 12-15-2021, 12:13 AM - Forum: White Star
- Replies (11)
|
|
Download SHA256: 5dee31f44d09094d276820868d0d569041162ba285b515ba2fd4c827434e1954
Source Code GitHub: White-Star UXP
Release Notes
Mainly a security update... and FUEL is returning once again indefinitely?
UPDATE: Dec 24th a pre-Christmas present. As reported in another thread the Pale Moon Add-ons site started filtering out Macintosh clients as not being Pale Moon, even though White Star is just Pale Moon for Macintosh. I added a User Agent Override to report White Star as Pale Moon for Windows to palemoon.org. Now you can download add-ons from the Pale Moon site again. Enjoy and Merry Christmas!
Brian
|
|
|
White Star Repository Changes |
Posted by: dbsoft - 12-13-2021, 11:16 PM - Forum: White Star
- Replies (5)
|
|
This is an important notice to any developers out there.
The Pale Moon team requested I remove some materials which are unused in White Star but are in the tree from when I branched from Pale Moon. After looking at the issue for a bit this past month, I have decided I am just going to create two new repositories... they will not have the history or branches that the old repositories do.
So from the next release forward the repositories will no longer be using the Mac branch, the new platform name will be switching back to UXP, and should be buildable on Unix and Windows as well as MacOS.
The existing White-Star repository will be renamed White-Star-Old and the new one will take its place. The new platform repository will be UXP, since the Pale Moon team is no longer using that name.
After about a month I will make the White-Star-Old and MXP private and I will be taking down all the old builds and sources from my server. The sources currently contain the materials that the Pale Moon team is requesting be removed, and if I remove the source I need to remove the binaries. They will be available upon request, but if you want to get them easily do so now before they get removed from the public server.
Thanks for your attention,
Brian
|
|
|
White Star 29.4.2 |
Posted by: dbsoft - 11-09-2021, 10:48 PM - Forum: White Star
- Replies (4)
|
|
This build is no longer available for download.
Release Notes
This is primarily a security update, only new feature is an option for TLS 1.3 compatibility.
Not as many changes as I was fearing, so was able to get it released today (just barely, an hour and change remaining) despite the internet outage.
|
|
|
Mobile Project Creation |
Posted by: dbsoft - 10-18-2021, 10:05 PM - Forum: Dynamic Windows
- No Replies
|
|
I don't know if anyone else is interested in working on or using Dynamic Windows on iOS or Android in this late alpha / early beta stage... but since the Unix build tools aren't usable for iOS or Android projects I wrote up instructions on how to create projects for Xcode and Android Studio to try things out.
These instructions are subject to change, and hopefully will when I figure out better ways of doing things.
Things that should change in the future or I hope will:
Xcode: We are able to create sub-projects in Xcode so the dwindows and dwcompat frameworks are created in a "Dynamic Windows iOS" project. The Dynamic Windows application can be in a separate project, however for some reason the header files in the frameworks aren't able to be found when included as a sub-project. So for now I am adding the header location to the "Header Search Path" manually. Ideally I want it to include the header embedded in the sub-project instead.
The iOS code is a direct port from the MacOS code, which does not use ARC (Automatic Reference Counting) due to the need to support ancient versions of MacOS. Since our iOS port does not have those legacy requirements we should move to ARC in the future, but for now until I make those changes we need to set "Objective-C Automatic Reference Counting" to "NO"
Android Studio: Not sure if it is possible to include sub-projects like we do in Xcode, and even if we can not sure if it would work, since the C entrypoint needs to be callable from the Java/Kotlin code. In the future we need to see if the Dynamic Windows code can be separated from the application code in separate projects.
Android Studio also does not appear to support references like Xcode does so we can't link to the source code in our revision control system, we need to copy the files into the Android Studio Project tree. It is possible we could do something like this using system features like symbolic links on Unix or MacOS... and NTFS junctions on Windows, but this is not an ideal solution.
If anyone has information about these issues I'm all ears! Here is the document I wrote for creating projects using the current source base:
=== How to create a Dynamic Windows project for iOS in Xcode and Android in Android Studio. ===
Xcode
=== Dynamic Windows Project Creation ===
1. File -> New -> Project...
2. Select "iOS" then "App" then click "Next"
3. Fill in the following:
"Product Name" with "Dynamic Windows iOS"
"Team" select the appropriate team for this project.
"Organization Identifier" with "org.dbsoft"
"Interface" select "Storyboard"
"Language" select "Objective-C"
Uncheck "Include Tests" and click "Next"
4. Choose a location for the project, "Don't add to any project or workspace"
5. Rename the "Dynamic Windows iOS" target to "dwtest" and remove the following files:
*.m, *.h, *.storyboard and Assets.xcassets
6. Select "dwtest" folder and File -> Add Files to "Dynamic Windows iOS"...
Select "dwtest.c" from the file dialog with "Copy items if needed" unchecked.
"Add to targets" should have "dwtest" checked.
7. Highlight the project "Dynamic Windows iOS" in the top left then select the target "dwtest"
Edit "Bundle Identifier" to be "org.dbsoft.dwindows.dwtest"
8. Click the target dropdown and click "Add Target"
Select "Framework" and click "Next"
"Product name" with "dwindows" uncheck "Include Tests"
9. Delete the created "dwindows.h" and "Move to Trash"
10. Select "dwindows" folder and File -> Add Files to "Dynamic Windows iOS"...
Add "dw.h" and "ios/dw.m" with "Copy items if needed" unchecked.
11. Repeat steps 8 through 10 with "dwcompat" adding the dwcompat.c and dwcompat.h files.
12. Highlight the project "Dynamic Windows iOS" in the top left then select the main project.
Click "Build Settings" for the entire project and find "Apple Clang - Preprocessing"
Double click "Preprocessor Macros" and add "__IOS__" to the list for release and debug.
13. Set "Objective-C Automatic Reference Counting" to "No" in "Language - Objective-C"
14. Edit the "Info.plist" in "dwtest" and remove all the settings below "Bundle version"
This is required because Dynamic Windows does not use storyboards.
If necessary edit the "dwtest" "Build Settings" and correct the path to "dwtest/Info.plist"
15. Highlight the project "Dynamic Windows iOS" in the top left then File -> New -> Group
Name the new group "Resources"
Copy "mac/file.png" "mac/folder.png" and "image/test.png" into "Resources"
=== Project Creation ===
1. File -> New -> Project...
2. Select "iOS" then "App" then click "Next"
3. Fill in the following:
"Product Name" with your application name.
"Team" select the appropriate team for this project.
"Organization Identifier" with your identifier
"Interface" select "Storyboard"
"Language" select "Objective-C"
Uncheck "Include Tests" and click "Next"
4. Choose a location for the project, "Don't add to any project or workspace"
5. Make sure you close the "Dynamic Windows iOS" main project before step 6.
6. Select the project in the top left and File -> Add Files to "Project Name"...
Find the "Dynamic Windows iOS" project and add it to the application project.
7. Select the Project folder and File -> Add Files to "Project Name"...
Add your source files with "Copy items if needed" unchecked.
8. Edit the "Info.plist" in the Project and remove all the settings below "Bundle version"
This is required because Dynamic Windows does not use storyboards.
9. Highlight the Project Name in the top left then File -> New -> Group
Name the new group "Resources"
10. Place any application resource images in the form "#.png" where # is the resource ID.
Any other application files placed here will be accessible via dw_app_dir() at runtime.
11. Open Assets.xcassets and drag the appropriate icons into the bottom sections.
12. Select the project in the top left and select the application target from the drop down list.
Under "General" find "Frameworks, Libraries and Embedded Content"
Add "dwindows.framework" from the "Dynamic Windows iOS" project.
If necessary add "dwcompat.framework" from the Dynamic Windows iOS" project.
13. Highlight the project name in the top left then select the main project.
Click "Info" and set the "iOS Deployment Target" to "13.0"
14. Click "Build Settings" for the entire project and find "Search Paths" and add the path to
dw.h in "Header Search Paths" for Release and Debug (Any Architecture | Any SDK)
15. Also under "Build Settings" find "Apple Clang – Preprocessing"
Double click "Preprocessor Macros" and add "__IOS__" to the list for release and debug.
Android Studio
=== Project Creation ===
1. File -> New -> New Project
2. Select "Phone and Tablet" then "Native C++" and click "Next"
3. Fill in the following:
"Name" with your own application name
"Package name" with "org.dbsoft.dwindows"
"Save location" can be the default
"Language" select "Kotlin"
"Minimum SDK" select "API 23: Android 6.0 (Marshmallow)"
click "Next"
4. Select "Toolchain Default" and click "Finish"
=== Source File Installation ===
5. Install "android/DWindows.kt" into "app/src/main/java/org/dbsoft/dwindows"
Remove "MainActivity.kt" from app/src/main/java/org/dbsoft/dwindows"
6. Install "dw.h" and "android/dw.cpp" into "app/src/main/cpp"
Remove "native-lib.cpp" from "app/src/main/cpp"
7. Optionally install "dwcompat.h" and "dwcompat.c" into "app/src/main/cpp"
8. Install your source files (or our example "dwtest.c") into "app/src/main/cpp"
9. Right click "app" in your project and click New -> Folder -> Assets Folder
"Target Source Set" select "main" and click "Finish"
10. Place any application resource images in the form "#.png" where # is the resource ID.
Any other application files placed here will be accessible via dw_app_dir() at runtime.
=== Project Configuration ===
11. Open "app/manifests/AndroidManifest.xml" and in the "activity" section
change "android:name" from ".MainActivity" to ".DWindows"
12. Recommend adding the following (but depends on the app usage):
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
androidcreenOrientation="fullSensor"
android:persistent="true"
android:usesCleartextTraffic="true"
13: Open "app/src/main/cpp/CMakeLists.txt" and in the add_library() section:
Remove "native-lib.cpp" and add "dw.cpp" optionally "dwcompat.c" and your applications C
or C++ source files that you had installed in step 8.
Also change "project()" to be your project name.
14. Open "build.gradle (Module)" in "Gradle Scripts" and change "applicationId" to your App ID.
=== Application Assets ===
15. Remove all the files under "app/res/mipmap/ic_launcher" and app/res/mipmap/ic_launcher_round"
16. Right click "app" and click New -> Image Asset
"Icon Type" select "Launcher Icons (Legacy Only)"
"Name" enter "ic_launcher"
"Asset Type" check "Image"
"Path" click the folder icon and select the largest launcher image you have.
"Shape" select "Square"
Click "Next" and then "Finish"
17. Right click "app" and click New -> Image Asset
"Icon Type" select "Launcher Icons (Legacy Only)"
"Name" enter "ic_launcher_round"
"Asset Type" check "Image"
"Path" click the folder icon and select the largest launcher image you have.
"Shape" select "Circle"
Click "Next" and then "Finish"
|
|
|
|