Showcase Your IDE Theme / Colors

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
bgeraghty
User
User
Posts: 52
Joined: Wed Apr 02, 2014 12:45 am
Location: irc.ibotched.it:+6697
Contact:

Showcase Your IDE Theme / Colors

Post by bgeraghty »

Probably been done in the past, but I thought it seemed like a novel idea. Share your current theme/layout/fonts/coloring/shortcuts/ for the PB IDE !

Interested to see what everyone else here is staring at at all day and night ;)

Here is my editor, running 'theme' I've had for years with the colors slowly evolving, but recently trying out Unifont as opposed to my standard Courier New of days past. Probably horrifying to some, but it works well for me and is easy on my eyes. Made sure to screenshot some sloppy code with lots of Types lol.

Image
SolveMyIssue_() - No QuickHelp available.
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Showcase Your IDE Theme / Colors

Post by Kuron »

I love your theme and may have to start using it! Looks perfect and along the lines of what I have always liked. :mrgreen:
Best wishes to the PB community. Thank you for the memories. ♥️
AZJIO
Addict
Addict
Posts: 1298
Joined: Sun May 14, 2017 1:48 am

Re: Showcase Your IDE Theme / Colors

Post by AZJIO »

Make a copy of the code so we can use it for screenshots
User avatar
bgeraghty
User
User
Posts: 52
Joined: Wed Apr 02, 2014 12:45 am
Location: irc.ibotched.it:+6697
Contact:

Re: Showcase Your IDE Theme / Colors

Post by bgeraghty »

AZJIO wrote: Tue Nov 29, 2022 4:48 am Make a copy of the code so we can use it for screenshots
Comes With No Warranty! lol this is still incomplete/work in progress. Trying to convert from an older wts library and still undergoing testing on some stuff.

Code: Select all

;=======================Terminal/Remote Desktop Services=======================;
EnableExplicit
Import"Wtsapi32.lib":WTSQueryUserToken(SessionId,phToken):EndImport
Import"Wtsapi32.lib":WTSEnumerateSessionsW(hServer,Reserved,Version,*ppSessionInfo,*pCount):EndImport
Import"Wtsapi32.lib":WTSQuerySessionInformationW(hServer,SessionId,WtsInfoClass,*ppBuffer,*pBytesReturned):EndImport
Import"Wtsapi32.lib":WTSRegisterSessionNotification(hWnd,dwFlags):EndImport
Import"Wtsapi32.lib":WTSEnumerateSessionsExW(hServer,*pLevel,Filter,*ppSessionInfo,*pCount):EndImport
Import"Wtsapi32.lib":WTSFreeMemory(pMemory):EndImport
Import"Kernel32.lib":WTSGetActiveConsoleSessionId():EndImport
#WTS_CURRENT_SERVER_HANDLE  =   0 : #WTS_CURRENT_SESSION         = -1
#AF_UNSPEC                  =   0 : #AF_INET                     =  2  
#AF_IPX                     =   6 : #AF_NETBIOS                  = 17 
#AF_INET6                   =  23 : #ES_CONTINUOUS        = $80000000    
#ES_DISPLAY_REQUIRED  = $00000002 : #ES_SYSTEM_REQUIRED   = $00000001
#AWAYMODE_REQUIRED    = $00000040 : 
Enumeration WTS_SESSION_CHANGE
  #WTS_CONSOLE_CONNECT = 1
  #WTS_CONSOLE_DISCONNECT
  #WTS_REMOTE_CONNECT
  #WTS_REMOTE_DISCONNECT
  #WTS_SESSION_LOGON
  #WTS_SESSION_LOGOFF
  #WTS_SESSION_LOCK
  #WTS_SESSION_UNLOCK
  #WTS_SESSION_REMOTE_CONTROL
  #WTS_SESSION_CREATE
  #WTS_SESSION_TERMINATE
EndEnumeration
Enumeration WTS_INFO_CLASS
  #WTSInitialProgram=0
  #WTSApplicationName
  #WTSWorkingDirectory
  #WTSOEMId
  #WTSSessionId
  #WTSUserName
  #WTSWinStationName
  #WTSDomainName
  #WTSConnectState
  #WTSClientBuildNumber
  #WTSClientName
  #WTSClientDirectory
  #WTSClientProductId
  #WTSClientHardwareId
  #WTSClientAddress
  #WTSClientDisplay
  #WTSClientProtocolType
  #WTSIdleTime
  #WTSLogonTime
  #WTSIncomingBytes 
  #WTSOutgoingBytes 
  #WTSIncomingFrames 
  #WTSOutgoingFrames  
  #WTSClientInfo
  #WTSSessionInfo 
  #WTSSessionInfoEx
  #WTSConfigInfo
  #WTSValidationInfo
  #WTSSessionAddressV4
  #WTSIsRemoteSession
EndEnumeration
Enumeration WTS_CONNECTSTATE_CLASS 
  #WTSActive
  #WTSConnected
  #WTSConnectQuery
  #WTSShadow
  #WTSDisconnected
  #WTSIdle
  #WTSListen
  #WTSReset
  #WTSDown
  #WTSInit
EndEnumeration
Enumeration WTS_TYPE_CLASS
  #WTSTypeProcessInfoLevel0
  #WTSTypeProcessInfoLevel1
  #WTSTypeSessionInfoLevel1
EndEnumeration
Structure WTS_CLIENT_ADDRESS  Align #PB_Structure_AlignC
  AddressFamily.l
  byte.b[20] 
EndStructure
Structure WTS_SESSION_INFOW   Align #PB_Structure_AlignC
  SessionId.l
  *pWinStationName
  State.l
EndStructure
Structure WTS_SESSION_INFO_1W Align #PB_Structure_AlignC
  ExecEnvId.l;
  State.l
  SessionId.l
  *pSessionName
  *pHostName
  *pUserName
  *pDomainName
  *pFarmName
EndStructure
Macro StatusText(StatusCode,StatusString)
  StatusString = "Unknown Status"
  Select StatusCode
    Case #WTSActive       : StatusString = "Active"     
    Case #WTSConnected    : StatusString = "Connected"      
    Case #WTSConnectQuery : StatusString = "Connecting"      
    Case #WTSShadow       : StatusString = "Shadow"     
    Case #WTSDisconnected : StatusString = "Disconnected"     
    Case #WTSIdle         : StatusString = "Idle"     
    Case #WTSListen       : StatusString = "Listening"     
    Case #WTSReset        : StatusString = "Resetting"      
    Case #WTSDown         : StatusString = "Down"   
    Case #WTSInit         : StatusString = "Initializing"
  EndSelect 
EndMacro
Procedure.s WTSGetFullUserName(SessionId=#WTS_CURRENT_SESSION,hWTS=#WTS_CURRENT_SERVER_HANDLE)
  Protected bytes,L,U$,D$,Q,*U=AllocateMemory(522),*D=AllocateMemory(522)
  Q=WTSQuerySessionInformationW(hWTS,SessionId,#WTSUserName, @*U, @bytes):L=MemoryStringLength(*U):U$=PeekS(*U,L):WTSFreeMemory(*U)
  Q=WTSQuerySessionInformationW(hWTS,SessionId,#WTSDomainName,@*D,@bytes):L=MemoryStringLength(*D):D$=PeekS(*D,L):WTSFreeMemory(*D)
  If D$<>"":ProcedureReturn(D$+"\"+U$):Else:ProcedureReturn(U$):EndIf
EndProcedure
;Debug WTSGetFullUserName()
Procedure.s WTSGetClientAddress(WinStationName$,State,SessionId,hWTS=#WTS_CURRENT_SERVER_HANDLE) 
  Protected R$="",bytes.l,*addr.WTS_CLIENT_ADDRESS=AllocateStructure(WTS_CLIENT_ADDRESS),Q
  If FindString(WinStationName$,"RDP-Tcp")
    Q=WTSQuerySessionInformationW(hWTS,SessionId,#WTSClientAddress,@*addr,@bytes)
    If Q:R$=Str(*addr\byte[2]&$FF)+"."+Str(*addr\byte[3]&$FF)+"."+Str(*addr\byte[4]&$FF)+"."+Str(*addr\byte[5]&$FF):EndIf:WTSFreeMemory(*addr)
  EndIf
  If State=#WTSListen:ProcedureReturn"0.0.0.0":EndIf
  ProcedureReturn R$
EndProcedure
Procedure.s WTSGetClientName(WinStationName$,SessionId,hWTS=#WTS_CURRENT_SERVER_HANDLE)
  Protected R$="",bytes,*client=AllocateMemory(522),Q,L
  Q=WTSQuerySessionInformationW(hWTS,SessionId,#WTSClientName,@*client,@bytes)
  If Q:L=MemoryStringLength(*client):R$=PeekS(*client,L):EndIf:WTSFreeMemory(*client)
  ProcedureReturn R$
EndProcedure
Procedure.i CountWTSSessions(ActiveOnly=#False,hWTS=#WTS_CURRENT_SERVER_HANDLE)
  Protected E,C,*I=AllocateMemory(SizeOf(WTS_SESSION_INFOW))
  If Not ActiveOnly : E=WTSEnumerateSessionsW(hWTS,#Null,1,@*I,@C):WTSFreeMemory(*I):ProcedureReturn C
  Else:Protected I.WTS_SESSION_INFOW,X,A=0:E=WTSEnumerateSessionsW(hWTS,#Null,1,@*I,@C)
    For X=0 To C-1:CopyMemory(*I+SizeOf(WTS_SESSION_INFOW)*X,I,SizeOf(WTS_SESSION_INFOW)):If I\State=0:A+1:EndIf
    Next:WTSFreeMemory(*I):ProcedureReturn A
  EndIf 
EndProcedure
;Debug CountWTSSessions()
Procedure.s WTSEnumSessInfo(hWTS.l=#WTS_CURRENT_SERVER_HANDLE)
  Protected R$,C,X,*I=AllocateMemory(SizeOf(WTS_SESSION_INFOW)),WSI.WTS_SESSION_INFOW,E,S$
  E=WTSEnumerateSessionsW(hWTS,#Null,1,@*I,@C)
  If C : R$=Str(C)+ " Sessions Found."+#CRLF$+#CRLF$
    For X = 0 To C-1
      CopyMemory(*I+SizeOf(WTS_SESSION_INFOW)*X, WSI, SizeOf(WTS_SESSION_INFOW))
      R$+"Result " +Str(X+1)+ " (SessionId: "+Str(WSI\SessionId)+#CRLF$+
         "---------------------------------------"+#CRLF$
      If FindString(PeekS(WSI\pWinStationName),"RDP-Tcp")
        R$+"ClientAddress:"+WTSGetClientAddress(PeekS(WSI\pWinStationName),WSI\State,WSI\SessionId)+#CRLF$
        R$+"ClientName:"+WTSGetClientName(PeekS(WSI\pWinStationName),WSI\SessionId)+#CRLF$
      EndIf 
      R$+"UserName: "+WTSGetFullUserName(WSI\SessionId,hWTS)+#CRLF$
      R$+"Session Name: " + PeekS(WSI\pWinStationName)+#CRLF$
      StatusText(WSI\State,S$):R$+"State: "+S$+#CRLF$+#CRLF$
    Next
    WTSFreeMemory(*I)
  Else
    R$="Error! Found No Sessions (Count = 0)"
  EndIf
  ProcedureReturn R$
EndProcedure
;Debug WTSEnumSessInfo()
Procedure.s WTSEnumSessInfoEx(hWTS.l=#WTS_CURRENT_SERVER_HANDLE)
  Protected R$,L=1,F=0,C,X,*I1=AllocateMemory(SizeOf(WTS_SESSION_INFO_1W)),
            I1.WTS_SESSION_INFO_1W,E,S$
  E=WTSEnumerateSessionsExW(hWTS,@L,F,@*I1,@C)
  If C : R$ = Str(C)+ " Sessions Found."+#CRLF$+#CRLF$
    For X=0 To C-1
      CopyMemory(*I1+SizeOf(WTS_SESSION_INFO_1W)*X,I1,SizeOf(WTS_SESSION_INFO_1W))
      R$+"Result "+Str(X+1)+": (SessionId "+Str(I1\SessionId)+")"+#CRLF$+
      "---------------------------------------"+#CRLF$
      If I1\ExecEnvId   :R$+"ExecEnvId: "+Str(I1\ExecEnvId)+#CRLF$:EndIf
      If I1\pDomainName :R$+"Domain Name: "+PeekS(I1\pDomainName)+#CRLF$:EndIf
      If I1\pFarmName   :R$+"Farm Name: "+PeekS(I1\pFarmName)+#CRLF$:EndIf
      If I1\pHostName   :R$+"HostName: "+PeekS(I1\pHostName)+#CRLF$:EndIf
      If I1\pSessionName:R$+"Session Name: "+PeekS(I1\pSessionName)+#CRLF$:EndIf
      If I1\pUserName   :R$+"UserName: "+PeekS(I1\pUserName)+#CRLF$:EndIf
      StatusText(I1\State,S$):R$+"State: "+S$+#CRLF$+#CRLF$
    Next:WTSFreeMemory(*I1)
  EndIf:ProcedureReturn R$
EndProcedure
;Debug WTSEnumSessInfoEx()
Procedure.i WTSWinCallBack(hWnd, uMsg, WTSEvent, EventSessionID) ; Callback for WTS Session Notify Events. 
  Protected Result$,Event_SessUser$ = WTSGetFullUserName(EventSessionID)
  If uMsg = #WM_WTSSESSION_CHANGE
    Select WTSEvent
      Case #WTS_CONSOLE_CONNECT:Result$="[ Session Connect -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_CONSOLE_DISCONNECT:Result$="[ Session Disconnect -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_REMOTE_CONNECT:Result$="[ Session Remote Connect -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_REMOTE_DISCONNECT:Result$="[ Session Remote Disconnect -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_SESSION_LOGON:Result$="[ Session Logon -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_SESSION_LOGOFF:Result$="[ Session Logoff -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_SESSION_LOCK:Result$="[ Session Lock -> Session:"+Str(EventSessionID)+" ] "+"("+Event_SessUser$+") " 
      Case #WTS_SESSION_UNLOCK:Result$="[ Session Unlock -> Session:"+Str(EventSessionID)+" ] "+"("+Event_SessUser$+") " 
      Case #WTS_SESSION_REMOTE_CONTROL:Result$="[ Session Remote Control -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_SESSION_CREATE:Result$="[ Session Create -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]" 
      Case #WTS_SESSION_TERMINATE:Result$="[ Session Terminate -> Session:"+Str(EventSessionID)+" ] [User: "+Event_SessUser$+" ]"  
      Default:Result$="[!] Un-Handled Callback Event -> [WTSEvent="+Hex(WTSEvent)+"] (uMsg="+Hex(uMsg)+")"
    EndSelect
    Debug Result$
  EndIf;:If Trim(Result$)="":Debug Result$:EndIf
  ProcedureReturn #PB_ProcessPureBasicEvents 
EndProcedure

; CompilerIf #PB_Compiler_IsMainFile
;   Global WinMain = OpenWindow(#PB_Any, 0, 0, 400, 140, "WinMain", #PB_Window_Invisible)
;   
;   If WinMain : SetWindowCallback(@WTSWinCallBack())
;     Global RegisterWTS = WTSRegisterSessionNotification(WindowID(WinMain),1)
;     If Not RegisterWTS : Debug "Error Setting Session Notifications" : EndIf 
;     Define WindowEvent
;     Repeat
;       WindowEvent = WaitWindowEvent()
;       Delay(1)
;     Until WindowEvent = #PB_Event_CloseWindow
;   EndIf
; CompilerEndIf
Bonus Content: gui.prefs

Code: Select all

; PureBasic IDE Exported Preferences
; 
[Sections]
IncludeShortcuts = 1
IncludeToolbar = 1
IncludeColors = 1
IncludeFolding = 1
; 
; Shortcut settings
; 
[Shortcuts]
New = CONTROL+COMMAND+24
Open = CONTROL+COMMAND+25
Save = CONTROL+COMMAND+29
SaveAs = 0
SaveAll = 0
Reload = 0
Close = CONTROL+COMMAND+33
CloseAll = 0
DiffCurrent = 0
EncodingPlain = 0
EncodingUtf8 = 0
NewlineWindows = 0
NewlineLinux = 0
NewlineMacOS = 0
Preferences = CONTROL+COMMAND+26
EditHistory = 0
Quit = 0
Undo = CONTROL+COMMAND+36
Redo = CONTROL+COMMAND+35
Cut = CONTROL+COMMAND+34
Copy = CONTROL+COMMAND+13
Paste = CONTROL+COMMAND+32
PasteComment = CONTROL+SHIFT+COMMAND+32
InsertComment = CONTROL+COMMAND+12
RemoveComment = CONTROL+SHIFT+COMMAND+12
AutoIndent = CONTROL+COMMAND+19
SelectAll = CONTROL+COMMAND+11
Goto = CONTROL+COMMAND+17
JumpToKeyword = CONTROL+COMMAND+21
LastViewedLine = CONTROL+COMMAND+22
ToggleThisFold = 40
ToggleFolds = CONTROL+COMMAND+40
AddMarker = CONTROL+COMMAND+38
JumpToMarker = 38
ClearMarkers = 0
Find = CONTROL+COMMAND+16
FindNext = 39
FindPrevious = SHIFT+39
FindInFiles = CONTROL+SHIFT+COMMAND+16
Replace = CONTROL+COMMAND+18
NewProject = CONTROL+SHIFT+COMMAND+24
OpenProject = CONTROL+SHIFT+COMMAND+25
CloseProject = CONTROL+SHIFT+COMMAND+33
ProjectOptions = 0
AddProjectFile = CONTROL+SHIFT+COMMAND+11
RemoveProjectFile = CONTROL+SHIFT+COMMAND+28
OpenProjectFolder = 0
NewForm = 0
FormSwitch = 0
FormDuplicate = 0
FormImageManager = 0
Compile = 41
RunExe = SHIFT+41
SyntaxCheck = 0
DebuggerCompile = 0
NoDebuggerCompile = 0
RestartCompiler = 0
CompilerOptions = 0
CreateEXE = 0
BuildAllTargets = 0
Debugger = 0
Stop = 42
Run = 43
Step = 44
StepX = CONTROL+COMMAND+44
StepOver = 46
StepOut = 47
Kill = 0
BreakPoint = 45
BreakClear = 0
DataBreakPoints = 0
ShowLog = 0
ClearLog = 0
CopyLog = 0
ClearErrorMarks = 0
DebugOutput = 0
WatchList = 0
VariableList = 0
Profiler = 0
History = 0
Memory = 0
LibraryViewer = 0
DebugAsm = 0
Purifier = 0
VisualDesigner = ALT+32
StructureViewer = ALT+29
FileViewer = 0
VariableViewer = 0
ColorPicker = 0
AsciiTable = ALT+11
Explorer = ALT+34
ProcedureBrowser = 0
Issues = 0
ProjectPanel = 0
Templates = 0
Diff = 0
AddTools = 0
Help = 37
UpdateCheck = 0
About = 0
NextOpenFile = CONTROL+COMMAND+72
PreviousOpenFile = CONTROL+SHIFT+COMMAND+72
ShiftCommentRight = CONTROL+COMMAND+15
ShiftCommentLeft = CONTROL+SHIFT+COMMAND+15
SelectBlock = CONTROL+COMMAND+23
DeselectBlock = CONTROL+SHIFT+COMMAND+23
MoveLinesUp = CONTROL+SHIFT+COMMAND+86
MoveLinesDown = CONTROL+SHIFT+COMMAND+88
DeleteLines = 0
DuplicateSelection = CONTROL+COMMAND+14
UpperCase = CONTROL+SHIFT+COMMAND+31
LowerCase = CONTROL+SHIFT+COMMAND+22
InvertCase = CONTROL+SHIFT+COMMAND+34
SelectWord = 0
ZoomIn = CONTROL+COMMAND+106
ZoomOut = CONTROL+COMMAND+107
ZoomDefault = CONTROL+COMMAND+1
AutoComplete = CONTROL+COMMAND+80
AutoCompleteConfirm = 72
AutoCompleteAbort = 79
ProceduresUpdate = 48
; 
; Toolbar layout
; 
[Toolbar]
ItemCount = 24
Icon_1 = Menu:New
Action_1 = Menu:New
Icon_2 = Menu:Open
Action_2 = Menu:Open
Icon_3 = Menu:Save
Action_3 = Menu:Save
Icon_4 = Separator
Action_4 = 
Icon_5 = Menu:Close
Action_5 = Menu:Close
Icon_6 = Separator
Action_6 = 
Icon_7 = Menu:Cut
Action_7 = Menu:Cut
Icon_8 = Menu:Copy
Action_8 = Menu:Copy
Icon_9 = Menu:Paste
Action_9 = Menu:Paste
Icon_10 = Separator
Action_10 = 
Icon_11 = Menu:Undo
Action_11 = Menu:Undo
Icon_12 = Menu:Redo
Action_12 = Menu:Redo
Icon_13 = Separator
Action_13 = 
Icon_14 = Menu:Compile
Action_14 = Menu:Compile
Icon_15 = Menu:CompilerOptions
Action_15 = Menu:CompilerOptions
Icon_16 = Separator
Action_16 = 
Icon_17 = Menu:Debugger
Action_17 = Menu:Debugger
Icon_18 = Menu:Stop
Action_18 = Menu:Stop
Icon_19 = Menu:Run
Action_19 = Menu:Run
Icon_20 = Menu:Step
Action_20 = Menu:Step
Icon_21 = Menu:Step
Action_21 = Menu:StepOver
Icon_22 = Menu:StepOut
Action_22 = Menu:StepOut
Icon_23 = Menu:Kill
Action_23 = Menu:Kill
Icon_24 = Standard:New
Action_24 = 
; 
; Color settings
; 
[Colors]
ASMKeywordColor = RGB(0, 217, 255)
ASMKeywordColor_Used = 1
BackgroundColor = RGB(13, 13, 13)
BackgroundColor_Used = 1
BasicKeywordColor = RGB(27, 113, 199)
BasicKeywordColor_Used = 1
CommentColor = RGB(72, 72, 72)
CommentColor_Used = 1
ConstantColor = RGB(0, 147, 3)
ConstantColor_Used = 1
LabelColor = RGB(112, 109, 7)
LabelColor_Used = 1
NormalTextColor = RGB(184, 191, 222)
NormalTextColor_Used = 1
NumberColor = RGB(0, 179, 0)
NumberColor_Used = 1
OperatorColor = RGB(62, 150, 255)
OperatorColor_Used = 1
PointerColor = RGB(224, 109, 172)
PointerColor_Used = 1
PureKeywordColor = RGB(0, 87, 174)
PureKeywordColor_Used = 1
SeparatorColor = RGB(62, 158, 255)
SeparatorColor_Used = 1
StringColor = RGB(187, 179, 9)
StringColor_Used = 1
StructureColor = RGB(255, 100, 47)
StructureColor_Used = 1
LineNumberColor = RGB(0, 60, 119)
LineNumberColor_Used = 1
LineNumberBackColor = RGB(1, 2, 3)
LineNumberBackColor_Used = 1
MarkerColor = RGB(0, 159, 40)
MarkerColor_Used = 1
CurrentLineColor = RGB(1, 2, 33)
CurrentLineColor_Used = 1
SelectionColor = RGB(0, 54, 108)
SelectionColor_Used = 1
SelectionFrontColor = RGB(173, 173, 173)
SelectionFrontColor_Used = 1
CursorColor = RGB(192, 192, 192)
CursorColor_Used = 1
Debugger_LineColor = RGB(232, 232, 255)
Debugger_LineColor_Used = 1
Debugger_LineSymbolColor = RGB(232, 232, 255)
Debugger_LineSymbolColor_Used = 1
Debugger_ErrorColor = RGB(176, 0, 0)
Debugger_ErrorColor_Used = 1
Debugger_ErrorSymbolColor = RGB(176, 0, 0)
Debugger_ErrorSymbolColor_Used = 1
Debugger_BreakPointColor = RGB(0, 159, 159)
Debugger_BreakPointColor_Used = 1
Debugger_BreakpoinSymbolColor = RGB(0, 159, 159)
Debugger_BreakpoinSymbolColor_Used = 1
DisabledBackColor = RGB(59, 59, 59)
DisabledBackColor_Used = 1
GoodBraceColor = RGB(57, 255, 9)
GoodBraceColor_Used = 1
BadBraceColor = RGB(255, 70, 70)
BadBraceColor_Used = 1
ProcedureBackColor = RGB(5, 8, 13)
ProcedureBackColor_Used = 1
CustomKeywordColor = RGB(12, 135, 117)
CustomKeywordColor_Used = 0
Debugger_WarningColor = RGB(147, 121, 0)
Debugger_WarningColor_Used = 1
Debugger_WarningSymbolColor = RGB(147, 121, 0)
Debugger_WarningSymbolColor_Used = 1
IndentColor = RGB(0, 170, 170)
IndentColor_Used = 1
ModuleColor = RGB(255, 255, 255)
ModuleColor_Used = 1
SelectionRepeatColor = RGB(176, 255, 167)
SelectionRepeatColor_Used = 1
PlainBackground = RGB(163, 163, 163)
PlainBackground_Used = 1
ToolsPanel_FrontColor = RGB(0, 149, 221)
ToolsPanel_BackColor = RGB(0, 0, 0)
; 
; Folding Keywords
; 
[Folding]
StartWords = 16
EndWords = 13
Start_1 = ;{
Start_2 = CompilerIf
Start_3 = DataSection
Start_4 = DeclareModule
Start_5 = Enumeration
Start_6 = Fn_
Start_7 = Import
Start_8 = Macro
Start_9 = Module
Start_10 = Procedure
Start_11 = ProcedureC
Start_12 = ProcedureCDLL
Start_13 = ProcedureDLL
Start_14 = Select
Start_15 = Structure
Start_16 = With
End_1 = ;}
End_2 = _Fn
End_3 = CompilerEndIf
End_4 = EndDataSection
End_5 = EndDeclareModule
End_6 = EndEnumeration
End_7 = EndImport
End_8 = EndMacro
End_9 = EndModule
End_10 = EndProcedure
End_11 = EndSelect
End_12 = EndStructure
End_13 = EndWith
I have a couple oddball folding words, and Ctrl+P opens preferences.
Other than that, it should just be default plus the colors.
Unifont can be downloaded here (its big, 12mb TTF with lots of unicode character support): https://unifoundry.com/pub/unifont/unif ... 5.0.01.ttf ( Page https://unifoundry.com/unifont/ )
SolveMyIssue_() - No QuickHelp available.
AZJIO
Addict
Addict
Posts: 1298
Joined: Sun May 14, 2017 1:48 am

Re: Showcase Your IDE Theme / Colors

Post by AZJIO »

screenshot in AkelPad
screenshot in Notepad++

IDE
Image
User avatar
bgeraghty
User
User
Posts: 52
Joined: Wed Apr 02, 2014 12:45 am
Location: irc.ibotched.it:+6697
Contact:

Re: Showcase Your IDE Theme / Colors

Post by bgeraghty »

AZJIO wrote: Tue Nov 29, 2022 8:34 am screenshot in AkelPad
screenshot in Notepad++

IDE
Image
Nice, looks kind of similar to what I'm using, colors a little softer though.

Are you able to compile/run/debug right out of N++ or Akelpad?
I've considered trying other editors and playing with the syntax highlighter DLL, but the IDE's editor is pretty solid for me.
SolveMyIssue_() - No QuickHelp available.
AZJIO
Addict
Addict
Posts: 1298
Joined: Sun May 14, 2017 1:48 am

Re: Showcase Your IDE Theme / Colors

Post by AZJIO »

bgeraghty wrote: Wed Nov 30, 2022 1:54 am Are you able to compile/run/debug right out of N++ or Akelpad?
menu screenshot for PureBasic
Yes, the compiler has run keys. You can modify the Menu_by_type.js file in my build of AkelPad to add custom menu items that appear when you press the F8 key. My Russian build has more menu items than the English one. In any case, I can open the file in the IDE by pressing F5, or vice versa in the IDE, press the AkelPad button to edit the source in another editor. For example in AkelPad and Notepad++ you can select a column, so I use a different editor to do some of the work.

You can choose colors using this table.
I already posted my theme here. But in that import file there is no color for TODO, FIXED and procedure bar. These colors in the settings are set elsewhere.

I also use the black theme on the forum. And the script for the code on the forum

highlighting in notepad++
PureBasic autocomplete in Notepad++
functionList.xml for notepad++
my theme for notepad++ (archive with 4 theme files)

Autocomplete in AkelPad works fine, but I did it using the Russian language. you can look in my build _pb.coder

File for Geany: filetypes.PureBasic (Linux)
code highlighting for Geany

File for gedit (Linux)

My color choice is based on what I previously coded with AutoIt3 and changed the light theme to black with the same shades. It took me 2 days to get used to the black theme, but then my eyes stopped getting tired, I could code for 18 hours and I was mentally tired. As I understand the authors used the theme from "Visual Basic", but I'm not sure. Now they have changed the code highlighting, but I stayed on what I was used to, I really like it and I adjust any code highlighting to my code highlighting. For example, in AkelPad, I had to do some code highlighting myself. Similarly, in Notepad ++, in addition to the usual color substitution, I did individual ones, for example XML, since I use a theme for a programming language, this does not look perfect, because XML is markup, not a programming language.

I also want to say a few rules:
1. The background should be neutral, that is, it should not be colored, but only white, gray or black.
2. The color of the lines (in quotes) is colorless, as if it were text in a regular notepad.
3. The smaller the code elements are, the brighter they should be. For example , operators (*/+-=()[]{}) bright red. The numbers should also be bright, as often 1-3 characters.
4. My default color is yellow. That is, if I can't highlight the code in a different color, because I can't understand the rule to create the correct regular expression for highlighting.
5. I use a regular font, since I don't consider the code to be tabular data that should be aligned.

bgeraghty
Your keywords and function names (Procedure.i WTSWinCallBack) are almost the same color. I think this is a bad choice.
Last edited by AZJIO on Wed Nov 30, 2022 7:56 am, edited 1 time in total.
Nituvious
Addict
Addict
Posts: 998
Joined: Sat Jul 11, 2009 4:57 am
Location: United States

Re: Showcase Your IDE Theme / Colors

Post by Nituvious »

I'm not sure if it fits, but I've been using this theme with the text editor I've been working on. The theme was supposed to be similar to sublime text 2/3

Image
▓▓▓▓▓▒▒▒▒▒░░░░░
AZJIO
Addict
Addict
Posts: 1298
Joined: Sun May 14, 2017 1:48 am

Re: Showcase Your IDE Theme / Colors

Post by AZJIO »

autocomplete in AkelPad (allows you to insert code snippets)
green label - autocomplete list
red label - taken from the list of keywords (color corresponds to code highlighting)
yellow label - taken from the current code
Image
Post Reply