Есть ли способ активировать определенную вкладку chrome через bash?

Создайте псевдоним в /etc/aliases для mike@mike.co.uk, указывающий на mike@mike2.co.uk и повторно запустите очередь с помощью exim -qff.

(Хотя я все еще недоумеваю, почему входящая почта должна сидеть в локальной очереди)

.
9
21.10.2015, 16:52
5 ответов

Этот код perl работает для меня :например, findTab.pl Chrome Gmail. Это заставляет экран переворачиваться и может менять вкладки в других окнах (он проверяет 12 раз на теории, что это должно оставить ваше окно на исходной вкладке, если оно ничего не находит, если у вас есть <5 вкладок в окне ).

Это не работает в моей системе Ubuntu, если вы не используете windowactivateдо key; что-то связанное с очень старыми протоколами безопасности.

Я не думаю, что есть какие-либо гарантии, что он найдет, если нужно найти более одной вещи; Я подозреваю, основываясь на другом опыте xdotool, что при многократном использовании он может найти разные вещи.

Perl, вероятно, не лучший выбор для этого скрипта, но я не знаю bash.

#! /usr/bin/perl
## findTab.pl
## usage findTab appName tabName
use strict;

my $maxTabs=12;

my ($app, $tab) = @ARGV;

my @wins = split /\s+/, `xdotool search --desktop 0 --name $app`;

foreach my $win (@wins){
    my $title;
    for (my $i=0;$i<$maxTabs;$i++){
        system ("xdotool windowactivate $win");
        $title = `xwininfo -id $win | grep $tab`;
        last if $title;
        system("xdotool key --window $win ctrl+Page_Down");
    }
    last if $title;
}
0
27.01.2020, 20:07

В Linux (Debian )я используюgoogle-chrome URL(пример:google-chrome google.com). Откроется новая вкладка.

Введите google-chrome --helpдля более подробного описания.


Я нашел это для Mac (, но не пробовал команду ):chrome-cli open <url> -n.

Это зависит отhttps://github.com/prasmussen/chrome-cli

0
27.01.2020, 20:07

Моя вкладка Gmail закреплена и остается первой. Этот небольшой скрипт помогает мне

#!/bin/bash                                                                                                              

wmctrl -a $1                                                                                                             
xdotool search --onlyvisible --class $1 key Alt+1

./activate_mail.sh Chromium
./activate_mail.sh Firefox

Это работает в моей среде i3wm.

0
27.01.2020, 20:07

Да. В настоящее время я делаю это так:

1)вам нужно установить jq , чтобы возиться с данными вкладок, которые вы будете получать при вызове сценария открытых вкладок в хроме. также вам необходимо установить chrome -удаленный -интерфейс , чтобы активировать вкладки из фона -> переднего плана хрома.


2)хром должен работать с включенной удаленной отладкой. закройте все экземпляры хрома и запустите эту команду вместо chromiumв терминале, иначе этот процесс не будет работать:

/usr/bin/chromium --remote-debugging-port=9222 &


3)используйте этот базовый сценарий в качестве примера и сохраните его как act, chmod +xи поместите в каталог bin вашего пользователя. Например, я использую скрипт bash, его можно портировать, если вы пользователь zsh:

#!/usr/bin/env bash

TABS_JSON=$(chrome-remote-interface list | sed -e "s/^'//" -e "s/'$//" | jq -r 'map(select(.type == "page") | {id:.id, title:.title})')

if [[ -z $@ ]]; then
    TAB_NAMES=$(echo "$TABS_JSON" | jq -r 'map(.title) |.[]')

    echo "$TAB_NAMES"
else
    TAB=$*

    TAB_ID=$(echo "$TABS_JSON" | jq -r "map(select(.title | match(\"${TAB}\";\"i\")) |.id) |.[]")

        chrome-remote-interface activate "$TAB_ID" >/dev/null

    #you might need wmctrl if window does not activate. 
    #wmctrl -a chromium
fi

перейдите на cnn.com и пару других вкладок и оставьте cnn.com в фоновом режиме, переключитесь на терминал и попробуйте выполнить команду следующим образом:

act cnn

Должно активироваться окно Chrome и переключиться на вкладку cnn.Вы можете дополнительно интегрировать это с вашим меню rofi или вариантом fzf в свой рабочий процесс и даже добавить список открытых вкладок в глобальный пул активных окон.

7
27.01.2020, 20:07

Если вы просто хотите выполнить команду, вы можете нажать ctrl + Страница _Вниз несколько раз, чтобы просмотреть вкладки, пока не дойдете до нужной вкладки. с помощью команды xdotool key:

xdotool key "ctrl+Page_Down"

Это предполагает, что Google Chrome в данный момент находится в фокусе.


Вы также можете использовать ctrl + 1 , ctrl + 2 ..., ctrl +n для перехода на энную вкладку.

Например, если Gmail находится на 4-й вкладке, вы можете использовать следующую команду xdotool:

xdotool key "ctrl+4"

В качестве скрипта вы можете установить n-ю вкладку в качестве входной переменной:

#!/bin/bash
xdotool key "ctrl+$1"

Если скрипт называется tab, вы должны запустить следующее, чтобы переключиться на 6-ю вкладку

./tab 6

или, если вы хотите листать вкладки, вы можете вместо этого сделать следующее

./tab Page_Down

или

./tab Page_Up
0
20.07.2020, 00:05

Теги

Похожие вопросы