RSS
Pages: 1 ... 9 10 11 12 13 14 15 16 17 18 19
[>] Re: wayland и захват ввода
linux.14
hugeping(ping,1) — vort3
2024-03-24 19:00:21


vort3> Я помню бородатые времена, когда KDE vs GNOME было поводом для холиваров каждый день,

Ни тот ни другой мне не нравились. Нравился WindowMaker. :)

vort3> И вот я иногда нахожу все эти ретро скриншоты тогдашних интерфейсов (тогда ещё у всех на компьютерах стояла Windows XP с дефолтными обоями, с зелёными холмами), и тоскую

А действительно сейчас оно смотрится прикольно. Мне win3.11 нравится как выглядит сейчас. А вот в то время, не нравилось. Так что действительно есть какой-то эффект и мода на ретро возвращается.

В качестве примера ещё можно motiff привести. :)

[>] Re: wayland и захват ввода
linux.14
Andrew Lobanov(tavern,1) — vort3
2024-03-26 17:52:55


AL>> А в остальном даже приятные ощущения остались. Разве что сильно непривычные файловые диалоги Qt. Отвык я от них за 18 лет, когда последний раз пользовался KDE полноценно :)
vort3> А у вас (дорогие читатели этого треда) бывает ностальгия по тому, чего вы никогда не испытывали?
vort3> Я помню бородатые времена, когда KDE vs GNOME было поводом для холиваров каждый день, тогда ещё не было такой бессмысленной нумерации, как сейчас (кажись уже гном 46 вышел?), и была кажется версия KDE 3. Это наверное ещё тогда появился мем «как пропатчить KDE под FreeBSD?». Так вот, у меня тогда даже компьютера своего не было, а вся эта атмосфера лиункса кружила вокруг меня, потому что это обсуждалось во всех тогдашних чатах и форумах. И вот я иногда нахожу все эти ретро скриншоты тогдашних интерфейсов (тогда ещё у всех на компьютерах стояла Windows XP с дефолтными обоями, с зелёными холмами), и тоскую, но не могу понять, как можно тосковать по тому, чего у меня никогда не было. Может быть, я лишь тоскую по прошлому и по своей юности?

У меня бывает. Почему-то испытываю слабость ностальгического толка по старым Unix-машинам (образца конца 80-х и 90-х), которые совершенно не застал. И вообще к старой вычислительной технике. Очень люблю читать о тех временах и технологиях и с удовольствием смотрю ролики на youtube-канале CuriousMarc.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: wayland и захват ввода
linux.14
Andrew Lobanov(tavern,1) — hugeping
2024-03-26 17:52:55


vort3>> Я помню бородатые времена, когда KDE vs GNOME было поводом для холиваров каждый день,
hugeping> Ни тот ни другой мне не нравились. Нравился WindowMaker. :)

Я, как поколение Next %) любил в те времена fluxbox. WindowMaker я распробовал уже сильно позже. Но как пришёл к Fvwm, так и считаю его до сих пор лучшим конструктором графической оболочки. Пробую периодически скакать по другим WM и даже по DE, но понимаю, что в конечном итоге пытаюсь изобрести не look, но feel своего Fvwm, и прыгаю обратно.

А сейчас и вовсе уже наскучило это всё, лень стало скакать. Вот и сижу :)

vort3>> И вот я иногда нахожу все эти ретро скриншоты тогдашних интерфейсов (тогда ещё у всех на компьютерах стояла Windows XP с дефолтными обоями, с зелёными холмами), и тоскую
hugeping> А действительно сейчас оно смотрится прикольно. Мне win3.11 нравится как выглядит сейчас. А вот в то время, не нравилось. Так что действительно есть какой-то эффект и мода на ретро возвращается.
hugeping> В качестве примера ещё можно motiff привести. :)

У меня как раз Fvwm в духе Motiff оформлен. Все эти прелести типа CDE и 4Dwm.

Однако, emacs у меня собран таки с gtk. Прогнулся :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: wayland и захват ввода
linux.14
vort3(ping,52) — hugeping
2024-04-05 19:52:41


hugeping> Так что действительно есть какой-то эффект и мода на ретро возвращается.

Жду снова скевоморфизм и фрутиджер аеро.

hugeping> В качестве примера ещё можно motiff привести. :)

А что за motiff? Не смог найти.

[>] Re: wayland и захват ввода
linux.14
vort3(ping,52) — Andrew Lobanov
2024-04-05 19:54:59


AL> У меня бывает. Почему-то испытываю слабость ностальгического толка по старым Unix-машинам (образца конца 80-х и 90-х), которые совершенно не застал. И вообще к старой вычислительной технике. Очень люблю читать о тех временах и технологиях и с удовольствием смотрю ролики на youtube-канале CuriousMarc.

Про канал такой не знаю. Зато тусуюсь как в старые юниксовые времена на пабниксах. Там сейчас все ведут блоги в gemini, тусуются в IRC, всё как в олдскульных фильмах про хакеров.

[>] Re: wayland и захват ввода
linux.14
btimofeev(ping,6) — vort3
2024-04-05 22:33:09


vort3> А что за motiff? Не смог найти.

https://ru.wikipedia.org/wiki/Motif

[>] Re: wayland и захват ввода
linux.14
btimofeev(ping,6) — vort3
2024-04-05 22:34:30


vort3, а что такое пабникс?

[>] Re: wayland и захват ввода
linux.14
Andrew Lobanov(tavern,1) — btimofeev
2024-04-09 05:50:39


btimofeev> vort3, а что такое пабникс?

Присоединяюсь к вопросу :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: wayland и захват ввода
linux.14
vort3(ping,52) — Andrew Lobanov
2024-04-11 16:40:58


btimofeev> https://ru.wikipedia.org/wiki/Motif

А, через одну «f», понял. Спасяб.

btimofeev> vort3, а что такое пабникс?

AL> Присоединяюсь к вопросу :)


Пабникс — это типа публичная *nix система. Их ещё называют тильдами. Просишь админа создать тебе учётку, подключаешься по ssh. Локально общаешься с другими юзерами, ведёшь там блоги, чатишься в IRC и т.д. Есть Tildeverse — комьюнити таких пабниксов. Можно на любом из них создать аккаунт и общаться с другими юзерами. В основном, вся движуха в терминале, по ssh.

[>] Re: wayland и захват ввода
linux.14
Andrew Lobanov(tavern,1) — vort3
2024-04-15 10:08:43


AL>> Присоединяюсь к вопросу :)
vort3> Пабникс — это типа публичная *nix система. Их ещё называют тильдами. Просишь админа создать тебе учётку, подключаешься по ssh. Локально общаешься с другими юзерами, ведёшь там блоги, чатишься в IRC и т.д. Есть Tildeverse — комьюнити таких пабниксов. Можно на любом из них создать аккаунт и общаться с другими юзерами. В основном, вся движуха в терминале, по ssh.

Русскоязычное сообщество есть? :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: wayland и захват ввода
linux.14
vort3(ping,52) — Andrew Lobanov
2024-04-15 21:03:37


AL> Русскоязычное сообщество есть? :)

Вот, хоть и маленькое, но есть:
https://pub.phreedom.club/

[>] Re: wayland и захват ввода
linux.14
Andrew Lobanov(tavern,1) — vort3
2024-04-17 05:13:18


AL>> Русскоязычное сообщество есть? :)
vort3> Вот, хоть и маленькое, но есть:
vort3> https://pub.phreedom.club/

Занятно. Хотя, пока не совсем понял что я с этим могу делать, чего не могу делать локально :)

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: wayland и захват ввода
linux.14
vort3(ping,52) — Andrew Lobanov
2024-04-17 13:25:47


AL> Занятно. Хотя, пока не совсем понял что я с этим могу делать, чего не могу делать локально :)

Локально нет других пользователей, с которыми можно обмениваться скриптами и общаться на общие темы (линуксы, скрипты, сети) не выходя из терминала.
Не то, чтобы это прям было очень важно или полезно, но это весело и интересно.

[>] Re: wayland и захват ввода
linux.14
Andrew Lobanov(tavern,1) — vort3
2024-04-18 12:23:43


AL>> Занятно. Хотя, пока не совсем понял что я с этим могу делать, чего не могу делать локально :)
vort3> Локально нет других пользователей, с которыми можно обмениваться скриптами и общаться на общие темы (линуксы, скрипты, сети) не выходя из терминала.

У меня ирц и джаббер сейчас, не выходя из терминала. И здесь я общаюсь, не выходя из терминала. Почту можно читать/писать тоже, не выходя из терминала. Поэтому пока слабо понимаю в чём фича, кроме того, что это локализованное сообщество любителей терминалов :)

vort3> Не то, чтобы это прям было очень важно или полезно, но это весело и интересно.

Не. Весело и интересно это здорово. Мы так idec сделали. Потому что это было весело и интересно :)

Я сам люблю терминал (см. выше). Просто чем это выгодно отличается от локального терминала и интернета. Вот если бы это было в какой-нибудь крупной локалке в условиях ограниченного доступа в интернет, это было бы мегаздорово.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.

[>] Re: wayland и захват ввода
linux.14
vort3(ping,52) — Andrew Lobanov
2024-04-19 21:32:00


AL> Поэтому пока слабо понимаю в чём фича, кроме того, что это локализованное сообщество любителей терминалов :)

Ну вот примерно в этом. Сообщество любителей терминалов, линуксов, шеллов, принципов по типу everything is a file, unix way и т.д.


AL> Не. Весело и интересно это здорово. Мы так idec сделали. Потому что это было весело и интересно :)

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


AL> Я сам люблю терминал (см. выше). Просто чем это выгодно отличается от локального терминала и интернета. Вот если бы это было в какой-нибудь крупной локалке в условиях ограниченного доступа в интернет, это было бы мегаздорово.

Если когда-нибудь начнут всё подряд блокировать и цензурировать, возможно, как раз такие сообщества, в которых можно по ssh коннектиться и общаться на схожие темы и делать свои маленькие проекты, и проявят себя во всей красе.

[>] Re: pass - консольный менеджер паролей
linux.14
tuple(ping,54) — btimofeev
2024-09-30 17:21:22


> Часто её ругают за то, что названия файлов с паролями хранятся в открытом виде (а они обычно представляют собой названия сайтов на которых вы зарегистрированы). Но лично мне нравится настолько простой формат хранения паролей.

Существует расширение, которое позволяет хранить дерево сайтов в "гробнице" - https://github.com/roddhjav/pass-tomb#readme

---

А ещё есть расширение, которое позволяет использовать pass для двухфакторного входа - OTP (правда, смысл двухфакторки теряется) - https://github.com/tadfisher/pass-otp#readme
У яндекса тоже есть OTP, но у них свой - YAOTP - с дополнительным ключом - пин-кодом. Для него использую https://github.com/tujh2/yaGotp

Для себя я писал отдельный скрипт, который работает как клиент только для чтения хранилища pass. Одной командой он копирует пароль, а другой командой парсит и копирует поле "login: blabla" или "email: gg@gg.ru", если не найдено первое.

[>] Re: pass - консольный менеджер паролей
linux.14
btimofeev(ping,6) — tuple
2024-10-01 15:39:06


tuple> Для себя я писал отдельный скрипт, который работает как клиент только для чтения хранилища pass. Одной командой он копирует пароль, а другой командой парсит и копирует поле "login: blabla" или "email: gg@gg.ru", если не найдено первое.

Я использую скрипт https://github.com/carnager/rofi-pass , который позволяет искать и копировать логины\пароли через rofi (https://github.com/davatorium/rofi )
P.S. Edited: 2024-10-01 15:39:40

[>] Re: pass - консольный менеджер паролей
linux.14
tuple(ping,54) — btimofeev
2024-10-19 09:42:54


btimofeev> Я использую скрипт https://github.com/carnager/rofi-pass , который позволяет искать и копировать логины\пароли через rofi (https://github.com/davatorium/rofi )

С помощью rofi работает у меня сторонний скрипт bemoji для выбора эмодзи из UTF-8: https://github.com/marty-oehme/bemoji .

Кстати, вот сам скрипт "pypassmenu" на текущий момент. Пусть под лицензией UNLICENSE. Далёк от идеала, но может кто вдохновится или будет интересно.
#!/usr/bin/env python

import os
import re
import sys
import logging
from time import sleep
from pathlib import Path
from subprocess import Popen, PIPE
from argparse import ArgumentParser


class PassFile:
    def __init__(self, name: str, content: str):
        self.name = name
        self._lines: list[str] = content.split('\n')
        self._fields: dict[str, str] = {}
        for line in self._lines:
            m = re.match(r'(.+): (.+)', line)
            if m:
                self._fields[m.group(1)] = m.group(2)
        logging.info(f'Created PassFile instance of {name}')
        logging.debug(f'PassFile fields: {self._fields}')

    @property
    def password(self) -> str:
        return self._lines[0]

    def _get_field(self, field: str) -> str:
        return self._fields[field]

    @property
    def email(self) -> str:
        try:
            logging.debug('Trying to find "email" field')
            return self._get_field('email')
        except KeyError:
            logging.debug('Falling back to "e-mail" field')
            return self._get_field('e-mail')

    @property
    def login(self) -> str:
        try:
            logging.debug('Trying to find "login" field')
            return self._get_field('login')
        except KeyError:
            logging.debug('Falling back to e(-)mail field')
            return self.email


def fetch_passfiles() -> dict[str,Path]:
    store_path = Path(os.getenv('PASSWORD_STORE_DIR') or
                      os.getenv('HOME') + '/.password-store')
    gpg_files = list(store_path.glob('**/*.gpg'))
    gpg_files_dict = {}
    for filepath in gpg_files:
        relative_filepath = str(filepath.relative_to(store_path))
        gpg_files_dict[re.sub(r'\.gpg$', '', relative_filepath)] = filepath
    return gpg_files_dict

def choose_passfile_with_dmenu(gpg_files_dict: dict[str,Path]) -> tuple[str, Path]:
    p = Popen(['dmenu'], stdout=PIPE, stdin=PIPE, text=True)
    index = '\n'.join([key for key in gpg_files_dict])
    stdout = p.communicate(input=index)[0]
    choosen_filename = stdout.strip()
    return choosen_filename, gpg_files_dict[choosen_filename]

def fetch_passfile_by_path(filename: str, filepath: Path) -> PassFile:
    p = Popen(['gpg', '-d', '--quiet', str(filepath)], stdout=PIPE, text=True)
    return PassFile(filename, p.stdout.read().strip())

def copy_to_clipboard(text: str):
    p = Popen(['xclip', '-selection', 'clipboard'], stdin=PIPE, text=True)
    p.communicate(input=text)
    logging.info('Clipboard was written')
    logging.debug(f'Clipboard content: {text}')

def clear_clipboard():
    logging.debug('Clipboard cleared!')
    copy_to_clipboard('')

def notify(header: str, body: str):
    Popen(['notify-send', header, body])
    logging.info('Notification sent')
    logging.debug(f'Notification content:\n{header=}\n{body=}')

def main():
    parser = ArgumentParser(prog='pypassmenu',
                            description='Improved passmenu written in python')
    supported_fields = ( 'password', 'login', 'email', )
    parser.add_argument('field', type=str, choices=supported_fields,
                        default=supported_fields[0], help='Obtained field')
    args = parser.parse_args()
    
    # logging.basicConfig(level=logging.DEBUG)

    filename, filepath = choose_passfile_with_dmenu(fetch_passfiles())
    pass_ = fetch_passfile_by_path(filename, filepath)
    important_value = 'something'
    try:
        match args.field:
            case 'password':
                important_value = pass_.password
            case 'login':
                important_value = pass_.login
            case 'email':
                important_value = pass_.email
    except KeyError:
        notify('Не удалось найти поле',
               f'pypassmenu: выбранное поле не найдено в {pass_.name}')
        sys.exit(1)
    copy_to_clipboard(important_value)
    sleep(20)
    clear_clipboard()

if __name__ == '__main__':
    main()

Pages: 1 ... 9 10 11 12 13 14 15 16 17 18 19