From ccdbbbed1898c5073dc460a737cdd4b7c7036bb5 Mon Sep 17 00:00:00 2001 From: TheUltimateHacker Date: Fri, 29 May 2015 09:57:53 -0400 Subject: BWM - Skinning! Yay! ShiftOS Next can finally be Shifted! Yes, that's true. I've added basic skinning to the Basic Window Manager. Currently, the only way to get to it is by typing "open shifter" in the Terminal, and the Shifter will open. Choose the settings you want and hit Apply! This is also the Alpha 3 commit, so after this I'll make the next release. --- shiftos_next/APIs/API.vb | 5 +++- shiftos_next/APIs/Skins.vb | 53 +++++++++++++++++++++++++++++++++++++++++ shiftos_next/APIs/filesystem.vb | 3 +++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 shiftos_next/APIs/Skins.vb (limited to 'shiftos_next/APIs') diff --git a/shiftos_next/APIs/API.vb b/shiftos_next/APIs/API.vb index d3a70fe..af6474d 100644 --- a/shiftos_next/APIs/API.vb +++ b/shiftos_next/APIs/API.vb @@ -73,6 +73,8 @@ Public Sub OpenProgram(progtoopen As String) Select Case progtoopen + Case "shifter", "skin", "shift" + Shifter.Show() Case "shiftorium", "packages", "pacman", "code shop" shiftorium_cmd.Show() Case "files", "fileskimmer", "file skimmer", "fs", "file browser" @@ -108,7 +110,8 @@ Else AddLine("close: Invalid program """ & progtoclose & """.") End If - + Case "shifter", "skin", "shift" + Shifter.Hide() Case Else AddLine("close: Invalid program """ & progtoclose & """.") End Select diff --git a/shiftos_next/APIs/Skins.vb b/shiftos_next/APIs/Skins.vb new file mode 100644 index 0000000..7b87a5c --- /dev/null +++ b/shiftos_next/APIs/Skins.vb @@ -0,0 +1,53 @@ +Module Skins + ' + ' This module allows for skinning. Simply that. + ' + +#Region "Basic Window Manager" + Public titlebarcolor As Color = Color.Gray + Public titlebartextcolor As Color = Color.White + Public desktopbackcolor As Color = Color.Black + Public newterminalbuttonbackcolor As Color = Color.Black + Public newterminalbuttontextcolor As Color = Color.White + + 'Load Skin from Save File + + Public Sub loadskindata() + Try + Dim loadlines() As String = IO.File.ReadAllLines(bwmskin + "data.bsk") + titlebarcolor = Color.FromArgb(loadlines(0)) + titlebartextcolor = Color.FromArgb(loadlines(1)) + desktopbackcolor = Color.FromArgb(loadlines(2)) + newterminalbuttonbackcolor = Color.FromArgb(loadlines(3)) + newterminalbuttontextcolor = Color.FromArgb(loadlines(4)) + BasicWM.Desktop.Redraw() + Catch ex As Exception + saveskindata() + loadskindata() + End Try + + + End Sub + + 'Save to save data + + Public Sub saveskindata() + Dim savelines(200) As String + savelines(0) = titlebarcolor.ToArgb + savelines(1) = titlebartextcolor.ToArgb + savelines(2) = desktopbackcolor.ToArgb + savelines(3) = newterminalbuttonbackcolor.ToArgb + savelines(4) = newterminalbuttontextcolor.ToArgb + Try + IO.File.WriteAllLines(bwmskin + "data.bsk", savelines) + Catch ex As Exception + IO.Directory.CreateDirectory(bwmskin) + IO.File.WriteAllLines(bwmskin + "data.bsk", savelines) + End Try + BasicWM.Desktop.Redraw() + End Sub + +#End Region + + +End Module diff --git a/shiftos_next/APIs/filesystem.vb b/shiftos_next/APIs/filesystem.vb index 61e8053..edce1c3 100644 --- a/shiftos_next/APIs/filesystem.vb +++ b/shiftos_next/APIs/filesystem.vb @@ -12,6 +12,9 @@ Public systemdir As String = root + "\Shiftum42\" Public drivers As String = systemdir + "Drivers\" + Public skindir As String = systemdir + "Skins\" + + Public bwmskin As String = skindir + "BWM\" Public save As String = drivers + "HDD.dri" -- cgit v1.2.3