Files
custum-hyprpanel/widget/settings/pages/config/osd/index.ts
Jas Singh 2c72cc66d8 Implemented strict linting standards and prettier formatting config. (#248)
* Implemented strict linting standards and prettier formatting config.

* More linter fixes and type updates.

* More linter updates and type fixes

* Remove noisy comments

* Linter and type updates

* Linter, formatting and type updates.

* Linter updates

* Type updates

* Type updates

* fixed all linter errors

* Fixed all linting, formatting and type issues.

* Resolve merge conflicts.
2024-09-14 16:20:05 -07:00

72 lines
2.8 KiB
TypeScript

import { Option } from 'widget/settings/shared/Option';
import { Header } from 'widget/settings/shared/Header';
import options from 'options';
import Scrollable from 'types/widgets/scrollable';
import { Attribute, Child } from 'lib/types/widget';
export const OSDSettings = (): Scrollable<Child, Attribute> => {
return Widget.Scrollable({
vscroll: 'automatic',
child: Widget.Box({
class_name: 'bar-theme-page paged-container',
vertical: true,
children: [
Header('On Screen Display'),
Option({ opt: options.theme.osd.enable, title: 'Enabled', type: 'boolean' }),
Option({
opt: options.theme.osd.duration,
title: 'Duration',
type: 'number',
min: 100,
max: 10000,
increment: 500,
}),
Option({
opt: options.theme.osd.orientation,
title: 'Orientation',
type: 'enum',
enums: ['horizontal', 'vertical'],
}),
Option({
opt: options.theme.osd.location,
title: 'Position',
subtitle: 'Position of the OSD on the screen',
type: 'enum',
enums: ['top left', 'top', 'top right', 'right', 'bottom right', 'bottom', 'bottom left', 'left'],
}),
Option({
opt: options.theme.osd.monitor,
title: 'Monitor',
subtitle: 'The ID of the monitor on which to display the OSD',
type: 'number',
}),
Option({
opt: options.theme.osd.active_monitor,
title: 'Follow Cursor',
subtitle: 'The OSD will follow the monitor of your cursor',
type: 'boolean',
}),
Option({
opt: options.theme.osd.radius,
title: 'Radius',
subtitle: 'Radius of the on-screen-display that indicates volume/brightness change',
type: 'string',
}),
Option({
opt: options.theme.osd.margins,
title: 'Margins',
subtitle: 'Margins in the following format: top right bottom left',
type: 'string',
}),
Option({
opt: options.theme.osd.muted_zero,
title: 'Mute Volume as Zero',
subtitle: 'Display volume as 0 when muting, instead of previous device volume',
type: 'boolean',
}),
],
}),
});
};