Dark mode QB64-PE IDE colors themes
#21
Quote:If anyone is using a dark mode IDE color theme for the IDE, then please share.
I had always a "Dark mode" but adapted to my ideas.

[Image: Super-Dark-Blue2023-07-01.jpg]

And this is what it looks like in the ini file:

Code: (Select All)
[IDE COLOR SETTINGS 1]
SchemeID=1
TextColor=_RGB32(216, 216, 216)
KeywordColor=_RGB32(98, 167, 196)
NumbersColor=_RGB32(216, 98, 69)
QuoteColor=_RGB32(206, 216, 0)
CommentColor=_RGB32(69, 216, 0)
ChromaColor=_RGB32(170, 170, 170)
MetaCommandColor=_RGB32(177, 59, 226)
HighlightColor=_RGB32(0, 88, 108)
BackgroundColor=_RGB32(0, 0, 108)
BackgroundColor2=_RGB32(0, 88, 177)
ErrorColor=_RGB32(170, 0, 0)
Quote:Scheme1$=VSCode|226226226115222227255043138255178034185237049157118137043045037010000020088088088170170170
What is these? Everything together in the soup?  Huh
Reply
#22
I just discovered that on Linux cannot run a console-only program from the QB64 IDE if I want to use SYSTEM to end. It sucks.

The scheme "soup" is a way to provide the whole color scheme in a "packed" sort of way. Because otherwise the nice people in charge of this project are actually forcing the QB64 IDE to directly execute those _RGB() assignments, if it isn't applying the string assignments. However it requires a mini-processor in charge of the trickery to make it appear QB64 has an interpreter built in to handle the configuration whenever it's started.

Maybe someday this project would have a just-in-time compiler or something like that... just for configuration. Perhaps much more.

This isn't different from reading in an INI file and deciding, for each line, which is the field name and which is the value related to that field. Basically it starts with using INSTR() to search for the equals sign.
Reply
#23
Quote:I just discovered that on Linux cannot run a console-only program from the QB64 IDE if I want to use SYSTEM to end. It sucks.

Maybe this is a bug and should be reported.

Having End as alternate option is advantage to allow user to see last bit of program display before heading out but if as you say that doesn't work with Enter button then that too might be a bug.

Having QB64pe work in every possible flavor of Linux is pretty tall order for developers but I would think all Linux versions would work the same with these basics.
b = b + ...
Reply
#24
(06-30-2023, 07:14 AM)RhoSigma Wrote:
(06-29-2023, 09:05 PM)a740g Wrote: If anyone is using a dark mode IDE color theme for the IDE, then please share.

Here is one that I created based on the default VSCode dark color theme.

Quote:Scheme1$=VSCode|226226226115222227255043138255178034185237049157118137043045037010000020088088088170170170

This is my current favorite, used in conjunction with the attached font.
Quote:Scheme1$=Broadcast|228224220034085170221068051238238068221136000051153034024024024036036036034136170170170170

The font is taken from https://int10h.org › fontlist , "The Ultimate Oldschool PC Font Pack".

Thanks for that @RhoSigma. I know about the "The Ultimate Oldschool PC Font Pack" but never realized that it had a 12x23 IBM XGA ROM font.

Oh, and I had incorrectly pasted the wrong scheme in my original post which I have now corrected.
Reply
#25
You know what, I tested that edited version of a740g and lost my quickly tweaked settings but here is better:
Scheme1$=StarryNight|216216216069118226049186226000177226245128128000216128000000039078000128000088108170170170

   
b = b + ...
Reply
#26
(07-02-2023, 05:12 PM)bplus Wrote: You know what, I tested that edited version of a740g and lost my quickly tweaked settings but here is better:
Scheme1$=StarryNight|216216216069118226049186226000177226245128128000216128000000039078000128000088108170170170

Just learned last night blues are hard on the eyes along with bright color backgrounds, thus Dark Themes so I am retrying another version of Forest:
Scheme2$=Forest|000186000180108000000157069000167088255128064000167098040020010070070000000088000078167000

See if it isn't more restful for the eyes?
   
b = b + ...
Reply
#27
I'm sorry if my decision to share a program on this thread caused people to lose interest in sharing the QB64 IDE color themes.

I made a modification for Linux only, but it could be easily changed to suit your taste. The important thing is to point correctly to "(qb64pepath)/internal/config.ini". Please change it in the program for Windows, for example, like:

Code: (Select All)
afile$ = ENVIRON$("USERPROFILE") + "\qb64pe\internal\config"

' - OR -

afile$ = "C:\qb64pe\internal\config"

or whatever else you prefer. Do not include the dot-ini because that is done later in the program, and another string variable depends on the value that is being set in this statement.

This program does its thing and then asks permission to modify the "config.ini" directly. If you want to do this you will have to give a precise answer, [ENTER] key last of all. There should be no excuses if the configuration file is ruined. This program saves a backup of the older "config.ini" but still. However, a backup file that was already found will be deleted! Then the "config.ini" that was before you ran this program and you said "YES" to the question will become the new backup. Get it?

This program overwrites results of the previous runs and therefore it's up to you to use QB64PE executable to check out the color themes you like and save them with sensible names! What I mean is, if the confirmation is given to change "config.ini", this program finds "Scheme1$=" through "Scheme20$=" already in the file and replaces them with the latest. It does not touch the other color scheme assignments given different names.

EDIT: While I was posting this and as the program used to be written, I noticed that the first 20 schemes could be overwritten whether or not they were produced by this program. So it was changed to make sure only the "Random1" through "Random20" are detected as the color theme names.

Code: (Select All)
'by mnrvovrfc 30-June-2023
'modified 14-July-2023

$CONSOLE:ONLY
OPTION _EXPLICIT

DIM sf(1 TO 20) AS STRING
DIM AS INTEGER i, rr, gg, bb, c, w, lc, insc, o, v
DIM afile$, bkpfile$, entry$, a$, e$, fe AS LONG

RANDOMIZE TIMER

afile$ = ENVIRON$("HOME") + "/bin/qb64pe/internal/config"
bkpfile$ = afile$ + "-bkp.ini"
afile$ = afile$ + ".ini"

FOR w = 1 TO 20
a$ = "Scheme" + _TRIM$(STR$(w)) + "$=Random" + _TRIM$(STR$(w)) + "|"
e$ = a$ + SPACE$(90)
c = LEN(a$) + 1
FOR i = 1 TO 10
SELECT CASE i
CASE 3, 4, 5
rr = Rand(16, 96)
gg = Rand(96, 160)
bb = Rand(160, 255)
IF Random1(2) = 1 THEN SWAP rr, gg
IF Random1(2) = 1 THEN SWAP gg, bb
IF Random1(2) = 1 THEN SWAP rr, bb
CASE 7, 8, 9
rr = Random1(97) - 1
gg = Random1(49) - 1
bb = Rand(32, 96)
IF Random1(2) = 1 THEN SWAP gg, bb
IF Random1(2) = 1 THEN SWAP rr, gg
IF Random1(2) = 1 THEN SWAP rr, bb
CASE ELSE
DO
rr = Rand(64, 255)
gg = Rand(64, 255)
bb = Rand(64, 255)
LOOP WHILE rr < 96 AND gg < 96 AND bb < 96
END SELECT
MID$(e$, c, 3) = Zeroes$(rr, 3)
c = c + 3
MID$(e$, c, 3) = Zeroes$(gg, 3)
c = c + 3
MID$(e$, c, 3) = Zeroes$(bb, 3)
c = c + 3
NEXT
sf(w) = e$
NEXT

FOR w = 1 TO 20
PRINT sf(w)
NEXT
PRINT
PRINT "Do you want to submit it into config-dot-ini?"
PRINT "PLEASE MAKE SURE OF THIS BECAUSE IT CANNOT BE UNDONE,"
PRINT " IT COULD WRECK YOUR CONFIGURATION!"
PRINT "Proceed with adding to config.ini? Type "; CHR$(34); "YES"; CHR$(34)
LINE INPUT " then press [ENTER] to confirm:", entry$
IF entry$ <> "YES" THEN SYSTEM

IF _FILEEXISTS(bkpfile$) THEN KILL bkpfile$

REDIM su(1 TO 1) AS STRING
lc = 0
fe = FREEFILE
OPEN afile$ FOR INPUT AS fe
DO UNTIL EOF(fe)
LINE INPUT #fe, entry$
IF LCASE$(LEFT$(entry$, 6)) = "scheme" AND INSTR(entry$, "$=Random") > 0 THEN
o = INSTR(entry$, "$=Random")
v = VAL(MID$(entry$, o + 8))
IF v > 0 AND v <= 20 THEN _CONTINUE
END IF
lc = lc + 1
REDIM _PRESERVE su(1 TO lc) AS STRING
su(lc) = entry$
IF entry$ = "[IDE COLOR SCHEMES]" THEN insc = lc
LOOP
CLOSE fe

NAME afile$ AS bkpfile$

fe = FREEFILE
OPEN afile$ FOR OUTPUT AS fe
FOR v = 1 TO lc
PRINT #fe, su(v)
IF v = insc THEN
FOR w = 1 TO 20
PRINT #fe, sf(w)
NEXT
END IF
NEXT
CLOSE fe
PRINT "MODIFIED: "; afile$
SYSTEM


FUNCTION Rand& (fromval&, toval&)
DIM sg%, f&, t&
IF fromval& = toval& THEN
Rand& = fromval&
EXIT FUNCTION
END IF
f& = fromval&
t& = toval&
IF (f& < 0) AND (t& < 0) THEN
sg% = -1
f& = f& * -1
t& = t& * -1
ELSE
sg% = 1
END IF
IF f& > t& THEN SWAP f&, t&
Rand& = INT(RND * (t& - f& + 1) + f&) * sg%
END FUNCTION

FUNCTION Random1& (maxvaluu&)
DIM sg%
sg% = SGN(maxvaluu&)
IF sg% = 0 THEN
Random1& = 0
ELSE
IF sg% = -1 THEN maxvaluu& = maxvaluu& * -1
Random1& = INT(RND * maxvaluu& + 1) * sg%
END IF
END FUNCTION

FUNCTION Zeroes$ (num AS LONG, numdig AS INTEGER)
DIM b$, hx AS LONG, v AS LONG, sg AS INTEGER
IF num < 0 THEN sg = -1: num = num * -1
IF numdig < 0 THEN hx = 1: numdig = numdig * -1 ELSE hx = 0
IF hx THEN
b$ = HEX$(num)
ELSE
b$ = LTRIM$(STR$(num))
END IF
v = numdig - LEN(b$)
IF v > 0 THEN b$ = STRING$(v, 48) + b$
IF sg = -1 THEN b$ = "-" + b$
Zeroes$ = b$
END FUNCTION

Here are some good ones (in my opinion) out of two runs of this program:
Code: (Select All)
Scheme21$=laundry|151100235159104152075200111082116217057227149207135193035062039035058017033043066114140173
Scheme22$=brighter-laundry|173210142107104235027215157146021211039219150185154081043025017039038071062062033095192221
Scheme23$=greenkopf|165152184190188135238138040136094201110197029185197210024094020042091090061024079148190140
Scheme24$=guellar|094100170168066108117196089049170150109027229180116163092001049019059093037023074207166133
Scheme25$=welch|117141107178188249128214078085242098103240040215161153068059015043087002048043038171177208
Scheme26$=junior-pac-man|102163111149133065118021243076242110113247067091104082012077059044010037051017004159222236
Scheme27$=steam-cream|147098089096071145241112052081192119097211093141067234012086056039012010089083035238184132
Scheme28$=swit-xl|231122147136102098201120086064123250062144220143229203023046092019080004049005040238189102
Scheme29$=greybound|223158193078206075110163043092231124252145031193135130036061040089001020094002042178174157
Scheme30$=blueberry|204192162153230215081150175112238065090123200231123244065013092038078068092046021124122191
Scheme31$=eggplant|163228126242211107022171113124235028148204060132153187062001041045045084077011045179200185
Scheme32$=chickletkey|159072135244112107078108204089168113232136076149103144066071029090085038032039081154142185
Scheme33$=lava-ender|208142235168248167181056158059193125216034135116200232026037032035058077074022065219195236
Scheme34$=tennis-court|072106139111114139068170124170130075144223071172207074002080005081032063012024047209247213
Scheme35$=superlatif|166102089253092144059224150238040111034180160083110117040020045062085001016027072232216194
Scheme36$=mellowate|207160142178253241138233095217051142246139091242239215001009068031078043073087022210158160
Scheme37$=greener-grass|118116248130159080049199132132170064057132182178095117035089037038082045002072016169193122
Scheme38$=the-sun|080192129164075086100164025051230151097244018096071230043046001045062092092014009239251105
Reply
#28
@mnrvovrfc gots to show screen shots Smile

   
b = b + ...
Reply
#29
(07-14-2023, 08:32 PM)bplus Wrote: @mnrvovrfc gots to show screen shots Smile

A few of them were excluded:

[Image: sixteen-screens-qb64-ide.jpg]
Reply
#30
@mnrvovrfc  Wow all in one shot! I am looking for no blue used, GreyBound looks close, what was the code? But maybe I should try your code with that mod, no blues Smile

Update: Ah! found code for GreyBound and modified to this:
Scheme4$=GreyBound|245118118078206075110163043092231124252145031255049078036061040089001020094002042178174157

   
b = b + ...
Reply




Users browsing this thread: 13 Guest(s)