fix: begin fixing linux support

This commit is contained in:
2025-04-23 17:17:59 +02:00
parent f26d83f291
commit bf4c06ee2d
13 changed files with 135 additions and 30 deletions

View File

@ -199,16 +199,19 @@ const canSkipPrimarySwitch = computed(
<OptionRow
:title="t('cfg.display.dontSwitchPrimary')"
v-if="
capabilities.includes('display') &&
prf.current?.data.display.target !== 'default' &&
(prf.current!.data.display.dont_switch_primary ||
displayList.length > 2) &&
canSkipPrimarySwitch
!capabilities.includes('display') ||
(prf.current?.data.display.target !== 'default' &&
(prf.current!.data.display.dont_switch_primary ||
displayList.length > 2) &&
canSkipPrimarySwitch)
"
:dangerous-tooltip="t('cfg.display.dontSwitchPrimaryTooltip')"
>
<ToggleSwitch
:disabled="extraDisplayOptionsDisabled"
:disabled="
extraDisplayOptionsDisabled &&
capabilities.includes('display')
"
v-model="prf.current!.data.display.dont_switch_primary"
/>
</OptionRow>
@ -216,9 +219,9 @@ const canSkipPrimarySwitch = computed(
:title="t('cfg.display.index')"
class="number-input"
v-if="
capabilities.includes('display') &&
prf.current?.data.display.target !== 'default' &&
prf.current!.data.display.dont_switch_primary
!capabilities.includes('display') ||
(prf.current?.data.display.target !== 'default' &&
prf.current!.data.display.dont_switch_primary)
"
>
<InputNumber
@ -227,8 +230,12 @@ const canSkipPrimarySwitch = computed(
:min="game === 'chunithm' ? 0 : 1"
:max="32"
:use-grouping="false"
placeholder="1"
v-model="prf.current!.data.display.monitor_index_override"
:disabled="extraDisplayOptionsDisabled"
:disabled="
extraDisplayOptionsDisabled &&
capabilities.includes('display')
"
:allow-empty="true"
/>
</OptionRow>

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import { computed } from 'vue';
import { Ref, computed, ref } from 'vue';
import Select from 'primevue/select';
import { useConfirm } from 'primevue/useconfirm';
import { emit } from '@tauri-apps/api/event';
@ -19,6 +19,14 @@ const prf = usePrfStore();
const pkgs = usePkgStore();
const confirmDialog = useConfirm();
const capabilities: Ref<string[]> = ref([]);
invoke('list_platform_capabilities').then(async (v: unknown) => {
if (Array.isArray(v)) {
capabilities.value.push(...v);
}
});
const names = computed(() => {
switch (prf.current?.meta.game) {
case 'ongeki': {
@ -162,5 +170,29 @@ const checkSegatoolsIni = async (target: string) => {
option-value="value"
></Select>
</OptionRow>
<OptionRow
v-if="capabilities.includes('wine')"
:title="t('cfg.wine.runtime')"
>
<FilePicker
:directory="false"
:value="prf.current!.data.wine.runtime"
:callback="
(value: string) => (prf.current!.data.wine.runtime = value)
"
></FilePicker>
</OptionRow>
<OptionRow
v-if="capabilities.includes('wine')"
:title="t('cfg.wine.prefix')"
>
<FilePicker
:directory="true"
:value="prf.current!.data.wine.prefix"
:callback="
(value: string) => (prf.current!.data.wine.prefix = value)
"
></FilePicker>
</OptionRow>
</OptionCategory>
</template>