What I'm adding, and what I'm planning next...

A place to discuss and plan OpenSource xTalk (not exclusively LCC based)
and Community Builds of LCC ...Ask NOT what xTalk can do for you...
Get involved you DO have something to contribute, no matter your skillset!

Forum rules
A place to discuss and plan OpenSource xTalk (not exclusively LCC based) and Community Builds of LCC
Ask NOT what xTalk can do for you... get involved you DO have something to contribute, no matter your skillset!

What would you like to see in the next version?

You may select up to 5 options

 
 
View results

User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

richmond62 wrote: Sat Apr 20, 2024 7:18 am ...what you need to produce is a front-end that is not too jarring on the programmers' eyes (and I do think that purple was a bit jarring), and that's all.
Okay. I didn't really mind the purple, but I wanted something to differentiate the OXT versions. As there's not much chance with someone confusing LC Indy with OXT Lite (I mean, they are both orange in places, but I think they are sufficiently different now not to worry).

Trying to produce something that isn't too jarring on a programmer's eyes is very subjective and down to personal preference.
I mean, I find the following hugely distracting and enough to bring on an instant headache because it's so glaring after a while:
Annotation 2024-04-20 220727.png
Annotation 2024-04-20 220727.png (359.64 KiB) Viewed 287 times
However, to some people that is their ideal work environment.

Likewise, some may prefer a fully dark mode - and one with minimal distractions:
Screenshot_2024-04-20_22-15-16.png
Screenshot_2024-04-20_22-15-16.png (184.18 KiB) Viewed 287 times
It's very hard to do both, so all I can do is provide options for the IDE to be customised in both ways, to cater for both mindsets.
User avatar
overclockedmind
Posts: 300
Joined: Sat Apr 30, 2022 9:05 pm
Location: Midwest US
Contact:

Re: What I'm adding, and what I'm planning next...

Post by overclockedmind »

tperry2x wrote: Sat Apr 20, 2024 9:16 pm
richmond62 wrote: Sat Apr 20, 2024 7:18 am ...what you need to produce is a front-end that is not too jarring on the programmers' eyes (and I do think that purple was a bit jarring), and that's all.
Okay. I didn't really mind the purple, but I wanted something to differentiate the OXT versions. As there's not much chance with someone confusing LC Indy with OXT Lite (I mean, they are both orange in places, but I think they are sufficiently different now not to worry).

Trying to produce something that isn't too jarring on a programmer's eyes is very subjective and down to personal preference.
I mean, I find the following hugely distracting and enough to bring on an instant headache because it's so glaring after a while:

Annotation 2024-04-20 220727.png

However, to some people that is their ideal work environment.

Likewise, some may prefer a fully dark mode - and one with minimal distractions:
Screenshot_2024-04-20_22-15-16.png

It's very hard to do both, so all I can do is provide options for the IDE to be customised in both ways, to cater for both mindsets.
overclockedmind likes this.... ijs lol
MBA (Early 2015, 8GB/512G SSD, Monterey 12.7.2)
System76 serv12 (64GB RAM, 2TB SSD, 2TB HD, Win 10 Pro x64)
Power Mac 3,1 Project - Needs TLC will get it soon
User avatar
overclockedmind
Posts: 300
Joined: Sat Apr 30, 2022 9:05 pm
Location: Midwest US
Contact:

Re: What I'm adding, and what I'm planning next...

Post by overclockedmind »

tperry2x wrote: Sat Apr 20, 2024 9:16 pm
richmond62 wrote: Sat Apr 20, 2024 7:18 am ...what you need to produce is a front-end that is not too jarring on the programmers' eyes (and I do think that purple was a bit jarring), and that's all.
Okay. I didn't really mind the purple, but I wanted something to differentiate the OXT versions. As there's not much chance with someone confusing LC Indy with OXT Lite (I mean, they are both orange in places, but I think they are sufficiently different now not to worry).

Trying to produce something that isn't too jarring on a programmer's eyes is very subjective and down to personal preference.
I mean, I find the following hugely distracting and enough to bring on an instant headache because it's so glaring after a while:

Annotation 2024-04-20 220727.png

However, to some people that is their ideal work environment.

Likewise, some may prefer a fully dark mode - and one with minimal distractions:
Screenshot_2024-04-20_22-15-16.png

It's very hard to do both, so all I can do is provide options for the IDE to be customised in both ways, to cater for both mindsets.
To clarify? Sure, usability is important, UI is important. What will my *builds* look like? Way more important to me.
MBA (Early 2015, 8GB/512G SSD, Monterey 12.7.2)
System76 serv12 (64GB RAM, 2TB SSD, 2TB HD, Win 10 Pro x64)
Power Mac 3,1 Project - Needs TLC will get it soon
User avatar
OpenXTalkPaul
Posts: 1611
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: What I'm adding, and what I'm planning next...

Post by OpenXTalkPaul »

richmond62 wrote: Sat Apr 20, 2024 6:44 am I think there should be some sort of limit on aesthetic considerations: increased functionality is more desirable.

Or, put another way:

Once a developer has finished programming their thing to the level of functionality they desire, they can work on the aesthetic of their thing themselves.
Matching the System UI, things like system highlight color is an important consideration!
It's the way Apps are expected to behave, so anything less than at least having that capability and option to have the normal appearance of elements, and normal app behavior for a platform IS a bug as far as I'm concerned. I can prove this is important by making a highlight color that looks bad in darkMode so much that you can't even tell when text is selected.
User avatar
OpenXTalkPaul
Posts: 1611
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: What I'm adding, and what I'm planning next...

Post by OpenXTalkPaul »

"OpenXTalk wants permission to record your screen"
This should be normal app behavior in the sandboxed apps world we now live in.
An app should ask permission for screen (or camera, or microphone) recording, which on newer macOS gets triggered when using the snapshot command syntax.
You CAN add a key to the app info.plist which explains why an app is requesting permission for (whichever hardware) access. Once user allows permission thereafter OXT should appear as allowed in the associated system control panel ("Privacy and Security"). Whatever you put into that info.plist key for the reason for the request gets added to the permission request dialog box when that appears. I added one for Microphone Recording to info.plist with an explanation like "OpenXTalk needs access to the Microphone in order to record new sounds".
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

Yes, I agree that's totally expected behaviour and the user should be notified.
However when opening the ide, you don't want everything to pause waiting on their decision.

Also, even with a line explaining the context, some users will click no anyway.
User avatar
richmond62
Posts: 2820
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: What I'm adding, and what I'm planning next...

Post by richmond62 »

some users will click no anyway
If you are trying to keep 'everybody' happy, just forget it.

Frankly, in your position what should matter most is what keeps you happy. 8-)
https://richmondmathewson.owlstown.net/
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

richmond62 wrote: Tue Apr 23, 2024 7:25 am If you are trying to keep 'everybody' happy, just forget it.
Very true. You can't please all of the people all of the time.
User avatar
OpenXTalkPaul
Posts: 1611
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: What I'm adding, and what I'm planning next...

Post by OpenXTalkPaul »

I'm currently trying to catch up on rolling in some stuff from OXT Lite, really want to add that fix for pixel image drawings not saving. I thought that had been discussed/resolved previously. I'm not adding everything (for example the moveable/standard-window-revMenuBar is rather wonky on macOS so not add to DPE)., but what I do add in, I'm trying to keep it so I'm using same custom properties names in revPrefs like for custom tool highlight color (cTool...) that OXT Lite added.

Food for thought... for the tool highlight color I also have that custom revPrefs property returned from the revIDEEditionsColors (without looking at the handler name), which held the color sets (community green, indy blue, commercial, community plus) which effect more colorization of graphics in the IDE, such as the selection color and colored bubbles in the in the Project Browser. Some of the items in those color sets seem to only apply to the old Start Center stack as far as I can tell, but at least one other of those colors is used in the Project Browser I think, like for the color that indicates the node in the list has sub-objects. Probably best to make all IDE colors user settable.

I also added the additional syntax color sets, I gotta say I love that vibrant set in dark mode.
User avatar
OpenXTalkPaul
Posts: 1611
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: What I'm adding, and what I'm planning next...

Post by OpenXTalkPaul »

Project Browser desperately needs a "Force Refresh List" button, and better yet with a key combo like command+R.
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

OpenXTalkPaul wrote: Tue Apr 23, 2024 6:17 pm ...but at least one other of those colors is used in the Project Browser I think, like for the color that indicates the node in the list has sub-objects. Probably best to make all IDE colors user settable.
I don't mean to add extra confusion, however Linux gets it's selected colour directly from whatever theme the user has chosen in system > preferences > appearance (at least for GTK apps).
OpenXTalkPaul wrote: Tue Apr 23, 2024 6:17 pm I also added the additional syntax color sets, I gotta say I love that vibrant set in dark mode.
Thank you. In v1.04 (not yet released), I've added a few and deleted others:
script-colours.gif
script-colours.gif (72.09 KiB) Viewed 195 times
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

OpenXTalkPaul wrote: Tue Apr 23, 2024 6:17 pm I'm currently trying to catch up on rolling in some stuff from OXT Lite, really want to add that fix for pixel image drawings not saving. I thought that had been discussed/resolved previously.
I'll elaborate on that in a bit. It's mostly all in the revTools stack, although there is a slight modification to the brush popup stack too.

In the "revBrushpopup.livecode"

Code: Select all

on preOpenStack
   set the systemwindow of this stack to true -- floats the window as didn't always on Linux
   ...
in revtools.livecodescript
I added these two functions:

Code: Select all

function hCreateSuitableImage tTool
   -- bug found (tperry, richmond62, & micmac 22-4-24)
   --put "the tool is: " & tTool -- debug (tperry 22-4-24)
   put the short name of the topStack into tTheCurrentStackName
   put the last word of the currentcard of stack tTheCurrentStackName into tCardID
   put "suitable-paintimage" into tNewPaintName
   if there is an image tNewPaintName of card id tCardID of stack tTheCurrentStackName then
      set the tNewImgCmd of stack "revTools" to ""
      return true
      exit hCreateSuitableImage
   end if
   --
   put the number of images of card id tCardID of stack tTheCurrentStackName into tImgCount
   if tImgCount <1 then
      -- no images on the card!
      put "create image " & QUOTE & tNewPaintName & QUOTE & " in card id " & tCardID & " of stack " & QUOTE & tTheCurrentStackName & QUOTE into tSuitableImageSetup
      set the tNewImgCmd of stack "revTools" to tSuitableImageSetup
      return false
   else
      -- there are images on the card
      return true
   end if
end hCreateSuitableImage
on tDoImgCmd -- handler to actually create the paint image we are missing (tperry 22-4-24)
   if tImgCmd is true then exit tDoImgCmd
   if the tNewImgCmd of stack "revTools" is "" then exit tDoImgCmd
   put the tNewImgCmd of stack "revTools" into tImgCmd
   do tImgCmd
   replace QUOTE with return in tImgCmd
   delete line 1 of tImgCmd
   put word 4 of line 2 of tImgCmd into line 2 of tImgCmd
   -- the next 3 lines are a bit hacky, but otherwise it freezes the tools palette
   put line 1 of tImgCmd into tImgName
   put line 2 of tImgCmd into tImgID
   put line 3 of tImgCmd into tImgStack
   --
   set the rect of image tImgName of card id tImgID of stack tImgStack to 0,0,the width of stack tImgStack, the height of stack tImgStack
   set the layer of image tImgName of card id tImgID of stack tImgStack to bottom -- just to make sure it doesn't obscure any buttons (tperry 23-4-24)
end tDoImgCmd
Then, in the mousedown handler:

Code: Select all

case "paint tool"
         local tTool
         put the cToolName of the target into tTool
         revToolsConfigurePaint
         revIDESetTool tTool
         put hCreateSuitableImage (tTool) into tImgCmd
         send tDoImgCmd to me in 1 ticks
         -- Set the tool cursor
         -- The tool does not actually work without doing this
         ...
You could probably clean this up and refine it further, but I found this works without error and is quick in it's execution. I've only tested that on Linux so far, not MacOS or Windows yet, so might need some refinement.
OpenXTalkPaul wrote: Tue Apr 23, 2024 6:17 pm I'm not adding everything (for example the moveable/standard-window-revMenuBar is rather wonky on macOS so not add to DPE).
Understandable. I wasn't sure if I want to keep it in or not. Richmond did originally request it be draggable, but I don't know if he meant as a standard window (so you have both), but that can all be toggled. I set that as hidden as default on the later builds of OXT lite.
toolbar.png
toolbar.png (64.76 KiB) Viewed 186 times
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

OpenXTalkPaul wrote: Tue Apr 23, 2024 6:20 pm Project Browser desperately needs a "Force Refresh List" button, and better yet with a key combo like command+R.
I tend to spend more time in 'Application Browser', but I know what you mean.
At least the 'Application Browser' has a refresh option.
force-refresh.png
force-refresh.png (55.85 KiB) Viewed 183 times
User avatar
OpenXTalkPaul
Posts: 1611
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: What I'm adding, and what I'm planning next...

Post by OpenXTalkPaul »

tperry2x wrote: Tue Apr 23, 2024 6:43 pm
OpenXTalkPaul wrote: Tue Apr 23, 2024 6:17 pm ...but at least one other of those colors is used in the Project Browser I think, like for the color that indicates the node in the list has sub-objects. Probably best to make all IDE colors user settable.
I don't mean to add extra confusion, however Linux gets it's selected colour directly from whatever theme the user has chosen in system > preferences > appearance (at least for GTK apps).
OpenXTalkPaul wrote: Tue Apr 23, 2024 6:17 pm I also added the additional syntax color sets, I gotta say I love that vibrant set in dark mode.
Well sure, any System UI theme colors should ideally come through from GTK (or whatever) into the IDE, as it should when an object has its foreground/background colors set to empty, those should be inherited from the OS.

However, I've kept my version of the Project Browser still using set custom colors, some I believe come from that revIDEeditionColors (?) handler. So what I meant was any color that is 'hardcoded' in the scripts, or really almost anything that's in the IDE as a constant, should be user customizable. What I mean by 'almost anything that's in the IDE as a constant' is, for example, the arbitrary 200 line limit that the single-line message box history has, which is set as consent kConstant = somewhere in one of the message box scripts, could be settable.
I also removed those other sets (Indy,Commercial, etic.) from that Home stack handler, leaving only community set.
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

OpenXTalkPaul wrote: Tue Apr 23, 2024 7:46 pm I also removed those other sets (Indy,Commercial, etic.) from that Home stack handler, leaving only community set.
That's a good call. I'll do that too. I also deleted all the resources in various folders for indy, commercial etc to save space. Plus any LCC banners asking for fundraising.
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

Back on getting the system hilight colour thing...
I'll knock something up tomorrow if I get the chance. I think I can get that through sampling an onscreen colour on Linux and Windows.

Might have to use a mixture of approaches, wrapped in a function that does different things depending on the platform.
User avatar
OpenXTalkPaul
Posts: 1611
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: What I'm adding, and what I'm planning next...

Post by OpenXTalkPaul »

tperry2x wrote: Tue Apr 23, 2024 10:59 pm Back on getting the system hilight colour thing...
I'll knock something up tomorrow if I get the chance. I think I can get that through sampling an onscreen colour on Linux and Windows.

Might have to use a mixture of approaches, wrapped in a function that does different things depending on the platform.
I've been researching GTK themes a little bit recently. There is an ini file that might be useful to read:

Code: Select all

# ~/.config/gtk-3.0/settings.ini
[Settings]
gtk-application-prefer-dark-theme=true
GTK themes use CSS styling,
gtk.css for a theme may have lines like this:

Code: Select all

@define-color theme_selected_bg_color #ffa700;
@define-color theme_selected_fg_color #464646;
But that only covers GTK... however the Linux version engine requires GTK, right? So I guess we can assume some version of GTK framework is going to be present?

That's the achilles heel of Linux app dev I think, on macOS (x+) you know Objective C runtime is going to be present, like wise with Windows APIs, but every single bit of Linux distos can be customized so there's no guarantee that any one package will be available.

I'm slowly learning up on GTK, Xlib, and various 'Nix/Linuxey things.
I may jump ship sooner than I planned because this annoys me too much: https://www.macworld.com/article/224807 ... tures.html
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

OpenXTalkPaul wrote: Wed Apr 24, 2024 2:56 am That's the achilles heel of Linux app dev I think,
Depends on your outlook. I mean, choice is always a good thing in my opinion.
OpenXTalkPaul wrote: Wed Apr 24, 2024 2:56 am on macOS (x+) you know Objective C runtime is going to be present, like wise with Windows APIs
Kind of, until either of them pull things from their system without notice (which we know they do).

The problem of trying to read a GTK theme is the version of GTK can vary, and what about systems that are using some alternate path to store their themes at?

I thought of a method for linux such as this perhaps:
swatch.gif
swatch.gif (24.87 KiB) Viewed 209 times
system-colour.oxtstack
(2.04 KiB) Downloaded 9 times
Script is in the button.

Edit: I couldn't help feeling there was another easier way, and I think there is:
Simply:

Code: Select all

put the hiliteColor
alt-method.png
alt-method.png (24.56 KiB) Viewed 202 times
system-colour-v2.oxtstack
(2.4 KiB) Downloaded 8 times
User avatar
tperry2x
Posts: 1582
Joined: Tue Dec 21, 2021 9:10 pm
Location: Britain (Previously known as Great Britain)
Contact:

Re: What I'm adding, and what I'm planning next...

Post by tperry2x »

Oh, I should also mention that you'd have to do the same for the polygon tool - as this creates an initial image that's no good either, and needs either a blank image creating first - or my 'suitable-paintimage' one.
User avatar
richmond62
Posts: 2820
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: What I'm adding, and what I'm planning next...

Post by richmond62 »

Indeed, the polygon tool DOES put a graphic on a card, but it appears as a line:
-
Screenshot 2024-04-24 at 18.16.55.png
Screenshot 2024-04-24 at 18.16.55.png (24.84 KiB) Viewed 181 times
-
So not really a polygon.
-
Screenshot 2024-04-24 at 18.19.42.png
Screenshot 2024-04-24 at 18.19.42.png (47.63 KiB) Viewed 180 times
-
This, historically, was a bug fix as for several versions of LC the polygon tool produced a polygon with NO points at all, and to make use of it one had to access its properties palette and populate its point list.
https://richmondmathewson.owlstown.net/
Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests