LINUX.ORG.RU

Как создать маленькое полупрозрачное окно?

 , ,


0

1

Что нужно: простой строкой в консоли создать окно без всяких декораций, но полупрозрачное по заданному проценту и иметь флаг поверх всех окон. Оно должно перетаскиваться мышой с ATL, изменяться размер по правому нижнему углу. Выглядеть просто как полупрозрачный прямоугольник.

Зачем: Люто, бешенно раздражают любители замазывать логотипы в кино слоем мнимой прозрачности. На статичном фоне это работает, но на динамичном выглядит убого, мерцает, отвлекает и утомляет глаза. Хочется это говно прикрыть отдельным окном. а то леплю на экран кусок изоленты, она меньше глаза насилует)

Врядли мой SMPlayer сам умеет такое, а хотелось бы. Поэтому подумал вот же простой костыль. Ибо нейросети долго ещё не научатся воссоздавать фон за удалённым объектом, либо эти высокие технологии недоступны мамкиным релизерам обнаружившим в видеоредакторе модную свистелку-перделку сделанную вероятно не совсем для этого.

★★★

Последнее исправление: hikikomori (всего исправлений: 2)
Ответ на: комментарий от hikikomori

В том же mpv открой картинку. Делаешь нужное изображение с прозрачностью, и открываешь его в mpv с нужным размером окна в опциях.

anonymous
()

В Фотошопе.

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

Логотип тоже в mpv можно сделать но расположение мышкой не перетащишь как и в vlc, а только координаты при запуске.

anonymous
()

Как создать маленькое полупрозрачное окно?

С Qt 5.15, технологией QtQuick и языком программирования QML очень просто.

Код в файле Overlay.qml:

import QtQuick 2.15
import QtQuick.Window 2.15

Window {
    color: Qt.rgba(0.0, 0.0, 0.0, 0.5)

    id: window
    visible: true
    flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.WA_TranslucentBackground

    Shortcut {
        sequence: "Esc"
        onActivated: window.close()
    }

    DragHandler {
        id: resizeHandler
        onActiveChanged: if (active) {
            const p = resizeHandler.centroid.position
            let e
            if (p.x / width  < 0.10) { e |= Qt.LeftEdge }
            if (p.x / width  > 0.90) { e |= Qt.RightEdge }
            if (p.y / height < 0.10) { e |= Qt.TopEdge }
            if (p.y / height > 0.90) { e |= Qt.BottomEdge }
            if (e) { window.startSystemResize(e) } else { window.startSystemMove() }
        }
    }
}

Запуск программы:

QT_QPA_PLATFORM=xcb qmlscene Overlay.qml

✔ Простой строкой в консоли создать окно без всяких декораций.
✔ Полупрозрачное по заданному проценту.
✔ Поверх всех окон.
✔ Оно должно перетаскиваться мышой.
✔ Должен изменяться размер.
✔ Выглядит просто как полупрозрачный прямоугольник.

Цвет и полупрозрачность прямоугольника настраивается в функции Qt.rgba(0.0, 0.0, 0.0, 0.5), изначально установлена в 50%, первые три компоненты отвечают за цвет в RGB-формате. Таскать окно по экрану можно зажав кнопку мыши в центре окна и перемещая курсор, размер изменяется аналогичным образом но по краям прямоугольника. На клавишу Esc задан выход. Выглядит всё следующим образом:

При желании можно оформить в отдельный исполняемый файл, но мне лень.

http://esxi.z-lab.me:666/~exl_lab/movies/Overlay.webm

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от EXL

Это все, конечно, похвально, что ты выучил Qt5. Но тащить целый Qt5, да еще последней ревизии, ради такой ерунды не очень разумная идея, тебе не кажется? А слабо на сишечке заварганить или на ржавчине (Rust)?

Вот это проблема линукса, я считаю. Сплошные фреймворки. На нелюбимом здесь оффтопике глаз радуется (не у всех) от быстрых, легких и при этом функциональных сишных прог (например, Imgburn, EAC).

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

а как можно жить без Qt5 в системе?

даже если ты заядлый гномосек или крысофанбой, это невозможно.

ПО, без которого нельзя обойтись в повседневной жизни (например, Electrum, из альтернатив которому только жирный bitcoin-qt, который, очевидно, тоже на Qt) — только на кутях.


так что, хочешь ты этого или нет — а придётся.

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

P.S. добавить управление прозрачностью прямоугольника колёсиком мышки можно таким фрагментом:

Window {

    ...

    MouseArea {
        anchors.fill: parent
        property real op: 0.5
        onWheel: {
            if (wheel.angleDelta.y > 0 && op < 1.0) {
                op += 0.01
            } else if (wheel.angleDelta.y < 0 && op > 0.0) {
                op -= 0.01
            }
            window.color = Qt.rgba(0.0, 0.0, 0.0, op);
        }
    }
}

В общем, вставив MouseArea внутрь Window.

ТС, у тебя там Manjaro? Если да, то программа qmlscene находится в пакете qt5-declarative.

P.S. итоговый код: http://esxi.z-lab.me:666/~exl_lab/software/Overlay.qml

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от anonymous

Это все, конечно, похвально, что ты выучил Qt5. Но тащить целый Qt5, да еще последней ревизии, ради такой ерунды не очень разумная идея, тебе не кажется?

Использую те средства и инструменты, которые есть под рукой. Вот решил проверить, как хорошо «ТЗ» по ОП-посту ляжет на декларативные возможности фреймворка Qt. Сколько времени потрачу. Оказалось в пределах 5-10 минут, неплохой результат я считаю.

А слабо на сишечке заварганить или на ржавчине (Rust)?

Нет, не думаю, что слабо. Но, собственно, нафига? Во-первых, я потрачу несоизмеримо гораздо больше времени изучая как там, например, окно поверх всех окон расположить или прозрачным его сделать. Во-вторых кода там будет на пару экранных листингов. В-третьих, для такой простой задачи это нисколько не оправдано.

На нелюбимом здесь оффтопике глаз радуется (не у всех) от быстрых, легких и при этом функциональных сишных прог (например, Imgburn, EAC).

А потом этот глаз дёргается от всяких Skype от Microsoft на Electron и прочих Visual Code с такими вот «подарунками».

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

Смотрю ты пользуешься федорой, а почему сервер на убунте?

Потому что этот сервер не мой и я не решаю что туда ставить в качестве операционной системы. Если бы у меня был выбор, наверно я бы поставил туда Debian или CentOS, чтобы меньше телодвижений всяких разных совершать. Мне там просто выделили место для файлопомойки, я использую и не жужжу.

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

Лично я ничего не читал толком по QtQuick/QML и написал лишь пару приложений с использованием этого стека технологий, одно из них тут:

https://github.com/EXL/BezierClock

В основном доки, гугление, StackOverflow, на котором из-за непопулярности QML многие вопросы так и не решены. Пролистал по диагонали когда-то книгу М. Шлее по Qt, там был раздел по QtQuick/QML, но устаревший вроде как. Мне обзорное изложение от Шлее не нравится, хоть и купил несколько его книг, которые и не читал, только листал. Там талмуд почти такой же увесистый, как страуструповый. Пылится на полке.

Если бы сейчас передо мной встала задача написать что-то для Android и iOS на QML, я бы освежил свои знания с помощью этой книги:

https://qmlbook.github.io/

Думаю это то, что тебе нужно. Ну и изучение официальной доки при затруднениях + изучение примеров похожих приложений на GitHub’е.

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

Спасибо, сгодится для сериалов где блямба всегда в одном месте и размер картинки одинаков, но тут нужно заранее рассчитывать координаты, а это геммор и для разных фильмов не подходит. Плюс запускать надо либо отдельно, либо менять строку запуска в конфиге smp. Вот бы они это в функционал добавили, тогда бы да. Костыль от EXL тут универсальнее, плюс пример программирования на QML =).

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

Спасибо друг! Вариант годится. Заодно ценный пример знакомства с QML) Кстати а почему так сложно? Такой префикс длинный QT_QPA_PLATFORM=xcb qmlscene

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

Что такое пиратство? Чем пиратство плохо и кому? Где я в чём-то признался? Ответьте пожалуйста по пунктам на все вопросы, и мы продолжим.

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

ТС, у тебя там Manjaro? Если да, то программа qmlscene находится в пакете qt5-declarative. Да, Manjaro.

Очевидно!

yay -Qo  qmlscene
/usr/bin/qmlscene принадлежит qt5-declarative 5.15.2-1```


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

В лицензионных видео никто не замазывает логотипы. Ты незаконно скопировал незаконно скопированное видео, нарушил авторские права.

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

Если это рип с тв, то не факт, что он незаконный. Я не уверен насчет его распространения.

И да у нас в Росси качать не запрещено, раздавать нет. Ответственность лежит на трекерах, поэтому то их и закрывают. На западе все наоборот и вздернут юзера.

zenonix
()
Ответ на: комментарий от hikikomori

Ну, пиратство как бы плохо тем, что при производстве фильмов использовались кредиты, которые планировалось отбивать с продаж, вместо халявной скачки.

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

У буржуев нет некоторых фильмов, которые есть у нас, внезапно (сам удивился). Включил нетфликс через ВПН в Париже, а пачка фильмов из списков пропала. Выключил ВПН - появились обратно.

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

сразу на нормальном языке

Ты имеешь в виду, наверное, не в озвучке (поддерживаю). Так то фильмы на нашем русском языке неплохие таки есть. А вот то, что ты смотришь на «нормальном языке» скорее всего сериальщина голимая, пусть даже и в орихинале. Но это вкусовщина, кто-то и аниме смотрит.

zenonix
()
Ответ на: комментарий от Binkledum

в Париже

Ты еще скажи, что современные французские фильмы смотришь. Такая попсня. При том у них есть неплохой арт-хаус, но это же не для всех для илиток.

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

Из сериальщины голимой последнее, что посмотрел - Queen’s gaybit. Вроде попса, но норм зашло. Из совсем попсы смотрел Gay of thrones.

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

Queen’s gaybit

Мне французы тоже все уши им прожужжали. Даже смотреть не стал. Вроде на уровне и дамочка няшная (рыжеволосая, как Джиллиан Андерсон). Но превратить шахматы в секс, это за гранью. Американцы что угодно в блокбастер превратят. Тот же Чернобыль. Помню был у нас фильм на эту тему психологический. Дамочка примеряла туфли беззаботно, когда уже радиация в воздухе была. Вот это я бы пересмотрел, да не помню название.

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

Из наших психологических лучше ЗС пересмотри пару раз.

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

Что такое «лицензионное» видео? За авторские права вам хорошо пояснит Ричард Столлман и Пиратская Партия. Никаких авторских прав не существует, это нонсенс. Существует только желание ничего не создающих копирастов присваивать чужое и стричь бабло.

Сначала тебя грабят, отчуждая средства производства, затем тебя грабят, присваивая созданную тобой прибавочную стоимость. Потом тебя опять грабят, лишив свободного доступа к результатам труда других трудящихся: книгам, картинам, музыке, фильмам. Какой ужас, люди могут это скопировать и не заплатить моржуснепонятнокакогохера капиталисту! А потом ещё моралфаги вроде вас пытаются внушить нам чувство вины, будто не принимая этого лохотрона мы поступаем плохо? Йо-хо-хо! Ви делаете мине смешно.

Речь о фильме 1970х годов, снятого по заказу Государственного комитета Совета Министров СССР по телевидению и радиовещанию. Понятия не имею, прихватизировала ли какая капиталистическая сволочь права на всенародное достояние или ещё нет, но скачать его можно только так и нигде больше. Запись сделана в 90х с ТВ где был в углу какой-то логотип налепленный телестудией. К фильму он имеет не большее отношение, чем акцизная марка к коньяку. Его дебильно замазали, сделав ещё хуже. А вы возбудились только на гипотетически возможную «упущенную выгоду» какой-либо спекулятивной сволочи на сене, укравшей кино у народа путём выкупа по дешёвки киностудии, вас только это волнует?

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

То есть ты понятия не имеешь, кому принадлежат права, нарушаешь ли ты закон, скачивая данный фильм, но всё равно скачиваешь?

Binkledum
()
Ответ на: комментарий от zenonix

Вот, золотые слова! Хрен его где скачаешь, кроме торрентов. Плюс это общественное достояние, и даже если кто выкупил киностудию и внезапно автоматом «записи Моцарта стали недоступны по запросу автора», то нас это не должно волновать. Лично я качаю торренты, раздаю торренты,и буду это делать, даже если придется уйти в впн, в даркнет, к черту на куличики. Или смерть Капитала, или смерть под пятой Капитала.

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

Queen’s gaybit
Gay of thrones

Интересные у тебя запросы. Наверное, тебе бы понравилась группа One Direction…

anonymous
()
Ответ на: комментарий от zenonix

Если вы про расеянское кино, то это просто распилы, их мало волнует кто будет, и будет ли вообще смотреть это говно. Иначе бы боялись пролететь и нас не пытались бы гормить говном с экрана, Баженов не даст соврать.

А если вы про голливудское кино, у них и так гешефт большой, они ограбляют всю планету и жируют на этом. Как-то не удавятся, если я бесплатно увижу их кино. Всё равно денег платить за каждый байт нет, и «я держусь с хорошим настроением, доедая ххх без соли».

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

Вот это да, та ещё усатая мразь. Спрашивается с какого гуя, а вот. К счастью, я давным давно перестал покупать болванки, перешёл на винты.

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

Если вы про расеянское кино, то это просто распилы, их мало волнует кто будет, и будет ли вообще смотреть это говно

Не всегда. Вот кстати недавно вышли «Подольские курсанты 2020». Судя по трейлеру качественно с размахом сделано. Не без стереотипов, конечно. Думаю, глянуть…

zenonix
()
Ответ на: комментарий от Binkledum

Я так и знал, что вы просто богатый буратино на платной подписке, и чувствуете себя дураком, поэтому и капаете мне на мозг. Кстати, недавно скачал и посмотрел сериал нетфликса про шахматистку, йо-хо-хо, совершенно бесплатно.

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

Ну так вы и сам пират получается. Обходите региональные ограничения через впн. Не уважаете наебизнес правообладателей, и ещё что-то мне говорите. Даже главный защитник копирастов в рФ Лукьяненко признавался в интервью, что качал торренты, ибо в нормальном виде многие фильмы нигде не найти просто.

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

они ограбляют всю планету и жируют на этом. Как-то не удавятся, если я бесплатно увижу их кино

Если ты их так не любишь, лучше и не смотреть совсем. В мире полно других стран. Netflix ограничивает кругозор.

anonymous
()
Ответ на: комментарий от hikikomori

Нет, я использовал VPN, чтобы открыть linkedin, тк CEO моей компании просит, чтобы сотрудники в профилях linkedin указывали текущую компанию (то есть нашу), потом забыл отрубить и включил нетфликс. Так я просто линкедин не обновлял с 2018го.

Binkledum
()
Ответ на: комментарий от zenonix

Посмотреть можно один раз и стереть. Ненавижу, когда вместо доски показывают рожи игроков. Я не на их гримасы хочу смотреть, а на ход игры, фигуры на доске. Вот тут аниме ругали. Я люблю ГО, есть анимэ «Хикарино го», там всё очень граммотно сделано и мимика и доска с камнями показаны. А не что-то одно.

Queen’s gaybit снято не про шахматы, они там проходят фоном, как повод полюбоваться рыжей нняшей. Как фильм про шахматистов и шахматы это херня как фильм про Высоцкого «списибо что живой».

hikikomori ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.