Starting a new app with UXP

Discussions about applications built on UXP that do not have a dedicated board.

Moderator: trava90

Post Reply
User avatar
dralmaember
Newbie
Newbie
Posts: 4
Joined: 2020-05-16, 12:17

Starting a new app with UXP

Post by dralmaember » 2020-05-16, 12:29

Hello everyone, my first question here.

I want to create a new (brand-new, not a browser fork) app using UXP. However, I don't know
where to start. My guess is to build Pale Moon from source and run my app with it kind of like
with firefox? However, I'm not sure this is how I should do it, so I would be happy for someone
to point me in the right direction.

Thank you in advance!

vannilla
Keeps coming back
Keeps coming back
Posts: 947
Joined: 2018-05-05, 13:29

Re: Starting a new app with UXP

Post by vannilla » 2020-05-16, 12:55

There's no need to build Pale Moon to run a non-web browser application.
Admittedly it's rather convoluted at first, if you never worked with the platform, to properly set it up for a new application, but ultimately all UXP application are similar at the lowest level, with only the XUL/XPCOM part being truly different.
I suggest looking at the source code of applications like Ambassador and Borealis Navigator to have an idea on how UXP applications are built.
Unfortunately a proper guide is still lacking so there will be lots of trial and error at first.

User avatar
dralmaember
Newbie
Newbie
Posts: 4
Joined: 2020-05-16, 12:17

Re: Starting a new app with UXP

Post by dralmaember » 2020-05-16, 13:03

Thank you, will be looking at those, then I will see where I get :D
BTW, I found this tutorial, but I don't know how much it
applies to UXP https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL/Tutorial

User avatar
New Tobin Paradigm
Off-Topic Sheriff
Off-Topic Sheriff
Posts: 7197
Joined: 2012-10-09, 19:37
Location: Insulting you on the internet.

Re: Starting a new app with UXP

Post by New Tobin Paradigm » 2020-05-16, 17:09

You would be served best to understanding the build system first and some basics. Ambassador dispite some non-standard stuff which needs sorted is a good one because it is an extension converted to also be a standalone application.

As for more detail, I am the person to see.
Image
- thEre iS No wAY oUt of HErE.. iT'll bE DArK sOON.. -
https://binaryoutcast.com/ | Freenode #binaryoutcast | http://thereisonlyxul.org/

User avatar
dralmaember
Newbie
Newbie
Posts: 4
Joined: 2020-05-16, 12:17

Re: Starting a new app with UXP

Post by dralmaember » 2020-05-16, 18:53

Really that's what I don't get; I have no idea where I should even begin. I checked the repo for Ambassador, but there are
just too many files. I don't know where I should even start reading those. If you (or someone else) could give some basic
direction on that, it would be really helpful. I can write a Makefile or CMAKE or whatever build system works with UXP
(from what I've seen simply makefile).

User avatar
New Tobin Paradigm
Off-Topic Sheriff
Off-Topic Sheriff
Posts: 7197
Joined: 2012-10-09, 19:37
Location: Insulting you on the internet.

Re: Starting a new app with UXP

Post by New Tobin Paradigm » 2020-05-16, 19:09

No. Our build system is a ridiculous hybrid of two different configure routines and two and a half build file types.

You will just have to do it like everyone else and study how it builds something.
Last edited by New Tobin Paradigm on 2020-05-16, 19:10, edited 1 time in total.
Image
- thEre iS No wAY oUt of HErE.. iT'll bE DArK sOON.. -
https://binaryoutcast.com/ | Freenode #binaryoutcast | http://thereisonlyxul.org/

vannilla
Keeps coming back
Keeps coming back
Posts: 947
Joined: 2018-05-05, 13:29

Re: Starting a new app with UXP

Post by vannilla » 2020-05-16, 19:10

dralmaember wrote:
2020-05-16, 18:53
If you (or someone else) could give some basic direction on that, it would be really helpful. I can write a Makefile or CMAKE or whatever build system works with UXP (from what I've seen simply makefile).
Get the UXP platform from https://github.com/MoonchildProductions/UXP
If you are using git to manage your progress, you should get it as a submodule instead.
Once you are done, you might want to checkout the master branch on a known-stable commit. Pale Moon has 2216275 at the time of this writing.
The UXP repo (usually a submodule) is the "platform" folder you see on e.g. the Pale Moon repository.
You then need to hook the platform into your application, but this can't fit into a forum post ;)

User avatar
dralmaember
Newbie
Newbie
Posts: 4
Joined: 2020-05-16, 12:17

Re: Starting a new app with UXP

Post by dralmaember » 2020-05-16, 19:25

Anyways, thanks for all your help, I'm preparing for an amount of try&fail type of learning :coffee:

User avatar
Isengrim
Board Warrior
Board Warrior
Posts: 1146
Joined: 2015-09-08, 22:54
Location: 127.0.0.1
Contact:

Re: Starting a new app with UXP

Post by Isengrim » 2020-05-17, 01:37

Ambassador isn't in the UXP repo because it's produced by myself, not Moonchild Productions. ;) The code is here. As Tobin said, it does some things in nonstandard ways, and there are traps you can fall into if not careful.

Perhaps you can try writing your application as an extension to Pale Moon first? Then we could give more concrete examples on how to migrate it to a full application.
Linux Mint 19.3 Cinnamon (64-bit), Debian Bullseye (64-bit), Windows 7 (64-bit), Windows 10 build 1803 (64-bit)
"As long as there is someone who will appreciate the work involved in the creation, the effort is time well spent." ~ Tetsuzou Kamadani, Cave Story

User avatar
New Tobin Paradigm
Off-Topic Sheriff
Off-Topic Sheriff
Posts: 7197
Joined: 2012-10-09, 19:37
Location: Insulting you on the internet.

Re: Starting a new app with UXP

Post by New Tobin Paradigm » 2020-05-17, 06:19

There are no applications in the UXP repo anymore except a partly functioning xulrunner. You also can't build anything under the UXP repo alone except said xulrunner.
Image
- thEre iS No wAY oUt of HErE.. iT'll bE DArK sOON.. -
https://binaryoutcast.com/ | Freenode #binaryoutcast | http://thereisonlyxul.org/

Post Reply