LINUX.ORG.RU

ночная тема

 , ,


0

1

А можно реализовать ночную схему?

И с автопереключением хотя бы для мобильных устройств?

Ну или хотя бы кнопку для ручного перехода с ночной на дневную схемы



Последнее исправление: guyvernk (всего исправлений: 1)

Для этого сайту нужен доступ к определению координат, чтобы правильно ловить полярный день и часовой пояс, а там уже недалеко до сервиса «покажи друзей на карте».

Irma ★★
()
Ответ на: комментарий от Irma

Браузер отдает настройки системы, включена у тебя темная или светлая тема через prefers-color-scheme, да и таймзону с названием города, тоже

masa
()
Ответ на: комментарий от superuser

Согласен.

Я не до конца правильно выразился.

У меня в настройках по умолчанию стоит белая тема.

Я подразумевал ее темную вариацию.

guyvernk
() автор топика

Нужно реализовать не «ночную схему», а в зависимости от системной темы выбор tango или waltz. Аналогичное переключение можно сделать для white2 и black. По умолчанию оставить как есть, но разрешить установку режима «системный выбор темы». @maxcom, что думаешь?

Werenter ★★☆
()
Ответ на: комментарий от maxcom

Написал бы на wiki про простейший конфиг для nginx.
Давно хочу заняться отображением таблиц, но никак не осилю эти ваши web-технологии. :)

dataman ★★★★★
()
Ответ на: комментарий от Irma

Ты уверена? Достаточно чтоб браузер сообщал сайту желаемую тему и не более того. А уже сам браузер будет выбирать, какую тему запрашивать в зависимости от настроек пользователя.

u5er ★★
()
Ответ на: комментарий от u5er

Dark Reader для годзиллы решает вопрос, вообще ничего не сообщая.

Irma ★★
()

Tango идеальна для дня и ночи. С синим светом эффективно борется смена цветовой температуры по расписанию. Ночные темы не люблю.

Но я давно хочу, чтобы с Kindle открывалась светлая тема, потому что темные выглядят грязно, да ещё прокрутка создаёт разводы.

Vidrele ★★★
()
Ответ на: комментарий от dataman

но никак не осилю эти ваши web-технологии. :)

А уверен, что оно тебе надо? :) Тьху же…

Zhbert ★★★★★
()

А можно реализовать ночную схему?

Я использую LOR Dark blue поверх tango и Юзерстиль «Ночной лор» от Sadler поверх black, для него было обновление, но я потерял ссылку, поэтому перезалью. Скачать.

И с автопереключением хотя бы для мобильных устройств?

Автопереключение можно так реализовать в юзерскрипте

function _setup(el, attrs, events) {

	if (!el)
		return '';

	switch (typeof el) {
		case 'string':
			el = document.createElement(el);
		case 'object':
			for (const key in attrs) {
				attrs[key] === undefined ? el.removeAttribute(key) :
				key === 'html' ? el.innerHTML   = attrs[key] :
				key === 'text' ? el.textContent = attrs[key] :
				key in el    && (el[key]        = attrs[key] ) == attrs[key]
							 &&  el[key]       == attrs[key] || el.setAttribute(key, attrs[key]);
			}
			for (const name in events) {
				if (!events[name])
					continue;
				if (Array.isArray(events[name]))
					events[name].forEach(handler => el.addEventListener(name, handler, false));
				else
					el.addEventListener(name, events[name], false);
			}
	}
	return el;
}

// Возвращает название темы, выбранной в настройках
function getCurrentTheme() {
    let firstLinkNode = document.head.querySelector('link');
    let cssUrl = new URL(firstLinkNode.href);
    return cssUrl.pathname.split('/')[1]
}

// Добавляет CSS к странице
function addCss(sheet) {
  var head = document.head;
  let style = _setup('style', { text: sheet });
  head.appendChild(style);
}

let LOR_CSS = `
    ...
`;
const LOR_LIGHT = `
    ...
`;

const LOR_BLACK = `
    ...
`;

const theme = getCurrentTheme();

addCss(LOR_CSS);

if (theme == 'tango') {
    addCss(LOR_DARK)
}
else if (theme == 'waltz') {
    addCss(LOR_LIGHT)
}
else if (theme == 'black') {
    addCss(LOR_BLACK)
}

damix9 ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.