<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Decky-Framegen/src/utils, branch opti-090-final</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/'/>
<entry>
<title>chore: remove all emojis from source files</title>
<updated>2026-04-03T14:10:36+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-03T14:10:36+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=d845c74d039fd08449ce723d25958cd96a72ee06'/>
<id>d845c74d039fd08449ce723d25958cd96a72ee06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: label dxgi.dll as default in proxy DLL dropdown</title>
<updated>2026-04-03T13:58:22+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-03T13:58:22+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=9e45eca97948c77b3d443258419412e9914ffa46'/>
<id>9e45eca97948c77b3d443258419412e9914ffa46</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: proxy DLL name picker</title>
<updated>2026-04-03T13:52:39+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-03T13:52:39+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=a6955e828b1dee7b14f8021a8a470dd51d77e33e'/>
<id>a6955e828b1dee7b14f8021a8a470dd51d77e33e</id>
<content type='text'>
Expose the proxy DLL rename as a user-selectable option across all
injection paths.  Previously hardcoded to dxgi.dll with no way to
change it short of manually prepending DLL=&lt;name&gt; to the Steam launch
option.

src/utils/constants.ts
- Add PROXY_DLL_OPTIONS (7 entries matching _create_renamed_copies)
  each with a label and one-line hint
- Add DEFAULT_PROXY_DLL constant (dxgi.dll) and ProxyDllValue type

src/api/index.ts
- runManualPatch now takes [directory, dll_name] so the chosen name
  reaches the backend

src/components/OptiScalerControls.tsx
- Own dllName state (default: dxgi.dll)
- Render a DropdownItem (visible when installed) showing the 7 options
  with the selected option's hint as the description
- Pass dllName down to both ClipboardCommands and ManualPatchControls

src/components/ClipboardCommands.tsx
- Accept dllName prop
- Patch command is plain ~/fgmod/fgmod %command% for the default;
  prefixed DLL=&lt;name&gt; ~/fgmod/fgmod %command% for any other choice

src/components/CustomPathOverride.tsx
- Accept dllName prop
- Pass it to runManualPatch
- Manual launch cmd clipboard button builds
  WINEDLLOVERRIDES="&lt;stem&gt;=n,b" dynamically; emits bare
  SteamDeck=0 %command% for OptiScaler.asi (ASI loader path needs no
  Wine DLL override)

main.py
- Add VALID_DLL_NAMES set (whitelist matching the renames dir)
- manual_patch_directory validates dll_name against the whitelist and
  returns an error for unknown values
- _manual_patch_directory_impl accepts dll_name param; removes the
  hardcoded "dxgi.dll" line

defaults/assets/fgmod.sh
- Fix longstanding bug: WINEDLLOVERRIDES was hardcoded to dxgi=n,b
  regardless of the DLL= env var selection.  Now derives the stem from
  $dll_name and skips the override entirely for .asi files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Expose the proxy DLL rename as a user-selectable option across all
injection paths.  Previously hardcoded to dxgi.dll with no way to
change it short of manually prepending DLL=&lt;name&gt; to the Steam launch
option.

src/utils/constants.ts
- Add PROXY_DLL_OPTIONS (7 entries matching _create_renamed_copies)
  each with a label and one-line hint
- Add DEFAULT_PROXY_DLL constant (dxgi.dll) and ProxyDllValue type

src/api/index.ts
- runManualPatch now takes [directory, dll_name] so the chosen name
  reaches the backend

src/components/OptiScalerControls.tsx
- Own dllName state (default: dxgi.dll)
- Render a DropdownItem (visible when installed) showing the 7 options
  with the selected option's hint as the description
- Pass dllName down to both ClipboardCommands and ManualPatchControls

src/components/ClipboardCommands.tsx
- Accept dllName prop
- Patch command is plain ~/fgmod/fgmod %command% for the default;
  prefixed DLL=&lt;name&gt; ~/fgmod/fgmod %command% for any other choice

src/components/CustomPathOverride.tsx
- Accept dllName prop
- Pass it to runManualPatch
- Manual launch cmd clipboard button builds
  WINEDLLOVERRIDES="&lt;stem&gt;=n,b" dynamically; emits bare
  SteamDeck=0 %command% for OptiScaler.asi (ASI loader path needs no
  Wine DLL override)

main.py
- Add VALID_DLL_NAMES set (whitelist matching the renames dir)
- manual_patch_directory validates dll_name against the whitelist and
  returns an error for unknown values
- _manual_patch_directory_impl accepts dll_name param; removes the
  hardcoded "dxgi.dll" line

defaults/assets/fgmod.sh
- Fix longstanding bug: WINEDLLOVERRIDES was hardcoded to dxgi=n,b
  regardless of the DLL= env var selection.  Now derives the stem from
  $dll_name and skips the override entirely for .asi files.
</pre>
</div>
</content>
</entry>
<entry>
<title>wording and layout tweaks (#125)</title>
<updated>2025-07-29T14:53:45+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2025-07-29T14:53:45+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=0b5e71fe916e92ef9ecf7de91ca43371c4bd6d25'/>
<id>0b5e71fe916e92ef9ecf7de91ca43371c4bd6d25</id>
<content type='text'>
* wording and layout tweaks

* red in remove button

* reorganize frontend components

* fix ld preload permissions issue for decky 3.1.10

* bump ver</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* wording and layout tweaks

* red in remove button

* reorganize frontend components

* fix ld preload permissions issue for decky 3.1.10

* bump ver</pre>
</div>
</content>
</entry>
<entry>
<title>refined copy to clipboard ui feedback (#122)</title>
<updated>2025-07-28T14:21:34+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2025-07-28T14:21:34+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=56eac1ac74e9f32bbf2541929e80b79cdb6cbcb1'/>
<id>56eac1ac74e9f32bbf2541929e80b79cdb6cbcb1</id>
<content type='text'>
* copy feedback

* add opti logo and update wording

* branding updates

* hide check mark when installed</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* copy feedback

* add opti logo and update wording

* branding updates

* hide check mark when installed</pre>
</div>
</content>
</entry>
<entry>
<title>hide drop down, update instructions (#119)</title>
<updated>2025-07-23T13:32:06+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2025-07-23T13:32:06+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=2461cb5d9c2ae31afb33bfd3c3c9a8faa9a7603c'/>
<id>2461cb5d9c2ae31afb33bfd3c3c9a8faa9a7603c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>hooking clipboard automation button, hide plugin wiki for now (#118)</title>
<updated>2025-07-21T17:50:23+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2025-07-21T17:50:23+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=b0621d15c675b7b8c1615b0699cc85ea1430a728'/>
<id>b0621d15c675b7b8c1615b0699cc85ea1430a728</id>
<content type='text'>
* hooking clipboard automation button, hide plugin wiki for now

* add direct copy to clip buttons for patch and unpatch</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* hooking clipboard automation button, hide plugin wiki for now

* add direct copy to clip buttons for patch and unpatch</pre>
</div>
</content>
</entry>
<entry>
<title>Refresh UI (#117)</title>
<updated>2025-07-21T14:05:39+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2025-07-21T14:05:39+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=9573344450de451b8f9c7295c11318010d67f1d5'/>
<id>9573344450de451b8f9c7295c11318010d67f1d5</id>
<content type='text'>
* initial visual refinement

* rm dupe status pops

* hide other menus if uninstalled opti

* bump ver

* fix ver bump</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* initial visual refinement

* rm dupe status pops

* hide other menus if uninstalled opti

* bump ver

* fix ver bump</pre>
</div>
</content>
</entry>
<entry>
<title>reorganize for readability and DRY (#115)</title>
<updated>2025-07-17T12:49:12+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2025-07-17T12:49:12+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=ca0d5f0ec1f4ba21f4bf51f0f773d2b6bad45c93'/>
<id>ca0d5f0ec1f4ba21f4bf51f0f773d2b6bad45c93</id>
<content type='text'>
* reorganize for readability and DRY

* rm backup files

* ver bump</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* reorganize for readability and DRY

* rm backup files

* ver bump</pre>
</div>
</content>
</entry>
</feed>
