The Oven

Tool World => Development and code snippets => Topic started by: slore on April 08, 2017, 02:30:27 AM

Title: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on April 08, 2017, 02:30:27 AM
What is me?
a portable shell program(desktop, startmenu, quick launch, taskbar, notifyarea, clock), whitch can run in Windows XP, 2003(need rebuild),
Windows 7, 8, 8.1, 10, Windows Server 2008, 2012, 2016 and the Windows Preinstallation Environment(WinPE), and both x86, x64 environment.

[attach=1]

How to use?
in normal windows:
1. terminate the origin shell.
hold CTRL+SHIFT and right click the taskbar, select the "Terminate Explorer". (or force end in taskmgr.exe)

2. run "WinXShell.exe"

in PE:
press SHIFT+F10 to startup cmd.exe,
just run "WinXShell.exe -winpe"

this will a). auto terminate the origin "shell" - wallpaperhost.exe,
and b). set the environment variable USERPROFILE to X:\Users\Default if USERPROFILE is X:\Windows\system32\config,
and c). handle the shutdown/reboot button in startmenu with wpeuitl.exe(see WinXShell.jcfg).

2018-01-10 RC2.7.1 releae:
[attach=6]
[attach=7]

[attach=5]
Changelog:

Next

2017-12-26 RC2.7 release:
[attach=2]
[attach=3]

[attach=4]

Changelog:

Code: [Select]
WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg
WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow

Quote
* (to-do)WIFI like normal Win10. (I think the PENetwork should do this.)
now the PENetwork beta version has a easy connect settings window :thumbsup:
I don't know it is or not relevant whether if I said this :)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on April 08, 2017, 02:36:48 AM
can I use a 3rd-part StartMenu?
Yes,but I think only Classic Shell(<= 4.2.5) can be.

[attach=1]

hide origin start icon with WinXShell.jcfg
Code: [Select]
  "JS_STARTMENU":
  {
    "start_icon":"empty",
    "start_padding":8,
    ...
  }

and the origin sample startmenu item can be set with:

Code: [Select]
"JS_STARTMENU":
  {
   "nosettings":true,
   "nobrowse":false,
   "nobrowse_network":true,
   "nofind":true,
    "norun":true,
    "nologoff":true,
    "norestart":false,
    "noshutdown":false,
    "noterm":true
   }
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on April 08, 2017, 02:52:52 AM
Is there a option for File Explorer?
Yes.

you can use explorer++.exe, XYplorer.exe, TotalCommand.exe, etc.

WinXShell.jcfg:
Code: [Select]
  "JS_FILEEXPLORER":
  {
    "3rd_filename":"##{JVAR_MODULEPATH}\\explorer++.exe",
  },
  "JS_DESKTOP":
  {
    "3rd_open_arguments":"\"%s\""
  },
  "JS_QUICKLAUNCH":
  {
    "3rd_open_arguments":""
  }

this config with handle the double click on desktop(This PC/Recyle Bin/folder) and explorer icon on QuickLaunch.

if 3rd_filename is "" then will use a built-in file explorer.
the built-in file explorer is USE a OpenFileDialog window to simulate it.
it very functional but need some dependencies.

NewOpenDlg:
ADDITEMS.txt
Code: [Select]
Windows\System32\ExplorerFrame.dll
Windows\System32\shellstyle.dll
Windows\System32\StructuredQuery.dll

;some version of WIN10 need this file,
;some version will broke if have this file.
Windows\System32\edputil.dll


NewOpenDlg.reg:
Code: [Select]
Windows Registry Editor Version 5.00

;explorerframe.dll
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}]
@="Explorer Navigation Bar"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}]
@="Shell Name Space ListView"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
;@="X:\\Windows\\system32\\explorerframe.dll"

you can do this(add to boot.wim) by yourself, or just download the patch and put this in wimbuilder's project folder,
wimbuilder will auto add the to boot.wim.
[attach=1]

FYI:
this also make "Browser..." work for Run dialog, and taskmgr.exe -> File -> New Task dialog,
and replace the Open File Dialog in new style for notepad.exe.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on April 08, 2017, 02:59:20 AM
I can't drop the icon on the Desktop in Win10 PE!
I can't drop the file from desktop to cmd.exe, notepad or other apps!


DragAndDrop-Patch:
ADD_ITEMS.txt
Code: [Select]
Windows\System32\d3d11.dll
Windows\System32\DataExchange.dll
Windows\System32\dcomp.dll
Windows\System32\dxgi.dll
Windows\System32\ksuser.dll

DragDrop.reg:
Code: [Select]
Windows Registry Editor Version 5.00

;dataexchange.dll
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,61,00,\
  74,00,61,00,65,00,78,00,63,00,68,00,61,00,6e,00,67,00,65,00,2e,00,64,00,6c,\
  00,6c,00,00,00
"ThreadingModel"="Both"

;need update ACL rights for offline importing.
;or you can add this on WinPE startup.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\Extensions]
"DragDropExtension"="{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}"

[attach=1]
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: Atari800xl on April 08, 2017, 03:06:07 AM
...
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on April 08, 2017, 03:20:00 AM
when I select the "New" sub menu from contextmenu, it it freeze in Windows 10.0.15063 PE(Creator Update RTM)!

I can write a shell  extension dll to fix that, but maybe MS will fix in sometime.
Let's alternate the "New" with bat file and reg file.

WinXNew-Patch:
Code: [Select]
        hiderun_x64.exe        4kb - hiderun program(x64)
        hiderun_x86.exe        3kb - hiderun program(x86)
        INIT.bat                     wimbuilder's PATCH script, copy hiderrun.exe and WinXNew.bat to System32 directory.
        WinXNew.bat             create "New" folder or file batch file. judge file name, and create them.
        WinXNew.reg             create our "New" Sub Menu.

WinXNew.reg:
Code: [Select]
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew]
"MUIVerb"="New(&W)"
"SubCommands"=""
"NODEFAULT"=""
"Position"="Bottom"
"SeparatorAfter"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\0folder]
"MUIVerb"="Folder(&F)"
"icon"="shell32.dll,3"
"SeparatorAfter"=""
"CommandFlags"=dword:00000040

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\0folder\command]
@="hiderun.exe WinXNew.bat folder \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\1.txt]
"MUIVerb"="Text Document"
"Icon"="imageres.dll,-102"

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\1.txt\command]
@="hiderun.exe WinXNew.bat .txt \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\2.bmp]
"MUIVerb"="Bitmap"
"Icon"="imageres.dll,-70"

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\2.bmp\command]
@="hiderun.exe WinXNew.bat .bmp \"%V\""


WinXNew.bat:
Code: [Select]
@echo off
cd /d "%~2"

set type=%1
set folder=Folder
set ".txt=Text Document"
set .bmp=Bitmap

call set "filename=New %%%type%%%"
set "newfilename=%filename%"
if not [%type%]==[folder] (
  set "newfilename=%filename%%type%"
)

set /a idx=1
:CHECKNAME
set /a idx+=1
if not exist "%newfilename%" goto :CREATION
call :GETNEWNAME %idx%
goto :CHECKNAME


:CREATION
rem "%newfilename%"
if [%type%]==[folder] (
  mkdir "%newfilename%"
) else (
  cd.>"%newfilename%"
)
goto :EOF

:GETNEWNAME
set "newfilename=%filename% (%1)"
if not [%type%]==[folder] (
  set "newfilename=%newfilename%%type%"
)
goto :EOF

WinXShell.exe won't auto create the cascade menu, so need remove the comment in WinXShell.jcfg to use this in Desktop's context menu.
Code: [Select]
  "JS_DESKTOP":
  {
    "cascademenu": {
      "WinXNew":"Directory\\Background\\shell\\WinXNew"
    }
  }

[attach=1]

FYI:
remove system "New" Sub Menu.
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shellex\ContextMenuHandlers\New]

add "~reserved~" to
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew]
file explorer won't be freeze, but just has a empty sub menu.(will load HKCR's ShellNew key for create sub menu)

add "~reserved~", "Classes" to
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew]
file explorer won't be freeze, but just has no sub menu.(won't load HKCR's ShellNew key)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: Lancelot on September 21, 2017, 02:30:12 PM
Hi slore,

can we have a separate "Shut Down" utility.  :cool:

:turtle:

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: Lancelot on September 21, 2017, 04:24:28 PM
a portable shell program(desktop, startmenu, quick launch, taskbar, notifyarea, clock), whitch can run in Windows XP, 2003(need rebuild),
When you rebuild, We can test on Gena.  :thumbsup:

Let us know when you attach rebuild.  :wink:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: Lancelot on September 21, 2017, 04:26:52 PM
Hi slore,

I just test WinXShell on Win10PESE,
It looks nice  :great:

one minor thing, If you can add desktop.ini support to WinXShell
WinXShell can support MultiLanguages at StartMenu

See pictures:

[attach=1]

[attach=2]
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on September 22, 2017, 12:31:42 AM
Hi, Lancelot,

as explorer is so widely, i thought no one will metion this topic.
thinks for reading and testing it.
add explorer is big process for me, who just maintain his own one PC,
i make a simple toy(zero dependencies for boot.wim) for myself.
there are a lot of to-do things,but no documents to learn, such a hard work.

Quote
can we have a separate "Shut Down" utility.
the UI things is designed to be "separate" - the html-like view,message,even the action can be modified by yourself.
with -ui option to use, see(but this a experiment feature):
http://theoven.org/index.php?topic=2066.msg23089#msg23089

* (done)Shutdown UI
* (done)Resolution UI
* (to-do)my computer's property tab. (show CPU,Memory info in a simple way, zero dependencies)
* (to-do)volume settings like normal Win10.
* (to-do)WIFI like normal Win10. (I think the PENetwork should do this.)
* (to-do)modern WIn10 start menu.

Quote
When you rebuild, We can test on Gena.
I don't know Gena so far, seems cool.
if I need build for adapting to Windows 10 RS3, I will make a xp/2003 version.

Quote
WinXShell can support MultiLanguages at StartMenu
sorry, as WinXShell can replace startmenu with Classic Shell(<= 4.2.5), I have no plan for this.
if have time to create the modern start menu, i will consider  support MultiLanguages.
(as WinXShell is just used by myself no the others,  *MultiLanguages support* was no priority in plan.  )
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: Lancelot on September 22, 2017, 05:55:33 AM
* (to-do)my computer's property tab. (show CPU,Memory info in a simple way, zero dependencies)
There is one of my favorite, CoolMon 1 plugin available on all projects
Downloads\AppYGS\System Tools\HW Info\"CoolMon 1"

I feel it works with zero boot.wim dependencies as you expect,
 and have very cool features.  :wink:

It may give you ideas.

Tip:
There are many applications plugins at \Downloads\** that we find useful for a PE user,
some may take your interest and shorten your to-do list.


there are a lot of to-do things,but no documents to learn, such a hard work.
I know how you feel.
I have a never ending but always increasing to-do things for projects with no documents to learn and a hard work.

Just an advice,
Let wheels always turn,
even slowly  :thumbsup:

See You around
:turtle:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: Lancelot on September 22, 2017, 06:24:01 AM
Quote
When you rebuild, We can test on Gena.
I don't know Gena so far, seems cool.
if I need build for adapting to Windows 10 RS3, I will make a xp/2003 version.
Just download
Gena Appetizer (69.19 MB)
http://gena.cwcodes.net/Compressed/
extract to D:\Oven
open builder and click Big Blue button.

After once downloading 2k3 iso from ms, it will build in some minutes.  :great:

:turtle:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: ChrisR on September 22, 2017, 10:24:56 AM
Hi Slore,
A little while WinXShell is here but I had not seen I was elsewhere.
It's my first test with a basic x64 build.
It is just Awesome :great:
Keep up the good work :thumbsup:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: 0scar on September 23, 2017, 09:46:08 PM
Works OK but  it frezees 1 minute or so when  right clicking till the context menu  shows up.
Tested  witrh win7pe  x86.
 :smile:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on September 24, 2017, 01:30:14 AM
hi, Oscar
thank for testing. Yes , that is a known issue.
I use the newest Windows SDK Interface for desktop backgroud menu(Minimum supported client Windows 8 as msdn said),
I should check the os version, create menu with different IF.
I old one which worked in Windows 7 that like right clicking on the "desktop" folder, there aren't view, arrengment.

as WINXP,WIN7,8,8.1 PE can use origin explorer, if the origin explorer can work, there is no need for third-party shell,
I barely use and maintain Win10 PE. because maybe some day, RS3,RS4, it's hard to make origin explorer work, like the modern UI (startmenu, network settings).
there was a BS explorer, but this one hasn't a x64 version, and no maintenance.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: dazza on December 04, 2017, 11:56:27 AM
Hi Slore

Great little shell - really like it, and is working well for me in a quick Windows 10 PE I created using Windows 10 ADK 1709

Can I please ask, is the start menu, taskbar, desktop an app you have coded / created yourself, if so using what? or is it a 3rd party tool you are using to do it - as would really like to create something similar myself, just as a programming exercise / fun project initially

Thanks again
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 04, 2017, 10:18:52 PM
hi,dazza

what you want is be here.
http://www.foxplanet.de/explorer/

the basic shell is implemented with open source.
I just fixed some bug, adapt to the new WINDOWS,
and make it looks modern. now  the WIFI connection settings is doned.
take time to finish the tray status icons.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 05, 2017, 03:22:47 AM
Hi Slore,
Are you creating some Wi-Fi settings like the ones in the image? They are visually perfect. I'm happy with your idea. I do not plan much but I will be happy to help you in whatever is necessary. As soon as I upload it I will try and comment on how it works. The idea is really brilliant.
I love those Wifi settign.
regards
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: dazza on December 05, 2017, 07:37:45 AM
Hi Slore

Thank you very much for you reply and the link, I shall read more about it later

Look forward to seeing your updated version with Wi-Fi and status icons etc

Great work

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 15, 2017, 09:25:10 AM
Slore,

     When you have the modern look and tray icons done I will probably start testing and switch to your shell,  Great work!! (Also, awesome job making sure connecting to network is easy for everyone instead of just using PE Network! PE Network is now also easy to connect as well  :thumbsup:)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 26, 2017, 11:04:39 AM
hi teik, bob.omb

the WIFI-Settings is finish on 2017/10/28, but the tray network icon I finished right now(until the last weekend, I got time to code).
sorry for taking so long time.

seem in the period PENetwork updated with the feature.  :tongue:

compare with the origin explorer shell, my shell is not full functional just less dependencies.
if you like the WIFI-settings, now, you need't switch to my shell, just run:

Code: [Select]
WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg
or
Code: [Select]
WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow

hope it works for you.

regards
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 26, 2017, 01:02:42 PM
 :thumbsup: Thanks Slore!

Looks great! - Question, which values are used to theme colors on flyout? Im messing around with it now but you probably know values I might miss. Once I theme it I'm switching over haha!  :lol:  Love the modern UI look.  I was waiting for PENetwork but its time to put something together.  Thanks for coming through in a clinch, grateful to have WinXShell as part of my build.

Doing some testing I'll let you know if it works for me but either way WinXShell is VERY impressive.

Also check personal messages for important info..
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 26, 2017, 02:44:28 PM
This does look great.  I can't use it though, YET, I am still using PENetwork b4 :sad:

PENetwork b7:
-Shows inactive wired network icon when no wireless card present and no network present (correct)
-Shows active wired network icon if wired network is plugged in (correct)
-Wifi Flyout is incomplete it only connects to open networks reliably <--- I cannot use yet for this reason

WinXShell RC2(With PENetwork set to close after network starts):

-Wifi Flyout is perfect , icon inactive when no connection and active with signal strength when connected (correct)
-No Icon if wired connection, icon stays wireless logo - would need to detect if wifi was avail then use that first
 for icon, unless wired was connected already/detected new wired connection then use wired icon <--- I cannot use yet for this reason

One has perfect wired icons and one has perfect wireless...

BUT I can't wait to see which one does both first to change the face of networking for PE, I know I'll be using whichever it is  :great:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 27, 2017, 04:00:46 AM
hi teik, bob.omb

the WIFI-Settings is finish on 2017/10/28, but the tray network icon I finished right now(until the last weekend, I got time to code).
sorry for taking so long time.

seem in the period PENetwork updated with the feature.  :tongue:

compare with the origin explorer shell, my shell is not full functional just less dependencies.
if you like the WIFI-settings, now, you need't switch to my shell, just run:

Code: [Select]
WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg
or
Code: [Select]
WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow

hope it works for you.

regards

Hello
Thank you very much for updating so we can prove how it works. For now I have tested quickly running from the Win10Pe itself. I liked it a lot, and for the functions that are minor do not worry. There are the necessary ones. But could you make a plugin to put directly in Win10Pe with the option to see or not the browser? I am a bit clumsy in these aspects and so could be used in the boot directly. But these days I will try to do it and I am already saying how it works.

Greetings and thank you very much for everything.  :thumbsup:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 27, 2017, 05:55:24 AM
Hi slore again

I bring a photos so you can see what appears to me.
It connects and disconnects perfectly. But the characters are somewhat rare.
They look like symbols% before the name. I leave a relationship for the Spanish version, if you can enter it is my language.
One thing: the adjustments to the network do not open, I do not know if it is set for future versions or it is functional in your work. The proxy button if it opens perfectly.
A second thing is, can you change the transparency of that menu to adapt it and make it look nice?


Images attached

Thank you very much for everything and I will continue to test configurations. My sincerest congratulations.




es-ES

Connected= Conectado

Secured=Seguro

Open=Abierta

Connect=Conectar

Disconnecti=Desconectar

msg_enter_password=Introducir la clave de red

Cancel=Cancelar

NetworkSettings=Ajustes de red

Firewall=Firewall

Proxy=Proxy

msg_select_device=Seleccionar tarjeta de red

msg_service_unavailable=WLAN no disponible

msg_device_unavailable=WLAN no disponible
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 27, 2017, 07:48:40 AM
hi, teik
copy En-US.xml to es-ES.xml and translate to Español  :smile:, or open main.jcfg add
Code: [Select]
"locale":"en-US",
to force use the locale/en-US.xml
(looking for UI_Shutdown\main.jcfg, there are the instruction for those options.)

maybe should improve it, if there is no OS's locale translation file(for you, es-ES.xml) load the en-US.xml for default,
so will not be such rare.

>One thing: the adjustments to the network do not open, I do not know if it is set for future versions or it is functional in your work. The proxy button if it opens perfectly.

the button you can add/remove by yourself with (main.xml, and the CLICK action in main.jcfg).

PENetwork cann't disable/enable the Firewall in WIN10 v1709 correctly, so I add a button for that.
I check the firewall status change the button on/off status with code, so don't modify the id="::firewall",
the button will not open "Firewall" settings window, but switch(disable/enable) the firewall for LAN share, with different color.(PUSHED BUTTON)

some things in main.xml with "::" prefix, is used in source code, the others' can modify by yourself as you like,
the TEXT or the COLOR things, also the size.


the proxy button is just a sample for quick startup some app from the UI(see UI_SHUTDOWN).
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 27, 2017, 08:03:19 AM
Slore/teik

  Wifi Flyout setting adjustments for theming and locale seem to be working fine. Teik you may have a misplaced value for the % display issue, the settings files are very touchy everything must be perfect..

Maybe make networks with no SSID be named "Hidden" instead of being blank?

[attach=1]

Again, looks amazing! I wanna switch away from PENb4 so bad  :lol:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 27, 2017, 08:13:03 AM
hi,bob.omb

Quote
Question, which values are used to theme colors on flyout? Im messing around with it now but you probably know values I might miss. Once I theme it I'm switching over haha! 

maybe you already know that. you can modify the main.xml to change the color.

Quote
One has perfect wired icons and one has perfect wireless...

I want to create a UI_NETWORK to do IP settings, adsl connection settings, so the UI_WIFI just wireless.
winxshell will add some UI for the SYSTEM, not the network. like the sound settings, calendar, time settings,
the **NETWORK** part is not powerful as PENetwork which one is specialize in the aspect.
(winxshell can shutdown the PC, can change the resolution. the wired LAN part need more time to code with it.)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 27, 2017, 08:26:53 AM
I guarantee when your done with I'll be using it.  I fear Holger may not be back soon to finish his flyout.

For theming the files needed for edit are:
Main.XML
SSIDItem.XML
-and-
RC\Combobutton.PNG

Im pretty sure for now PENetwork must start the network and then can be closed for your flyout to function is this correct?

Honestly just an icon that showed if wired was connected or not, and doesnt show wireless if there is no wireless only a wired icon - would be enough to get your networking component adopted by users...   The reason is, if people are switching, it needs to be better that whats already available and the WIFI is 100000% better but we would have to trade for not having any indicator if wired was in use or not.

I'm not asking for you to change or make anything, just explaining my specific needs and those are the points I will make changes to my stuff....

Again, your work is pretty awesome, keep it up!  :great:

PS. Using PENetwork in the background is not a bad thing, your UI could utilize it until you complete the rest of the code yourself for WinXShell

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 27, 2017, 08:49:34 AM
hi,bob.omb

actually, the wired status, have a lot, I worked but not perfect so be pendding thing for now.
cable disconnect, internet, connect the internet with proxy, etc. some status I don't know use which APIs to do that,
if I put some inaccurate icon maybe somebody will be confused.
I will work on it, if I figure out how to get this status.

>Im pretty sure for now PENetwork must start the network and then can be closed for your flyout to function is this correct?

I thought WLAN service will starting by PE...
you can start the WLAN serivce in cmd:
Code: [Select]
net start WlanSvc

"msg_service_unavailable" message for if the PE is not able to use wireless(no wlan dlls, services),
after this, if there is no the right driver to make wlan adapter working, then will show "msg_device_unavailable" message.

maybe add a button like firewall to switch the service counld be better.(I have see some script for start wlan service and install WIFI driver, so the PENetwork is not MUST)

and some other feedback I will think how to impove.
* theme stuff
* empty SSID to be Hidden

thank for testing it, and feedback the infomation.   :grin:

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 27, 2017, 09:28:25 AM
Hi slore
Use versions of single language windows. In the Windows folder there is only the Spanish language, so the folder en-US is empty. Can you upload the necessary files to recognize it?
It's just that I get these symbols  % in front of all the texts. I tried to change it from main.jcfg itself but I can not get it to read them. It seems that with the English language works well as local, but I do not have it and I can not make those rare symbols disappear. Thanks so much

Regards  :wink:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 27, 2017, 10:05:48 AM
Hi, teik
unzip, and copy the file es-ES.xml to UI_WIFI\locales\ will work.
[attach=1]

I add the "locales":"es-ES" to main.jcfg for testing, because I don't have a spanish windows to test.(if you use a spanish windows, you needn't overwite the main.jcfg file.)
[attach=2]

The file need save as UTF-8 encoding, maybe your Editor changed that, so it wouldn't work.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 27, 2017, 10:57:16 AM
Hi slore
Thank you very much for the support and be so attentive. I apologize to you for my clumsiness in adding codes. Thank you very much for giving you such a quick solution. It works perfectly. I congratulate you again for your work and I subscribe to the request to be able to modify the theme from xml and please I ask you to add some transparency as in the new versions of windows 10.

Thank you very much for everything and for my part to say that it is already a script that can not be missing in my Win10PE. It is perfect.   :grin: :grin:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 27, 2017, 07:02:08 PM
Slore,

    I am loving that your shell can be used component by component and is HIGHLY customizable . I just integrated the display component (UI_Resolution) into my build. I could probably do a better job with the color scheme but it works perfect  :thumbsup: I know you have had this out for a while but I was unaware we could piece meal our favorite parts until the main shell developement is finished.  The Start Menu will be cool for sure  :cool:  Your shell UI has an edge because of the modern look.

For UI_Resolution, consider a ~15 second timer after apply is clicked and resolution is changed, with prompt at center of new display resolution, "Do you want to keep these settings?" w/Buttons Ok and Cancel(Or something like this), if Ok is clicked on prompt settings persist, if Cancel is clicked on prompt -or- if ~15 second timer completes without input on prompt, settings go back to the last value. (This protects users from going out of range for their display, or setting their resolution so low that the system is not usable, which is really easy to do in PESE)

[attach=1]

I got the name to display correctly in the taskbar too, I also needed to change the UI_Resolution folder name for this or there was an error.(see below)

Added to right-click context menu with icon for ease of use.

It goes together very well.

--------

Edited "Name" field in main.jcfg and made name of folder match, i renamed to "Settings", anything can be used but this is what I wanted to display on taskbar when the UI was open. (Important!! This name is what displays in the taskbar and the "UI_Resolution" folder +"name" in main.jcfg must match or error is produced) - This allows for finished look.

Used ComponentsY>Additional Registry to add Reg Keys:
Code: [Select]
RegWrite,HKLM,0x1,"Tmp_Software\Classes\Directory\background\shell\Display Settings",Icon,X:\Windows\System32\display.ico
RegWrite,HKLM,0x1,"Tmp_Software\Classes\Directory\background\shell\Display Settings\command",,"WinXShell.exe -ui -jcfg Settings\main.jcfg"

Used Components>Additional Files -to place Display.ico, WinXShell.exe, WinXShell.jcfg, and "Settings" folder in System32 (Previously "UI_Resolution")

Now functions like normal(ish) display settings window!

Your work is great, thanks again! :great:

**EDIT -- Added Display Settings.7z with all files needed, for anyone who wants to add this to their build.

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 28, 2017, 10:47:55 AM
Hi, bob.omb

Great to see you have done that without any document.  :thumbsup:
that's the UI part what it designed.

the UI part is that, I disorientated with the SHELL part(I can see there are so many unfinish works need to be done, but I don't have such time, and coding skill for that),
so make a toy for insteading. Happy to see somebody  fiddled with it.

Quote
~15 second timer after apply is clicked and resolution is changed
if I make the UI action, it easy to do that, but what the UI_Resolution change resolution is coding in main.jcfg("onClick" section).
I need implement something like "SAVE old_resolution","MSGBOX msg","IF condition", etc.

as if the resolution is changed, the UI window will adjust to be "Center", you can change the resolution again, so I think it is not so important thing.

by the way, could you upload the BLACK theme UI files?(main.xml)
I want to see what's you changed, so I can try whether I can make something like "theme":"black" stuff to make change color-theme in easy way.

Regards.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 28, 2017, 04:19:40 PM
Sure

I will try and see what else I can get it to do  :tongue:

Added Display Settings.7z, files needed for above look, to previous post for other builders as well.


Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 28, 2017, 08:48:46 PM
if I make the UI action, it easy to do that, but what the UI_Resolution change resolution is coding in main.jcfg("onClick" section).
I need implement something like "SAVE old_resolution","MSGBOX msg","IF condition", etc.

as if the resolution is changed, the UI window will adjust to be "Center", you can change the resolution again, so I think it is not so important thing.

This is kind of important thing, for later.  Look below. (Although I think the networking or start menu is something that is more desirable for sure)

[attach=1]

and

[attach=2]

On test machine defaults to 1024x768 - This is ok and a lot of machines do this.  UI shows valid resolutions for display.  The very next size down is too low to adjust resolution back, buttons are pushed off edge of screen and reboot required(luckily PECMD for no reboot fix) Maybe make window content dynamic? Or make window scrollable when resized, but defaults to regular size when opened?

Just noticed as well current WiFi flyout doesnt seem to connect to open networks..

Not trying to pile stuff on but figure while I notice it you can add to list for later, as far as development goes, take your time, this shell can be great.  I'll try to point stuff out but don't want to point out too much at once, I know your still working on it  :thumbsup: So far its very tempting, I would like very much to have a lightweight mostly modern UI as would many others.



Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 28, 2017, 10:44:28 PM
slore,

I changed the WiFi Flyout config and theme, shows how flexible it is...made it look more like exact modern flyout, removing OSK button.(I like stock look for my build)  Adjusted padding at the bottom of the WIFI list. Only need to add underline to "Network Settings" text and it will look identical.(I cant figure this out im sure its simple.  :confused: How do you add an underline to "Network Settings" visible text? I figured it out  :great:) Changed Proxy button to VPN button.(Not attached to anything real yet.)  I also changed "Network Settings" into "Network & Internet settings" to be more like real flyout, and its now a clickable button that opens Network and Sharing Center. - Maybe you need to add transparency like teik said.  Wired icon im dying for hahaha...j/k..j/k..I'm just excited.  But of course this is just how I would do mine when WinXShell is finished. I hope some of this makes things easier.. :thumbsup: (Padding at top of WiFi is correct but looks off because it wasn't scrolled 100% to the top when I used snipping tool, there were networks above that on the list - im ocd lol)

(I know your reserving "Network Settings" for custom settings UI but until then I'll just set it like this...)
[attach=1]

Changed Firewall and VPN button background color as well.

**UPDATED

***UPDATED...again

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 29, 2017, 06:08:05 AM
Hello
I just tried and I loved the new configuration. It is not transparent, I imagine that the code has to be in RGB so that e could put the transparency. But I'm not sure. As for the changes I liked a lot, since it really looks like windows 10.
I hope the project goes ahead and thanks the change theme to bob.omb and of course, the great work of slore for this magnificent tool.
Greetings and I will continue these changes closely.

PD: Regarding the possibility of including the resolution change in the menu with the right click I love it, although it does not seem like a simple thing to do it for me. But I really like the idea.  :wink:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 30, 2017, 08:45:36 AM
** Updated

Slore,

   This is ONLY a template, it has my personal themes, it was created for my personal builder, it is a VERY simple VERY crude plugin for WinXShell UI Additions only. (Maybe this will help teik and others play with it more)  WinXShell is copied into the build but there is no option yet to set it as default overall shell in this version of plugin. Options for the features discussed above are present.  7z Attachments in the plugin are all self contained for each section and its very easy to edit them and re inject the files.  I can keep working on this if you'd like but this is as much as I will do without explicit approval because I've been heavily posting and I'm not trying to hijack your thread, this is your hard work not mine.  :wink: so lmk if you even want me doing this much testing and if it is/isn't ok to share my posts while your in development..

   I wish you had more time for this stuff your ideas are great.

   This is NOT meant to be used as a finished product, but hopefully will help with integration and testing as a template for plugin.

[attach=1]

Copy the attached plugin (plugin for x64 only) to %BaseDir%\Projects\Win10PESE\Shell   (this is temporary for our testing until the devs decide where they want it)

Let the development continue... :great: (Plugin now v.2)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 30, 2017, 11:14:58 AM
Hi, bob.omb
Quote
I can keep working on this if you'd like but this is as much as I will do without explicit approval because I've been heavily posting and I'm not trying to hijack your thread, this is your hard work not mine.

Don't mind it. I like some one test it and give me some feedback, ideas.
Thanks for that you share what you have done.  :thumbsup:

but I must say, don't take you too much time on it, because it is not full functional.
I'm afraid that you take much time but no good effort will get you bad mood.  :sad:

I real hope I can come back to be a freshman again, so I can have much time to finish the project, implement all the request features.
but the reality is true. I don't want the "FACE THE PC" things to take the MOST hours in my one day, or it tokes the others' .

The New Year is coming, I will take a sort rest for developing it.
I will keep follow this thread, and reply,.

Regards.


~Happy new year for everybody~ :lol: :grin: :tongue: :smile:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 30, 2017, 11:25:06 AM
Happy New Years to you too!

I would never be in bad mood with you.  You are appreciated.

I WILL be switching once the wired icon is done, I promise you that.  I am a believer. :tongue: No matter when its finished, take your time.  On that day, it will be my primary  :grin:

Anytime you update I will come test and tweak for you.

Until then, best wishes..And if I come up with any new ideas, I will let you know  :thumbsup:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 30, 2017, 01:00:52 PM
Hi, bob.omb and teik

before go to bed, now, reply some question about the UI.

Quote
I just tried and I loved the new configuration. It is not transparent, I imagine that the code has to be in RGB so that e could put the transparency.

It can be transparent with just ONE line code.[pUIWindow->SetTrans(230);]
I don't think PE need it, and my Windows is not set as transparent,
so I didn't export a configuration for that.
YES, when got ransparent effort, the color[ARGB]'s A will cause some effort, but I suggest just leave it to be 255(0xFF).

I tested it with boot.wim, It seem work fine.(I can release a beta version for just this request, right now if you like it strongly.)
The interface will be main.jcfg <- "trans":value(0~255, default:255)

[attach=2]

(EDITED)
release beta for it,  *TIMEZONE* will make the reply later(~SLEEPING~ZzZz~).
[attach=3]
[attach=4]

Quote
consider a ~15 second timer after apply is clicked and resolution is changed
Maybe make window content dynamic? Or make window scrollable when resized, but defaults to regular size when opened?

way 1:as you said --- scrollable

main.xml
```
Code: [Select]
21:        <VerticalLayout>
22:            <HorizontalLayout height="188" bkcolor="#FFF2F2F2">

46:            <HorizontalLayout padding="0,20,0,0">
47:                <Control />
48:                <Button name="applybtn" text="%{Apply}" shortcut="A" showhtml="true" style="indigoBtn" />


add "scrollbar" property, and set the "height" property for the apply/cancel button.
```
21:<VerticalLayout vscrollbar="true">
46:<HorizontalLayout height="40" padding="0,20,0,0">
```


way 2:add shortcut "alt+A" for [Apply]

main.xml <- add "shortcut" property
```
48:                <Button name="applybtn" text="%{Apply}" shortcut="A" showhtml="true" style="indigoBtn" />
49:                <Button name="cancelbtn" text="%{Cancel}" shortcut="C" showhtml="true" style="indigoBtn" padding="0,0,10,0" />

```
Ooh, you may notice the [showhtml="true"], with this property, TEXT can use some crude label,for BOLD, underline

[attach=1]

EDITED(add the instruction for the crude HTML format):
Code: [Select]
HTML formatted text
The use of tag function need to control the showhtml property is set to true
b: indicates whether the font is bold or not;
c: indicates the color used by the font;
f: said the use of global font number, starting from 0;
i: whether to use italic or chart path;
a: hyperlink function
n: said line feed;
p: a passage
r: indicates that the content does not apply Label syntax function;
s: said the content is selected;
u: indicates that the content is underlined;
x: represents moving x pixel values ​​from there;
y: indicates that the line fixed position y pixel value;
Examples are as follows:
    <b> text </ b> indicates that the text is bolded
      <c #xxxxxx> text </ c> means text content uses #xxxxxx color, # xxxxxx represents hexadecimal RGB value
     <f x> text </ f> The font representing the text content using the x ordinal number
     <i> text </ i> indicates that text content is italicized
      <i x y z> indicates that the picture is inserted this time, x indicates the name of the picture, y indicates that this picture contains several picture words (may not be filled, the default value is 1), and z indicates the currently used picture id (may not be filled; the default value is 0)
     <a x> text </a> indicates that the text content has a link function, x indicates the link address (may not be filled), usage such as app: notepad or http: www.xxx.com, this string needs to be resolved in the user program processing.
     <n> indicates the newline
      <p x> text </ p> means the content of text is a paragraph (starting from here), x represents the horizontal distance of the paragraph text (optional)
     <r> text </ r> indicates that text content does not use the syntax tag feature
     <s> text </ s> indicates that the text content is selected (the selected background color is displayed)
      <u> text </ u> indicates that the text content is underlined
     <x i> means moving x pixel values ​​back from here
     <y i> indicates that the row height is fixed at y pixel values

way 3:export a commandline for changing to safe 800x600 resolution, and create a UI_NotifytionPanle(Windows 10's the rightest tray icon for lots button/switch )

>(luckily PECMD for no reboot fix)

not immplament yet.  :w00t:


Quote
show the resolution change in the menu with the right click

I perfer add in blow for just DESKTOP contextmenu as normal Windows, not Directory\background.
Code: [Select]
HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display

if you want show the menu on every directory background contextmenu for the purpose, ignore this one.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 30, 2017, 04:07:48 PM
Sweet, thank you!  Updated test plugin from earlier post with new transparency feature for WiFi and fixed dark theme for display. (http://theoven.org/index.php?topic=2090.msg25429#msg25429 (http://theoven.org/index.php?topic=2090.msg25429#msg25429)) And added to bottom of this post) Also removed brightness slider from display settings for now until its working. Per you instruction I added the vertical scroll bar that appears when screen is smaller than display settings window AND shortcuts Alt+A for Accept and Alt+C for Cancel.  It works great! Now people have multiple ways not to get stuck out of range in display settings window  :great:

Also fixed the right-click for display settings to be on the desktop only instead of in any folder background. (I didn't notice this)

[attach=1]

Put plugin in %BaseDir%\Projects\Win10PESE\Shell (BLExact and Secure will erase this plugin from this location when run - this is for testing only - make sure to save a backup copy before running project update)

Attached plugin x64 only, replace x64 version of WinXShell.exe in the (Attachments) section of plugin with x86 version manually if needed.  Next version will be compatible with both.


Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 31, 2017, 06:45:58 AM
Hi slore,
I just tried the new version, transparent. I loved it. I know that it was not in your plans to add transparency. Thank you very much really. In my Win10PE project, I use a lot of things with aero effects, it gives me a touch that I like very much. For this reason, I would like to thank you again for adding it to the project, together with the perfect Spanish translation.
Also thank you both slore, as well as bob.omb the inclusion of the right click to rotate the screen and change the resolution. A very good idea and an elegant icon in the menu.
In particular I have also tried the bob.omb script that works perfectly, only that I have had to add the translation in Spanish, if you want I can upload the files and you could add a menu to choose among the possible languages ​​to put .

I will continue doing tests and I love that you both work in this big and complicated project. Especially slore because without you this was not possible, and I know it is still very primary, but it looks very good.

Greetings and I will closely follow the work, I hope not to disturb and help in what I can. :great:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 31, 2017, 07:58:51 AM
I have also tried the bob.omb script ==> plugin that works <----

Scripts and Plugins are different.  Almost everything we make is plugin / not script.  The reason for this is script = universal for ALL projects.  Dev's get annoyed when we use the word script because its misleading.  Make sure "plugin" when discussing any "name.script" files unless they are fully universal.

The stuff I'm doing is very easy to do, no credit deserved here.  slore only for credit with WinXShell, I am super grateful to him as well  :grin:

Upload language files and I'll add to test plugin.

*Note, slore's original color scheme looks better for Display settings, but I had to change for my build to match my theme it was too different.  Once theme files are posted (or maybe slore will make theming easy) I'll add to test plugin.  When all files are ready for nearly finished plugin I'm sure one of the Devs will help with a very nice plugin unless we already have something really good by then..

We will see, maybe we will build it ourselves slowly... :turtle:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 31, 2017, 09:57:56 AM
Hi bob.omb,
Sorry for the word script, it's the translator's thing that I did not realize to go over it again. Excuse me, I do not know English and I use the translator to communicate.
One thing, could you add a "Delay" to put a few seconds until I load WIFI driver?

I upload the two files "es-ES" one of the Wifi and another of the display. In the Wifi (main.xml) there are two manual changes in the main that you made. I put the changes in Spanish and the file if you want to compare.

Code: [Select]
<Control />
        <Button name="netsetting" padding="10,-30,0,0" text="Configuracion de red e Internet" font="100" align="left" textcolor="#FFFFFFFF" height="20" />
        <Label padding="10,0,0,0" text="Cambia los ajustes de configuración y tarjeta red.." align="left" font="10" textcolor="#FFFFFFFF" height="15" />
        <HorizontalLayout padding="5,5,0,0" childpadding="5">

Remember: to put wifi in Spanish you have to add the line to main.cfg
"locale": "es-ES",

As for the right click: in Spanish it is:
Displaing change = Configuración de Pantalla

Greetings to all :thumbsup:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 31, 2017, 10:29:11 AM
Please Re-Upload Spanish for UI_WiFI, you accidentally gave me the es-ES both files for display only - Also quick question, I think I already know answer.  When folder is placed correctly shell, correct language for whatever locale its running on automatically displayed? (I think yes) If so this is very simple, slore made it easy for us.

The only reason you had to edit main.xml to for "Network Settings" is because of a bad change I made.  I hardcoded text when I should have created new variable in locale folder.  I only use one language so is a learning process for me.  However I will update plugin so adding languages is easy again the way slore intended.

After you re-send correct es-ES files for WiFi I will upload new corrected plugin.

If anyone would like to help translate, please post the translation for the "Value=" sections of the below code:
Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Locale>
    <MultiLanguage id="::Connected" value="Connected" />
    <MultiLanguage id="::Secured" value="Secured" />
    <MultiLanguage id="::Open" value="Open" />
    <MultiLanguage id="::Connect" value="Connect" />
    <MultiLanguage id="::Disconnect" value="Disconnect" />
    <MultiLanguage id="msg_enter_password" value="Enter the network security key" />
    <MultiLanguage id="Cancel" value="Cancel" />
    <MultiLanguage id="NetworkSettings" value="Network & Internet settings" />
        <MultiLanguage id="NetworkSettingsMsg" value="Change settings, such as setting a static IP address." />
    <MultiLanguage id="Firewall" value="Firewall" />
    <MultiLanguage id="Proxy" value="Proxy" />
    <MultiLanguage id="::msg_select_device" value="Select the WLAN device" />
    <MultiLanguage id="::msg_service_unavailable" value="WLAN service is unavailable" />
    <MultiLanguage id="::msg_device_unavailable" value="WLAN device is unavailable" />
</Locale>
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on December 31, 2017, 11:01:17 AM
Hi bob.omb
I apologize for uploading the wrong file. I had so many copies of the file in folders that I went a little and got the wrong one. Here is the correct translation. I hope I did not confuse you.

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Locale>
    <MultiLanguage id="::Connected" value="Conectado" />
    <MultiLanguage id="::Secured" value="Segura" />
    <MultiLanguage id="::Open" value="Abierta" />
    <MultiLanguage id="::Connect" value="Conectar" />
    <MultiLanguage id="::Disconnect" value="Desconectar" />
    <MultiLanguage id="msg_enter_password" value="Introducir contraseña" />
    <MultiLanguage id="Cancel" value="Cancelar" />
    <MultiLanguage id="NetworkSettings" value="Configuración de red e Internet" />
<MultiLanguage id="NetworkSettingsMsg" value="Cambia los ajustes de configuración y tarjeta red." />
    <MultiLanguage id="Firewall" value="Firewall" />
    <MultiLanguage id="Proxy" value="Proxy" />
    <MultiLanguage id="::msg_select_device" value="Seleccionar tarjeta red" />
    <MultiLanguage id="::msg_service_unavailable" value="Servicio WLAN no disponible" />
    <MultiLanguage id="::msg_device_unavailable" value="Tarjeta WLAN no disponible" />
</Locale>
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 31, 2017, 01:12:39 PM
slore can you please translate for me the changed and added line for:

NetworkSettings Value=
NetworkSettingsMsg Value=

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Locale>
    <MultiLanguage id="::Connected" value="已连接" />
    <MultiLanguage id="::Secured" value="安全" />
    <MultiLanguage id="::Open" value="开放" />
    <MultiLanguage id="::Connect" value="连接" />
    <MultiLanguage id="::Disconnect" value="断开连接" />
    <MultiLanguage id="msg_enter_password" value="请输入连接密码" />
    <MultiLanguage id="Cancel" value="取消" />
        <MultiLanguage id="NetworkSettings" value="Network & Internet settings" />
<MultiLanguage id="NetworkSettingsMsg" value="Change settings, such as setting a static IP address." />
    <MultiLanguage id="Firewall" value="防火墙" />
    <MultiLanguage id="Proxy" value="代理" />
    <MultiLanguage id="::msg_select_device" value="请选择无线网络设备" />
    <MultiLanguage id="::msg_service_unavailable" value="无线连接服务不可用" />
    <MultiLanguage id="::msg_device_unavailable" value="无可用的无线网络设备" />
</Locale>
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 31, 2017, 09:34:52 PM
Plugin updated with current translations and x86/x64 compatibility.  Working on plugin interface, making plugin available for use as primary shell, and adding optional plugin dependencies and reg keys for certain options slore has mentioned earlier in this thread (Like drag and drop etc).

Will update with more translations as soon as they become available, and also if slore adds new features... 

Updated x86/x64 MutliLanguage Compatible plugin attached

[attach=2]

Put plugin in %BaseDir%\Projects\Win10PESE\Shell (BLExact and Secure will erase this plugin from this location when run - this is for testing only - make sure to save a backup copy before running project update)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on December 31, 2017, 10:33:14 PM
Hi, bob.omb

```
<MultiLanguage id="NetworkSettings" value="Network & Internet settings" />
<MultiLanguage id="NetworkSettingsMsg" value="Change settings, such as setting a static IP address." />
```

this is normal sentence without emotion, you can translate it with google.
if it is odd,as this is easy to change(edit the zh-CN.xml), the Chinese who use it will change it and feedback to you.

I translate it to be what Windows 10(ZH_CN) displayed on the flayout.
(not same as your english version. "Change settings, such as a connection is set up to be billed by traffic.")

```
<MultiLanguage id="NetworkSettings" value="网络和 Internet 设置" />
<MultiLanguage id="NetworkSettingsMsg" value="更改设置,例如将某连接设置为按流量计费。" />
```


you can change/add the "entry":"main-black.xml" to load with different theme UI for keeping orgin one left.
the "SSIDItem.xml" is load by hardcode so you cannot change that,  I will try to fix that.

if just want to modify the "COLOR" not change the whole UI to strongly different way(layout, size, control),
you can use "Style" for that. see "switchfirewall", "proxy", or your "VPN" button.

```
<Style name="color-theme-basic" value="bkcolor=&quot;#FF3F3F3F&quot;" />
<Style name="color-theme-board" value="bkcolor=&quot;#FF3F3F3F&quot; bordercolor=&quot;#FF555555&quot; focusbordercolor=&quot;#FF777777&quot;" />

<Button name="VPN" text="VPN" style="Settings" style="color-theme-basic" />
```

so that, you needn't to change the SSIDItem.xml for different theme, just change the "color-them-xxx" style in main.xml.

they is lot undocument(the main.xml did show up) feature. I'm sorry that I don't create the document, just some design in my mind.
I will add a UI_Sample to show all the possibilty later.


I don't create pulgin because I like easy things, like the winxshell.exe is just portable, copy to the USB and run.
the WinBuilder's script has so much things I didn't like.

1.file_encode
why need that?make the script to long. a simple 2-WInXShell.7z is good to me.

2.need load REGHIVE by script

Code: [Select]
RegHiveLoad,Tmp_Software,%RegSoftware%
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings",Icon,X:\Windows\System32\display.ico
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings\command",,"WinXShell.exe -ui -jcfg Settings\main.jcfg"
RegHiveUnLoad,Tmp_Software

just put a reg file, and auto convert the regkeypath to SOFTWARE => SOFTWARE\TEMP_SOFT, and auto registry is not a hard thing.
Do there are some one change the host windows's registry in WinBuilder?

3. modify some text file in a violence way
Code: [Select]
If,ExistFile,%target_sys%\autorun.cmd,Begin
  TXTDelLine,%target_sys%\autorun.cmd,exit
  TXTAddLine,%Target_Sys%\autorun.cmd,"START WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow",Append
  TXTAddLine,%target_sys%\autorun.cmd,exit,Append
End

see what windows do this?put xxx.cmd or exe or lnk in [Startup] folder.
Cann't autorun.cmd to be 'dir a autorun folder' and start the wifi_tray.cmd batch one by one, if it exists.
so just copy what you want to startup with a relate cmd, needn't care what autorun.cmd is written, or appending in it.

for my wimbuilder(batch script) the just to be:

winxshell_patch(folder)
X\
  Windows\
        WinXShell.exe
        WinXShell.jcfg
  UI_WIFI\
        ...
  Config\
  Startup\
      wifi_tray.cmd
desktop_context.reg

just put the files, and will add to the wim file. less learning to do make a patch for wim, like developer to make a script.
I hope PEBakery will solve this.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on December 31, 2017, 11:12:55 PM
the WinBuilder's script has so much things I didn't like.

1.file_encode
why need that?make the script to long. a simple 2-WInXShell.7z is good to me.

Plugin contains all files (WinXShell.7z, WinXShell_x64.7x,UI_WIFI.7z,Settings.7z) compressed inside of it. One file 2-WinXShell.script contains everything and does all of the work automatically including detects if system is 32/64 bit and applies the correct version of WinXShell and reg keys / startup commands during WIM creation process. It allows for advanced scripting, and it also lets you use GUI interface to setup shell options. <-- This is important for newer users. (And you could add dependencies but WinX doesnt really need them, but most other projects do)

Maybe?  WinXShell.7z ==turn into==> WinXShellsetup.exe Self extracting executable that runs batch and installs itself after extraction (batch runs reg keys too) - But WinXShell.7z cannot install itself.  This is one reason for plugin.

2.need load REGHIVE by script

Code: [Select]
RegHiveLoad,Tmp_Software,%RegSoftware%
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings",Icon,X:\Windows\System32\display.ico
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings\command",,"WinXShell.exe -ui -jcfg Settings\main.jcfg"
RegHiveUnLoad,Tmp_Software

just put a reg file, and auto convert the regkeypath to SOFTWARE => SOFTWARE\TEMP_SOFT, and auto registry is not a hard thing.
Do there are some one change the host windows's registry in WinBuilder?

The easiest way to edit registry HIVE files inside the wim is to temporarily load the hives into the host registry.  This lets the plugin edit the WIM reg HIVES and save them.  This adds registry items into WIM during WIM creation, it is really only needed if people want to integrate WinXShell into their existing build.  If this is done, no further changes need to be made during boot because they are already present.

3. modify some text file in a violence way
Code: [Select]
If,ExistFile,%target_sys%\autorun.cmd,Begin
  TXTDelLine,%target_sys%\autorun.cmd,exit
  TXTAddLine,%Target_Sys%\autorun.cmd,"START WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow",Append
  TXTAddLine,%target_sys%\autorun.cmd,exit,Append
End

see what windows do this?put xxx.cmd or exe or lnk in [Startup] folder.
Cann't autorun.cmd to be 'dir a autorun folder' and start the wifi_tray.cmd batch one by one, if it exists.
so just copy what you want to startup with a relate cmd, needn't care what autorun.cmd is written, or appending in it.

All current Win10PESE projects have this file "autorun.cmd" - The reason this is chosen as the place to run the UI_WIFI module, is if the project contains the "LoginAsAdmin" plugin, the icon may not populate correctly in the taskbar if it loads before the user session is changed.  Also the cmd "START" is added to the front of execution because if it is not added the boot process will freeze, the batch will wait for the shell to end before executing the next line in the batch. (This is only necessary for existing Win10PESE projects, but possibly other existing projects as well.  If builders want to integrate inside current projects this is the simplest way for them. And they do not need to develop, that is why I'm trying to provide it.  So people can just enjoy.  I promise I don't want to make plugin any way you don't want.  As alernate themes develop, I would add options to current plugin for users to choose theme easily w/dropdown menu. (If you allow plugin development to continue) You would not need to start wifi_tray.cmd batch one by one because plugin provides GUI checkbox if components are added or not during build.  If check box is selected, UI component is added and loads on boot.  If not selected, component is not installed.

for my wimbuilder(batch script) the just to be:

winxshell_patch(folder)
X\
  Windows\
        WinXShell.exe
        WinXShell.jcfg
  UI_WIFI\
        ...
  Config\
  Startup\
      wifi_tray.cmd
desktop_context.reg

just put the files, and will add to the wim file. less learning to do make a patch for wim, like developer to make a script.
I hope PEBakery will solve this.

Projects have a plugin called Components>Additional Files - This can be used to manually move WinXShell files into any location, including batch files into startup folder, and reg files into place for batch files to execute. For current builds, even easier method is move file 2-WinXShell.plugin to %BaseDir%\Projects\Win10PESE\Shell folder and click 1 button to integrate into their current build during the creation process.

Plugin does not install WinXShell as the actual shell yet.  This option is not finished yet.  At present it copies the shell files only but does not use them except for the Display and Wifi settings
It is hardcoded selected "Do NOT use Shell" BUT it lets people try the UI elements...
(Plugin is only testing, for newer users)

[attach=1]

If PE was built with ADK instead of PESE w/ wb or PE Bakery the install method would be very easy how you describe.

PE Bakery will make a lot of things better for a lot of reasons.. Some things will stay similar... Any development requests can be talked about here: http://theoven.org/index.php?board=38.0 (http://theoven.org/index.php?board=38.0)

Plugin is intended to provide GUI way to integrate your shell and components.  If you want me to stop plugin development or change its up to you. Users like teik need plugin for certain things they cannot figure out how to do, when they get stuck they can run pre-made plugin.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 01, 2018, 08:33:44 AM
Hi, bob.omb

I thougt there was some misunderstood.

I don't like WB's design, some one need learn how to write a script for that, as there is a easy way for that.
I don't mean I don't want you create and share the plugin for other. This is something good. :thumbsup:
I talked about why WB is in bad design, not for your work. that is why I don't want to learn how to write a WB script, so I cann't provide a plugin(<- this is what I want to say in last post).

Quote
One file 2-WinXShell.script contains everything and does all of the work automatically including detects if system is 32/64 bit and applies the correct version of WinXShell and reg keys / startup commands during WIM creation process. It allows for advanced scripting
What I mean is, WB can treat a 7z file as a script. for details:

2-WinXShell.7z\
     winxshell.exe
     UI_WIFI\main.xml
     ...
     WB.script <- script.wb, main.script, config.ini or some other better name

WB should load the 7z file, and run the WB.script and detects if system is 32/64 bit and applies the correct version of some thing and reg keys...
not encode file in to the text script file with some thing shouldn't be edited long lines.
Code: [Select]
0=N3q8ryccAAS2RIlRJQ8K
1=UAGAo/OqFN5zwIs0GN
for a text file, I can easily modify it to do some right?but the encode parts should not edit, and too long for a configration file.
I just want to see what your main.xml is,if it is a 7z file, it is such a easy thing, and I can modify it with normal archive 7z(zip,winrar), not a specialized tool(WBZip?)
WB's script is not WYSIWYG("what you see is what you get").


the 32/64 bit detect what is implemented in this way:

Code: [Select]
2-WinXShell
   X\
      Windows\
        winxshell_x64.exe
        winxshell_x86.exe
  LAST.bat
    @echo off
    del X:\Windows\winxshell_x%NotBit%.exe
    ren X:\Windows\winxshell_x%Bit%.exe winxshell.exe

or

Code: [Select]
2-WinXShell
   x64\
        X\
           Windows\
           winxshell.exe
  x86\
       X\
          Windows\
           winxshell.exe
  LAST.bat
    @echo off
    call BITCOPY .
I mount WIM file to X driver so make what I do in host as what I do in target PE.

I don't know if you know what I mean.I hope everyone can contribute th "BUILDER" part(change the behaviour by themself),
not just follow the instruction to create a script.(if the builder can be contribute with easy to learn program language, like bat,vbs,ect, not JAVA, C#, C++)
of cause, the builder creator should implement lots basic macro,script for the users.


Quote
The easiest way to edit registry HIVE files inside the wim is to temporarily load the hives into the host registry.
What I mean is, WB can auto replace the registy path Software to Tmp_Software\, so the users no need for adding RegHiveLoad,REgHiveUnload the 2 line for everytime they want to do "RegWrite".

put a reg file in a pulgin folder, and it will add registry items into WIM during WIM creation, no need to write some script line.
when I said put a reg file, didn't mean merge the reg file in to registy on the PE booting, but write in to the WIM file directly during WIM creation.

Quote
If you want me to stop plugin development or change its up to you.
Here again, I didn't mean that. I don't know how to write a plugin script(even I don't have WB now).
as YOU already have the ability to write a plugin, and make a winxshell pulgin for others what is GOOD thing(SHARE is the beautifull thing in the world.).
I hope you can go on with it.I can give you some advise for the main.xml's UI stuff, make the plugin be compatible.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on January 01, 2018, 08:50:52 AM
I would love to keep helping with plugin.  I promise when it comes to PESE projects this is the easiest way, even with most other projects to not be able to use plugin would be a pain.  A lot of the other projects get very difficult because there are many many files and changes to enable certain features. With all plugins combined we press 1 button to build ISO. Also wb is flawed in its design so PE Bakery will fix most of those issues. 

I misunderstood I thought you did not want me to make because you did not like the code for plugin the way I made it.  This is your project, I am grateful to be a part of helping to share it.  Much respect for you, again your ideas are great with this shell.  Everyone is watching  :grin:

Any advice on how to make plugin better is greatly appreciated.  I want to make sure it is the way you intend.  Let me know when SSIDterm.xml theme is not hardcoded, I will update plugin with default theme with option for change to dark.  Also if anyone else makes themes or UI changes and you approve to add to plugin I will add for you, all with nice GUI - Also to put OSK button and Proxy back for default theme.  Will have something like "Theme" and "Mode?/Layout?" Maybe for Win10/Win8/Win7 look and feel? Not sure..

Plugin design is NOT easy to learn lol - I am actually finally feeling good to write plugins from scratch but still learning so I feel we are learning our crafts together :cheers:

Reason for:
I translate it to be what Windows 10(ZH_CN) displayed on the flayout.
(not same as your english version. "Change settings, such as a connection is set up to be billed by traffic.")


(same default) en-US Change settings, such as making a connection metered.   <--- This setting will likely never be used in WinPE/PESE - Probably also not possible
(same default) zh-CN Change settings, such as a connection is set up to be billed by traffic.   <--- This setting will likely never be used in WinPE/PESE - Probably also not possible

(fix for PE) Change settings, such as setting a static IP address.  <--- This is the most likely ONLY config you will ever need to change in WinPE/PESE if network is already running. It makes sense to have this because it actually means something useful. It is the only change I suggest that is away from exact...

EDIT:
Also How to implement shutdown? Shortcut maybe probably? You could make system tray controls... im sure start menu when project moves forward will be best place.  Trying to figure out how to add this to plugin. I can include files but how to initiate for end user, manually? Maybe we wait for this for now..

However, the goal is for YOU to like it not anyone else, so.... I will wait for your input  :thumbsup:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 10, 2018, 06:29:03 AM
new version is uploaded.

Hi, bob.omb

translation as your English version for "set the static IP address".
```
<MultiLanguage id="NetworkSettings" value="网络和 Internet 设置" />
<MultiLanguage id="NetworkSettingsMsg" value="更改设置,例如为网络设置静态IP。" />
```

(maybe define a ClickAction in main.jcfg to open the PENetwork.exe will be good for PE.)

Quote
Also How to implement shutdown? Shortcut maybe probably?

somebody add this to DesktopContextMenu, I feel its not a good idea.
in start menu is fine, but PE cann't use normal start menu.

the alternate startmenu like ClassicShell, Start10 should customize the shutdown command, I think.
(ClassicShell is OK, I don't use Start10 or startIsBack, so I don't know if it can do this.)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on January 10, 2018, 10:04:04 AM
Starting work on plugin.  FYI the wired network icon is not functioning correctly for me...
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on January 10, 2018, 10:09:18 AM
Hi slore
I just tried the new version. I love that you can include the dark theme with the words (-theme darkgray) is perfect.
Respect:

Code: [Select]
(maybe define a ClickAction in main.jcfg to open the PENetwork.exe will be good for PE.)

I would love that idea. With a direct button to open it for all the necessary configurations. You have had a very good idea.

Regarding the OSK button, now it opens a virutal keyboard, but in my Win10PE it does not perform the function, since the osk.exe executable is not found.

Last of all, I would like to thank you again for adding the transparent effect. That effect is perfect. A very good job that is appreciated.

Greetings.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 10, 2018, 10:20:05 AM
hi, teik

thank for testing it.

Quote
since the osk.exe executable is not found.

try to run osk.exe in cmd.exe prompt in your 10 PE.
if it also failed, maybe the file path is not correct for you.

open main.jcfg and try to change osk.exe path.

if your PE haven't one, try download freevk.exe for this feature.

Quote
I would love that idea. With a direct button to open it for all the necessary configurations.
see UI_Shutdown\main.jcfg which one is click shutdown,restart with wpeunitl.exe shutdown.

maybe you can add this by yourself.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on January 10, 2018, 10:35:31 AM
since the osk.exe executable is not found

I will add osk to the plugin so that if it is not present it is installed if the default mode(see below) is selected.

I will be making dropdowns for "Theme" and for "Mode" in the plugin interface

Theme will be: Default - Dark - Etc (Obvious for color change)

Mode Will be: Default - Exact - etc (Working on better description than exact but basically default will have osk button and default links etc, all settings slore intended.  Exact will be almost exactly like win10 buttons and text, no osk button, more like exact win10 ui)

(slore keep in mind this plugin is basically the "installer" for us, so we are setting options of how we want it installed into our PE's with the dropdown menus, it makes it easier for us..)

**Edit: Maybe I will add option to change button commands but its slightly advanced, not much different from modifying additional autorun, let me see what I can put together on the plugin side

***Edit 2: I have to pick this up tomorrow need some :sleep: will update soon..
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on January 10, 2018, 10:54:51 AM
Hi slore and bob.omb

Thank you very much for answering so fast slore. I will try downloading and manually adding the virtual keyboard application. The truth is that the new changes of subject I liked a lot.

Bob.omb
The idea that you have had to separate this very well. To be the user's choice. Please, do not forget to include es-Es.xml

Finally, ask how the PeNetwork application startup could be included as a link, for when some configurations are missing?

The network cable icon, I can not prove it. I only have one tablet and it only has a wifi card.

Finally slore; I do not know if you know this. I usually use shared connection from my mobile (android) Is it possible to add the USB cable connection to this version? For now it is not possible in Win10PE. Do not worry it's just a question that came up.

Greetings.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 10, 2018, 11:00:50 PM
hi, teik

Quote
Finally, ask how the PeNetwork application startup could be included as a link, for when some configurations are missing?

see the "proxy" as sample.

a click link can be configure as:
a button, with underline text display. (see "<u>A</u>pply")

so, a clickable network settings will be like:
main.xml:
        <Button padding="5,0,0,0" text="%{NetworkSettings}" showhtml="true" style="ct-text-secondary" width="150" height="20" />

<locale>.xml:
    <MultiLanguage id="NetworkSettings" value="<u>Network Settings</u>" />

now, important configuration is how to start PENetwork?

"proxy" button, "osk" button in UI_WIFI, "shutdown", "restart" button in UI_Shutdown will be nice sample.

a).fist give the button a name like "networksettings".
        <Button padding="5,0,0,0" name="netwroksettings"  text="%{NetworkSettings}" showhtml="true" style="ct-text-secondary" width="150" height="20" />

b).define the click action to start PENetwork

main.jcfg

  "OnClick":
  {
  "netwroksettings":"                    <- button name is main.xml
PUSH 'penetwork';                   <- CMD section in main.jcfg(JS_CMD)
PUSH 1;
CALL ::Command();
  ",
  "proxysettings":"
PUSH 'inetcpl';
PUSH 1;
CALL ::Command();
  ",

  "JS_CMD":
  {
    "::enable_firewall":{
      "command":"Wpeutil.exe",
      "parameters":"Enablefirewall",
      "flags meaning":"0 - SW_HIDE",
      "showflags":0
    },
    "::disable_firewall":{
      "command":"Wpeutil.exe",
      "parameters":"DisableFirewall",
      "showflags":0
    },
    "penetwork":{
      "command":"notepad.exe"
    }
    "inetcpl":{
      "command":"rundll32.exe",
      "parameters":"Shell32.dll,Control_RunDLL inetcpl.cpl,,4"
    },
    "osk":{
      "command":"osk.exe"
    }

here is directly use the "notepad.exe", "osk.exe", which application can be found in environment variable PATH.
so if PENetwork.exe is in other path, like Program File, you should set the PATH then call winxshell.exe or modify the command with full path : "X:\Program File\PENetwork\PENetwork.exe"

hope you can change this by yourself.

Quote
I do not know if you know this. I usually use shared connection from my mobile (android) Is it possible to add the USB cable connection to this version?
I use wifi-AP if connect with my moblile(android). USB cable maybe need the PE have some service support.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on January 11, 2018, 02:13:36 AM
Hi slore

First, thank you for your explanation. You have really explained it very well and simply for me. I apologize for my awkwardness by programming. I am a lawyer and I dedicate myself to programming in my free time, like a hobby.
I have perfectly understood your explanation. Thank you very much.

Second when I was in my Win10PE, I launched the application and this happened to me that appears in the photo. The window has opened directly in the upper corner on the left. In normal windows 10, it opens correctly. But in the different versions of Win10PE, it happens that it opens up. Do you know what is due? With the previous version this did not happen. I attached image, since it also blocks transparency and does not allow me to select anything.

Greetings and many thanks for your explanation of the code.  :smile:
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 11, 2018, 07:53:11 AM
Hi, teik

see the screen of your main.jcfg it seem OK.

the "position":"rightbottom", "trans": 200, is defined.but they didn't work.
I saw you change the trans from 220->200, maybe there are some invaild character in the main.jcfg, so it wonldn't work.

the previous version is OK, new one is NG,
windows is OK, PE is NG,  :confused:
did they use the same main.jcfg?

did you just change the winxshell.exe(the previous one) -> winxshell_old.exe, and run:

winxshell_old.exe -ui -jcfg UI_WIFI\main.jcfg
winxshell.exe -ui -jcfg UI_WIFI\main.jcfg

to see if the old one may also NG?

would you upload the main.jcfg(or zip the all UI_WIFI folder)? I will test it in my windows or boot.wim to find the problem.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on January 11, 2018, 10:50:53 AM
Hi, slore
Delete the version and download it again. But it looked like it was in the upper corner again. Trying to delete and put again, I realized that if I remove this line from main.jcfg:

Code: [Select]
"class": "CDUIWIFIWindow",
 Line 3

It reappears in its correct position. I do not know what that line refers to but it causes Win10PE to move and can not be selected. The previous version works without problem. The new version if you eliminate that line returns to its correct position, below and right.

I have tried the previous version of WinXShell.exe old and the rest of the new version without touching anything of the main.jcfg: Everything works well except the color.

In windows all work well. The error occurs in Win10PE.


Greetings and I hope I have helped you as much as possible with the error. If you need more tests, just let me know.

PS: In the previous version I had also downloaded the trans: 190 and no problem.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 11, 2018, 11:09:17 AM
Hi teik

Quote
changlog:
improve:add "class" option(jcfg) for identifying wireless network connection UI, so now can change the "UI_WIFI" folder name to something else you like.


in new version i use this line to identify if this is WIFI window, the old one is used the "name":"UI_WIFI",
as the name is assoc with the UI_WIFI folder, someone can't change the folder with another name they like.

if removed the "class" line, the WIFI window will just be a normal UI window(main.xml's configration), but wonldn't work with some coding feature,
show WIFI list, connect to the WIFI(this is hard work, not like UI_Shutdown,UI_Resolution can be define ClickAction in main.jcfg, so I direct implement in the code).

EDITED:
but without this line it wounldn't work in WINDOWS either.  :???confuse???:

 
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on January 11, 2018, 12:46:57 PM
Hi, slore
Sorry for my bad explanation.
That line if you eliminate it: the rectangle goes back to the lower right corner. But the rest of the functions like the WIFI list does not work as you said. Only the position is corrected. As indicated in the previous image, it appeared in the upper left corner.

All this in Win10PE. This visual failure only occurs with the boot.wim (Win10PE).

In normal windows 10, it works perfectly without touching anything, according to its download.

Greetings and apologies for confusing you.
--------------------------------------------------------------------------o----------------------------------------------------------------------------------------
For me, if you want to go back to the previous configuration and that the folder keeps a name fixed, it would not be a problem.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on January 12, 2018, 01:29:46 AM
Teik,

   You are modifying a file incorrectly.  All is displaying well over here even with heavy modifications, running in PE.

Slore,

All edits and additions are already created.  Plugin is nearly complete.  Not much time the past few days looking forward to completing this over the weekend.

I made configurations for plugin.

Theme:

Default(Blue) -or- Dark(Grey)

Default(Blue) - All colors for WIFI and Resolution are default blue colors

Dark(Grey) - All colors for WIFI and Resolution are grey colors


Layout:

Default(PE) -or- Modified(Win10)

Default(PE) - All layout and buttons are set as default the way slore intended - OSK is also included in this config

Modified(Win10) - Layout is adjusted on Resolution (Slider is removed) - Layout is adjusted on Wifi Flyout to mimic Win10 more closely - Network button on WIFI is clickable and opens network setting.  Wireless service is unavailable layout adjusted - OSK button removed

-------------------------

[attach=1]

I only need to finish locales and plugin (plugin is a little bit of a pain with 2 dropdowns it means I have to make 4 separate possible outcomes for the plugin for each UI addition.. Im sure there's a simpler way but too tired atm to look it up...) At present I have it all set up in different components that way we can easily update moving forward...

Ill finish and upload updated plugin tomorrow night unless I find time sooner..


----

BTW thanks slore.. Great work  :thumbsup:

(Keep working on that wired network icon if you can it's very important to get people to adopt your shell at present time - This will probably be the most popular feature in the short term until you complete other parts of the shell more..It is coming along nicely  :wink:)
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 12, 2018, 03:10:26 AM
Hi, bob.omb
Quote
I only need to finish locales and plugin (plugin is a little bit of a pain with 2 dropdowns it means I have to make 4 separate possible outcomes for the plugin for each UI addition.. Im sure there's a simpler way but too tired atm to look it up...) At present I have it all set up in different components that way we can easily update moving forward...

the locales should be same files for even different layout.(remain removed Slider's locales define will not be error. )
and my layout can be remove for them because they are not worked.(just for UI sample, make people know it can be define like this.)

what I image(all patterns is use same file structure in one folder):
UI_WIFI
  locales\*.xml  <- share for every layout, same for every color theme
  themes\*.xml <- share for every layout
  rc\*.png         <- share for every layout
  main.jcfg <- default
  main.xml <- default
  main-win10.jcfg
     "entry":"main-win10"  <- point to modified layout file(main-win10.xml)
  main-win10.xml  <- your modified layout

what's different for use?
JUST the startup commandline with different arguments.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: teik on January 12, 2018, 03:20:47 AM
Hi bob.omb and slore
I apologize if it is my mistake. When bob.omb upload it, I will try and comment. When I want to add PeNetwork, it is possible that I did something wrong. I do not know.
I will comment when when I download it.
Thank you very much for the image, it looks good.
Regards
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on January 13, 2018, 09:47:57 AM
Slore,

    Problems I am having:

Inside main-modi.jcfg:
"Entry":"main-modi" <--- Entry point is not working for main-modi.xml - If files are named main.xml and main.jcfg they work fine...

also

SSIDterm.xml would need to be changed for the layout change, its the osk.exe button.  For now I will just copy different versions of the file..

also

The -theme darkgrey flag is not working. I made sure the theme darkgrey.xml file was named correctly and in placed in the themes folder (wanted to make sure I could change name from gray to grey because if this works then I can make more themes) I was using "Include Source" for the theme before but commented it out again with <!-- --> and tried the method you showed me with no luck

LMK maybe I'm doing something wrong - Here are the files I'm testing with maybe you can see what I'm doing wrong, sorry about the delay I'm on limited time this week but should be focused this weekend(today)

[attach=1]



Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 13, 2018, 11:21:12 AM
Hi,bob.omb
sorry for my bad sample in reply.

Quote
Entry point is not working for main-modi.xml
define the entry need the full name of layout file, so should be:
Code: [Select]
"entry":"main-modi.xml",

Quote
SSIDterm.xml would need to be changed for the layout change, its the osk.exe button.  For now I will just copy different versions of the file..
define a hidden style for osk-button in main-modi.xml layout file.(needn't modify the main.xml)
<Style name="osk-button" visible="false" />

and, add this style for osk button in SSIDItem.xml
<Button style="ct-button" style="osk-button" bordersize="2" name="launch_osk" text="OSK" />

if define the style in a theme file,will effort by theme not the layout.

Quote
The -theme darkgrey flag is not working.

remove the     <Include source="themes\default.xml" /> in main.xml, the theme will work for main.jcfg.

set the "entry" correctly with "main-modi.xml", the theme will work for main-modi.jcfg.

Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: slore on January 13, 2018, 11:25:34 AM
Quote
sorry about the delay I'm on limited time this week but should be focused this weekend(today)

you are doing good things(share for the others), but don't be so rush, take your time.
Title: Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
Post by: bob.omb on January 13, 2018, 09:10:14 PM
Updated Plugin v03 attached.   :great:

[attach=1]

Place plugin in %BaseDir%\Projects\MyPlugins_Direct\Shell\  :whistling:

[attach=2]