Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - barevnej

Stran: [1] 2
1
Desktop / Re:Spuštění gnome 42 screenshot z terminálu
« kdy: 23. 06. 2022, 08:10:04 »
Už je to asi jedno, po třech dnech na 5 počítačích to s Waylandem vzdávám. Krom toho že tam spousta věcí nefunguje jako jsou různé programy třeba zmiňovaný Flameshot tak i LO se nechová zcela normálně. Tak asi to nejhorší je jak je to vše takové trhané a pomalé. Všechny programy se spouští 2x až 3x pomaleji než li pod Xorg, a to neustálé trání myši je taky k vzteku. Stačí přejet myší rychle z jednohu monitoru na druhý a vídím kurzor na obou monitorech, nebo jedu a najednou se zasekne a pak skočí na další monitor. A to že nelze uspat monitor je také nepochopitelné a celou noc "krásně" svítí.

Wayland zkouším jednou za 2 roky když vyjde LTS Ubuntu, jako je to proti minulému vydání o poznání lepší ale pořád z toho mám pocit jako bych místo i7 měl v počítači Atom. :-[

Tak zase za 2 roky.

2
Desktop / Re:Spuštění gnome 42 screenshot z terminálu
« kdy: 22. 06. 2022, 08:09:06 »
gnome-screenshot již není v Gonome 42 nástroj na snímání obrazovky.  ;)
Toto se snažím pustit z terminálu.

3
Desktop / Spuštění gnome 42 screenshot z terminálu
« kdy: 21. 06. 2022, 16:04:12 »
Ač nejsem příznivcem Walandu tak mě k tomu postupně okolnosti nutí, je to stabilita různých programů a začíná už být znát že se všichni soustředí na běh pod Walandem a ne pod X.
Bojuji trochu s screenshotem. Můj oblíbený Flameshot nefunguje pod Walandem zrovna optimálně, teda jde spustit ale jen takovou oklikou. :o
https://github.com/flameshot-org/flameshot/issues/2186

Tak k věci, pokud potřebuji pouze výstřižek obrazovky bez dodatečného kreslení tak jediný způsob jak to v Gnome42 udělat je stisknout PrintScreen. Jenže holky jsou zvyklý na zástupce v Dash panelu. Zástupce bych si vytvořil ale za boha nemohu přijít na to jak pustit PrintScreen z terminálu.

4
Desktop / Re:Indocator rslsync
« kdy: 12. 06. 2022, 14:05:37 »
Já bych spíš opravdu "vizuální" kontrolu.
Nšel by tento extension upravit aby kontoloval ne jen IP ale i port?
https://extensions.gnome.org/extension/4989/home-server/
Kód: [Vybrat]
const { GObject, St, Clutter, GLib, Gio } = imports.gi;

const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
const ByteArray = imports.byteArray;
const Util = imports.misc.util;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;

const Gettext = imports.gettext;
const Domain = Gettext.domain(Me.metadata.uuid);
const _ = Domain.gettext;

const Status = {
    ONLINE: 1,
    OFFLINE: 2,
    ERROR: 3,
    UNDEFINED: 4,
};

const Icon = {
    ONLINE: 'online.svg',
    OFFLINE: 'offline.svg',
    ERROR: 'error.svg',
    UNDEFINED: 'undefined.svg',
};

const Settings = {
    SERVER_MAC: 'servermac',
    SERVER_IP: 'serverip',
    SERVER_POLL: 'serverpoll',
};

const HomeServer = GObject.registerClass(
    class HomeServerIndicator extends PanelMenu.Button {
        _init() {
            super._init(0.0, _('Server'));
            this._indicatorStatus = {
                lastResponse: null,
                status: Status.UNDEFINED,
            };
            this._settings = ExtensionUtils.getSettings();
            this._isConnected = false;
            this._setupWidgets();

            this._mainLoop();
            this._startMainLoop();
        }

        _setupWidgets() {
            this._menuLayout = new St.BoxLayout();
            this._ServerIcon = new St.Icon({ style_class: 'system-status-icon' });
            this._setIndicatorIcon(Icon.UNDEFINED);
            this._menuLayout.add_actor(this._ServerIcon);
            this.add_actor(this._menuLayout);
            this._setupPopupMenu();
        }

        _setupPopupMenu() {
            this._settingsMenuItem = new PopupMenu.PopupMenuItem(_('Settings'));
            this._settingsMenuItem.connect('activate', () => {
                const extensionManager = imports.ui.main.extensionManager;
                extensionManager.openExtensionPrefs(Me.uuid, '', {});
            });
            this.menu.addMenuItem(this._settingsMenuItem);
        }

        _setIndicatorIcon(iconFileName) {
            const iconPath = Me.dir
                .get_child('icons')
                .get_child(iconFileName)
                .get_path();
            this._ServerIcon.set_gicon(Gio.Icon.new_for_string(iconPath));
        }

        _setIndicator(status) {
            if (status == Status.ONLINE) {
                if ( this._indicatorStatus.status !== Status.ONLINE ) {
                    this._setIndicatorIcon(Icon.ONLINE);
                    this._log('Set status ONLINE');
                    this._indicatorStatus.status = Status.ONLINE;
                    if (this._wakeonlanMenuItem) {
                        this._log('Remove WOL menu item');
                        this._wakeonlanMenuItem.disconnect();
                        this._wakeonlanMenuItem.destroy();
                    }   
                }
                return;
            }
           
            if (status == Status.OFFLINE) {
                if ( this._indicatorStatus.status !== Status.OFFLINE ) {
                    this._setIndicatorIcon(Icon.OFFLINE);
                    this._log('Set status OFFLINE');
                    this._indicatorStatus.status = Status.OFFLINE;
                    if (!this._wakeonlanMenuItem) {
                        this._log('Add WOL menu item');
                        this._wakeonlanMenuItem = new PopupMenu.PopupMenuItem(_('Start Server'));
                        this._wakeonlanMenuItem.connect('activate', () => {
                            this._wakeup();
                        });
                        this.menu.addMenuItem(this._wakeonlanMenuItem);
                    }
                }
                return;
            }

            if (status == Status.ERROR) {
                if ( this._indicatorStatus.status !== Status.ERROR ) {
                    this._setIndicatorIcon(Icon.ERROR);
                    this._log('Set status ERROR');
                    this._indicatorStatus.status = Status.ERROR;
                    if (this._wakeonlanMenuItem) {
                        this._log('Remove WOL menu item');
                        this._wakeonlanMenuItem.disconnect();
                        this._wakeonlanMenuItem.destroy();
                    }   
                }
                return;
            }

            if (status == Status.UNDEFINED) {
                if ( this._indicatorStatus.status !== Status.UNDEFINED ) {
                    this._setIndicatorIcon(Icon.UNDEFINED);
                    this._log('Set status UNDEFINED');
                    this._indicatorStatus.status = Status.UNDEFINED;
                    if (this._wakeonlanMenuItem) {
                        this._log('Remove WOL menu item');
                        this._wakeonlanMenuItem.disconnect();
                        this._wakeonlanMenuItem.destroy();
                    }   
                }
                return;
            }
        }

        _wakeup() {
            try {
                let proc = Gio.Subprocess.new(
                    ['wakeonlan', this._settings.get_string('servermac')],
                    Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE);
                proc.communicate_utf8_async(null, null, (proc, res) => {
                    try {
                        Main.notify(Me.metadata.name, _('Start Server now. Please wait...'))
                        let [, stdout, stderr] = proc.communicate_utf8_finish(res);
                    } catch (e) {
                        Main.notify(Me.metadata.name, _('Start Server failed'))
                        this._log('Executing Wake On LAN failed. ' + e);
                    }
                });
            } catch (e) {
                Main.notify(Me.metadata.name, _('Start Server failed. Already installed wakeonlan?'))
                this._log('Wake On LAN failed. Already installed wakeonlan? ' + e);
            }
        }

        _startMainLoop() {
            this._mainLoopTimeout = GLib.timeout_add_seconds(
                GLib.PRIORITY_DEFAULT,
                this._settings.get_int(Settings.SERVER_POLL),
                () => {
                    this._mainLoop();
                    return true;
                }
            );
        }

        _stopMainLoop() {
            if (this._mainLoopTimeout) {
                GLib.source_remove(this._mainLoopTimeout);
                this._mainLoopTimeout = null;
            }
            this._connection = null;
        }

        async _mainLoop() {
            let ip =  this._settings.get_string('serverip')
            let cmd = [];
            if ( this._isConnected == true ) {
                this._log('Connection established');
                cmd = ['sh', '-c', `ping -q -c1 -w5 ${ip} >/dev/null 2>&1`];
            } else {
                this._log('Awaiting established connection');
                cmd = ['sh', '-c', 'ping -q -c1 -w1 `ip r | grep default | cut -d " " -f 3` >/dev/null 2>&1 && exit 0 || exit 1'];
            }
           
            try {
                let proc = Gio.Subprocess.new(cmd, Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE);
                proc.communicate_utf8_async(null, null, (proc, res) => {
                    try {
                        if (proc.get_successful()) {
                            if ( this._isConnected == true ) {
                                this._log('Ping success');
                                this._setIndicator(Status.ONLINE);
                            } else {
                                this._isConnected = true;
                                this._setIndicator(Status.UNDEFINED);
                            }
                        } else {
                            if ( this._isConnected == true ) {
                                this._log('Ping failed');
                                this._setIndicator(Status.OFFLINE);
                            } else {
                                this._setIndicator(Status.UNDEFINED);
                            }
                        }
                    } catch (e) {
                        this._setIndicator(Status.UNDEFINED);
                        if ( this._isConnected == true ) {
                            this._log('Ping failed. ' + e);
                        } else {
                            this._log('Awaiting connection failed. ' + e);
                        }
                    }
                });
            } catch (e) {
                this._setIndicator(Status.ERROR);
                if ( this._isConnected == true ) {
                    this._log('Ping failed. ' + e);
                } else {
                    this._log('Awaiting connection failed. ' + e);
                }
            }
        }

        _log(msg) {
            if (this._settings.get_boolean('serverdebug')) {
                log(`${Me.metadata.name}: ${msg}`);
            }
        }

        _onDestroy() {
            this._log('Indicator._onDestroy()');
            this._stopMainLoop();
            this._menuLayout = null;
            this._indicatorStatus = null;
            this._settings = null;
            super._onDestroy();
        }
    }
);

class Extension {
    constructor(uuid) {
        this._uuid = uuid;
    }
   
    enable() {
        this._homeServerIndicator = new HomeServer();
        Main.panel.addToStatusArea(this._uuid, this._homeServerIndicator);
    }
   
    disable() {
        this._homeServerIndicator.destroy();
        this._homeServerIndicator = null;
    }
}


function init(meta) {
    ExtensionUtils.initTranslations(Me.metadata.uuid);
    return new Extension(meta.uuid);
}

5
Desktop / Re:Dash to Panel: vypnutí přebytečné funkce
« kdy: 03. 06. 2022, 08:34:37 »
Tak jsem na to přišel.  :)

Kód: [Vybrat]
gedit ~/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/panel.js
A zakomentovat // vše aby část kodu vypadala takto. (Možná to jde i jinak ale takto se zdá že to funguje)

Kód: [Vybrat]
//    handleDragOver(source, actor, x, y, time) {
//        if (source == Main.xdndHandler) {
           
            // open overview so they can choose a window for focusing
            // and ultimately dropping dragged item onto
//            if(Main.overview.shouldToggleByCornerOrButton())
//                Main.overview.show();
//        }
       
//        return DND.DragMotionResult.CONTINUE;
//    }

Stačí restart prostředí a už mohu přetahovat soubory skrz taskbar bez problémů.

6
Desktop / Indocator rslsync
« kdy: 01. 06. 2022, 12:26:47 »
Je možné v gnome shell 42 nějak indikovat spuštěný program rslsync který otevírá na localhost port 8888?

Po spuštění se na localhost otevře port 8888 kde přes webový prohlížeč jde pozorovat a konfigurovat. Občas se stane že to spadne, a já bych to potřeboval nějak vědět bez toho abych to musel mít stále otevřené v prohlížeči.

Při spuštěném rslsync:
Kód: [Vybrat]
$ nmap -p 8888 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2022-06-01 12:12 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00013s latency).

PORT     STATE SERVICE
8888/tcp open  sun-answerbook

Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

Při vypnutém:
Kód: [Vybrat]
$ nmap -p 8888 127.0.0.1
Starting Nmap 7.80 ( https://nmap.org ) at 2022-06-01 12:13 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).

PORT     STATE  SERVICE
8888/tcp closed sun-answerbook

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

Napadlo mě zda nepoužít nějaký extensions
https://extensions.gnome.org/extension/4687/server-status-indicator/
https://extensions.gnome.org/extension/4989/home-server/
Jenže tak snadné to není. Ale bylo by fajn mít nahoře ikonku která "zčervená" pokud http://127.0.0.1:8888/ není dostupná.

Nějaké nápady?

7
Desktop / Re:Dash to Panel: vypnutí přebytečné funkce
« kdy: 19. 05. 2022, 11:06:22 »
To je po hooodně dlouhé době co na něco nemohu přijít. Zkusil jsem snad už všechno.
Jediné co jsem nezkusil je FO. Našel by se někdo?

8
Desktop / Re:Dash to Panel: vypnutí přebytečné funkce
« kdy: 17. 05. 2022, 16:42:52 »
Aha tak pardon, restart prostředí nestačil. Tak tedy po restartu se vše pouštělo extrémně pomalu. Jen to co jsem požadoval je stále stejně rychlé.

9
Desktop / Re:Dash to Panel: vypnutí přebytečné funkce
« kdy: 17. 05. 2022, 16:29:59 »
neni to show-window-previews-timeout ?
Zkusil jsem nastavit 40000 a restartoval a nikde se nepozoruji zpomalení. Takže žádná změna. :'(

10
Desktop / Re:Dash to Panel: vypnutí přebytečné funkce
« kdy: 17. 05. 2022, 08:27:49 »
takový nápad - co přesunout ten dock na vnější stranu, třeba úplně doprava ?
To by nic nevyřešilo, mám 3 monitory a na prostředním hlavním monitoru mám na levém boku tento panel. Už je to takový zvyk X let.
Procházám jak dconf tak i hromadu konfiguráků obsažené v rozšíření. Někde to musí jít vypnout, nebo alespoň nastavit delší čas reakce třeba na 1 vteřinu. Teď tam bude cca 0,1 jelikož pokud promáchu myší se souborem rychle tak se to neaktivuje.

11
Desktop / Re:Dash to Panel vypnutí přebytečné funkce.
« kdy: 17. 05. 2022, 08:19:46 »
Skús oficiálny Dash To Dock: https://extensions.gnome.org/extension/307/dash-to-dock/ . S týmto doplnkom nemám zmienený problém.
Mě právě vyhovuje ve všech směrech Dash to Panel. Tedy až na tuto nežádnoucí vychytávku.

12
Desktop / Dash to Panel: vypnutí přebytečné funkce
« kdy: 16. 05. 2022, 17:54:53 »
Zdravím, nedokázal by jste mi někdo poradit. Mám nainstalovaný doplněk Dash to Panel a potřeboval bych vypnout funkci kdy pokud chytnete nějaký soubor třeba v Nautilusu a nesete ho na jiný monitor do jiné aplikace/okna a omylem se dotknete nebo přejíždíte přes boční dock tak se okamžitě zobrazí zmenšené aplikace všech puštěných aplikací. Toto bych potřeboval vypnout, netuším jak.

13
Server / Re:Doporučení webhosting
« kdy: 31. 03. 2022, 12:18:47 »
Mě je fuk kdo to vlastní, výsledek včera nefungovali emaily celé dopoledne a teď se snažím odeslat email a hle zase to nefunguje.
Možná jsem náročný uživatel ale nepřijde mi normální aby byl výpadek každý den několik hodin.

14
Server / Re:Doporučení webhosting
« kdy: 31. 03. 2022, 08:26:01 »
Blueboard vypadá zajímavě, sice malá firma ale někdy je to lepší na komunikaci.
Včera jsem si doposoval s Wedosem a moc z toho přístupu nadšený nejsem. Za všechno nejdříve zaplatit a přemigrovat a až potom zjistím zda bude vše fungovat v ostrém provozu. :o

15
Server / Re:Doporučení webhosting
« kdy: 29. 03. 2022, 09:12:58 »
Děkuji za informace. Budu to muset řešit. Výpadky jsou brutální, je to vždy několik hodin denně. Třeba teď je to úplně mrtvý a jejich infolinka přetížená a nikdo to nezvedne.
Už jsem u nich přes 5 let ale psolední měsíc je to katastrofa.

Stran: [1] 2