Окна каскадом
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 2847
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 11
- Откуда: Новосибирск
- Благодарил (а): 1079 раз
- Поблагодарили: 467 раз
- Контактная информация:
Окна каскадом
Можно ли сделать окна каскадом в Linux Mint? Как, например, в винде? Много гуглил, но нигде толком не нашёл.
Решение
Перейти к ответу ➙
hellonet, Тогда немножко распишу чтоб при желании можно было поправить под свои нужды Я ж его не пилил, а так, для демонстрации возможностей набросал...
Исходя из этого, по пунктам:
Как-то вот так, например:
Код: Выделить всё
Xvar=0; # исходная позиция по оси X (0 - левый верхний угол экрана)
Yvar=0; # исходная позиция по оси Y
for i in $(wmctrl -l | grep ' 0 '| awk '{print $1}'); do # Начало цикла прохода по списку окон, их отдаст wmctrl -l
wmctrl -i -r $i -e 0,$Xvar,$Yvar,600,600; # Перемещение окна на позицию X Y с размером 600х600 px
Yvar=$(($Yvar + 50)); # Здесь задается смещение для следующего окна на 50 пикселей Y - вниз, Х - вправо
Xvar=$(($Xvar + 50));
done
600,600 меняем на необходимые цифры
Подгоняем Xvar и Yvar под размер заголовков и нужные отступы
тут значит стоит инвертировать список окон в циклt ( может с
sort -r
к wmctrl -l
)Как-то вот так, например:
Код: Выделить всё
Xvar=50;Yvar=50;for i in $(wmctrl -l | grep ' 0 '| awk '{print $1}' | sort -r ); do wmctrl -i -a $i;wmctrl -i -r $i -e 0,$Xvar,$Yvar,800,500;Yvar=$(($Yvar + 20));Xvar=$(($Xvar + 30)); done
Перейти к ответу ➙
-
- Сообщения: 928
- Зарегистрирован: 31 авг 2016, 13:38
- Решено: 34
- Благодарил (а): 288 раз
- Поблагодарили: 249 раз
- Контактная информация:
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: Окна каскадом
Искаропки вроде не встречал нигде Как и за полтора десятка лет никогда не нажимал эту кнопку в винде Разве что пару раз из любопытства
А мог бы стать нормальным человеком...
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3007 раз
- Контактная информация:
Re: Окна каскадом
Ну, подобного эффекта можно добиться где угодно.
Для примера сейчас набросал такой однострочник (если кому нужно - разжую что за магия там происходит ):
И Вот его результаты:
До После Все окна выстроены по позициям и приведены к единому размеру.
Дальше можно доработать его управляя активностью окон, учитывая развернутые или нет и т.д. - вариантов для полета мысли немало.
Ну и для исполнения привязать к хоткею или кнопке на экране, при желании.
Для примера сейчас набросал такой однострочник (если кому нужно - разжую что за магия там происходит ):
Код: Выделить всё
Xvar=0;Yvar=0;for i in $(wmctrl -l | grep ' 0 '| awk '{print $1}'); do echo $i; echo " ";wmctrl -i -r $i -e 0,$Xvar,$Yvar,600,600;Yvar=$(($Yvar + 50));Xvar=$(($Xvar + 50));echo $Yvar; done
До После Все окна выстроены по позициям и приведены к единому размеру.
Дальше можно доработать его управляя активностью окон, учитывая развернутые или нет и т.д. - вариантов для полета мысли немало.
Ну и для исполнения привязать к хоткею или кнопке на экране, при желании.
-
Автор темы - Сообщения: 2847
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 11
- Откуда: Новосибирск
- Благодарил (а): 1079 раз
- Поблагодарили: 467 раз
- Контактная информация:
Re: Окна каскадом
Грубовато конечно, но видимо если поиграть с настройками можно улучшить. И прямоугольные окна получше смотрятся, чем квадратные и достаточно сдвига вниз и в право примерно на полсантиметра - чтобы название окна сверху только было видно и чуть-чуть содержимого самого окна.Хотелось бы примерно так, чтобы ближнее окно было правее и ниже, а дальнее наоборот левее и выше и тогда все названия окон видать, а у вас всё загорожено одним окном. Неинформативно. см. фото(выстраивал вручную):
-
Автор темы - Сообщения: 2847
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 11
- Откуда: Новосибирск
- Благодарил (а): 1079 раз
- Поблагодарили: 467 раз
- Контактная информация:
Re: Окна каскадом
Новичок. :-). Просто работаю практически одновременно на 2-х осях - 10 винде и LM. Трудно перестраиваться. В винде скриншот делается пайнтом с обрезкой лишнего за 5 секунд.
Да не не лайф, установлена. В LM скрин делается сразу с 2-х моников и обрезать не знаю чем.
Типа вот как на скрине с винды, но без обрезки. [spoiler][/spoiler]
Проще получилось сфотать.
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3007 раз
- Контактная информация:
Re: Окна каскадом
hellonet, Тогда немножко распишу чтоб при желании можно было поправить под свои нужды Я ж его не пилил, а так, для демонстрации возможностей набросал...
Исходя из этого, по пунктам:
Как-то вот так, например:
Код: Выделить всё
Xvar=0; # исходная позиция по оси X (0 - левый верхний угол экрана)
Yvar=0; # исходная позиция по оси Y
for i in $(wmctrl -l | grep ' 0 '| awk '{print $1}'); do # Начало цикла прохода по списку окон, их отдаст wmctrl -l
wmctrl -i -r $i -e 0,$Xvar,$Yvar,600,600; # Перемещение окна на позицию X Y с размером 600х600 px
Yvar=$(($Yvar + 50)); # Здесь задается смещение для следующего окна на 50 пикселей Y - вниз, Х - вправо
Xvar=$(($Xvar + 50));
done
600,600 меняем на необходимые цифры
Подгоняем Xvar и Yvar под размер заголовков и нужные отступы
тут значит стоит инвертировать список окон в циклt ( может с
sort -r
к wmctrl -l
)Как-то вот так, например:
Код: Выделить всё
Xvar=50;Yvar=50;for i in $(wmctrl -l | grep ' 0 '| awk '{print $1}' | sort -r ); do wmctrl -i -a $i;wmctrl -i -r $i -e 0,$Xvar,$Yvar,800,500;Yvar=$(($Yvar + 20));Xvar=$(($Xvar + 30)); done
-
Автор темы - Сообщения: 2847
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 11
- Откуда: Новосибирск
- Благодарил (а): 1079 раз
- Поблагодарили: 467 раз
- Контактная информация:
Re: Окна каскадом
Вообще отлично получилось. Ещё бы кнопочку для этого однострочника на панель задач или хотя бы на рабочий стол! Никак? А то в терминале каждый раз запускать неудобно. Не поможете?
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: Окна каскадом
1 - сохраните это в файл например sort.sh
2 - дайте ему права на выполнение например командой chmod 755 sort.sh
3 - любым способом добавьте на панель или раб. стол (например в циннамон достаточно нажать на кнопках быстрого запуска правую кнопку, затем "добавить" и в выскочившем окне указать имя, файл, иконку)
2 - дайте ему права на выполнение например командой chmod 755 sort.sh
3 - любым способом добавьте на панель или раб. стол (например в циннамон достаточно нажать на кнопках быстрого запуска правую кнопку, затем "добавить" и в выскочившем окне указать имя, файл, иконку)
А мог бы стать нормальным человеком...
-
Автор темы - Сообщения: 2847
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 11
- Откуда: Новосибирск
- Благодарил (а): 1079 раз
- Поблагодарили: 467 раз
- Контактная информация:
Re: Окна каскадом
Просто тупо перетащил созданный файл мышкой на панель задач. Образовалась кнопка запуска. Всё заработало. Огромное спасибо Chocobo и zuzabrik.
-
- Сообщения: 928
- Зарегистрирован: 31 авг 2016, 13:38
- Решено: 34
- Благодарил (а): 288 раз
- Поблагодарили: 249 раз
- Контактная информация:
Re: Окна каскадом
Кстати, в Windows 7 все окна (не свернутые в окна) открываются каскадом по умолчанию. Этого можно добиться в LM?
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3007 раз
- Контактная информация:
Re: Окна каскадом
Bill Williamson, скриптованием или встраиванием в функциональность окружения (если оно модульное) можно добиться многого.
Но надо уже глубже интегрироваться с определенным DE, чтоб например перехватить вызов действия по которому необходимо что-то сделать с окошками. и простой однострочник обрастет десятками условий и костылей
Большой красивой и универсальной кнопки "сделать хорошо" - еще никто не придумал, в почти каждом окружении есть свои модули или расширения на тот или иной функционал.
А если нужного вдруг не оказалось - можно смело браться за напильник, в том случае, когда необходимость покрывает предстоящие трудозатраты
Но надо уже глубже интегрироваться с определенным DE, чтоб например перехватить вызов действия по которому необходимо что-то сделать с окошками. и простой однострочник обрастет десятками условий и костылей
Большой красивой и универсальной кнопки "сделать хорошо" - еще никто не придумал, в почти каждом окружении есть свои модули или расширения на тот или иной функционал.
А если нужного вдруг не оказалось - можно смело браться за напильник, в том случае, когда необходимость покрывает предстоящие трудозатраты
-
Автор темы - Сообщения: 2847
- Зарегистрирован: 11 окт 2016, 12:58
- Решено: 11
- Откуда: Новосибирск
- Благодарил (а): 1079 раз
- Поблагодарили: 467 раз
- Контактная информация:
Re: Окна каскадом
Вопрос решился установкой пакета Shutter. Отличная штука.
Да собственно и не нужно. Даже если на экране ералаш из окон скрипт Chocobo всё расставляет по местам. Отличная вещь (с радостью повторюсь).
-
- Сообщения: 6875
- Зарегистрирован: 27 авг 2016, 20:03
- Решено: 30
- Откуда: Voskresensk
- Благодарил (а): 1310 раз
- Поблагодарили: 724 раза
- Контактная информация:
Re: Окна каскадом
1 - зачем каскад когда есть панель задач?
2 - в кедах есть замечательная вещь - левый верхний угол. Все окна показывает и не каскадом, а лучше - выбирай.
3 - для еще бОльшего удобства на панели задач можно сделать only иконки (KDE, xfce) вполне позволяют. Остальное - не от мира сего. имхо. Хотя сам в крысе разочаровался. С другой стороны такое наблюдалось только у меня. Да и вообще это не по теме уже ) По сабжу всё сказал.
2 - в кедах есть замечательная вещь - левый верхний угол. Все окна показывает и не каскадом, а лучше - выбирай.
3 - для еще бОльшего удобства на панели задач можно сделать only иконки (KDE, xfce) вполне позволяют. Остальное - не от мира сего. имхо. Хотя сам в крысе разочаровался. С другой стороны такое наблюдалось только у меня. Да и вообще это не по теме уже ) По сабжу всё сказал.
Кто сейчас на конференции
Сейчас этот форум просматривают: Yandex [Bot] и 1 гость