Commit 219ed6a0 authored by Jan Uhlík's avatar Jan Uhlík

wip

parent 3eacdb1d
Pipeline #120330876 failed with stage
in 40 seconds
......@@ -17,6 +17,10 @@ Used technology:
* link:https://github.com/asciidoctor/asciidoctor-reveal.js[Asciidoctor RevealJS]
* link:https://github.com/asciidoctor/docker-asciidoctor[Asciidoctor Docker Container]
Links:
* link:https://github.com/hakimel/reveal.js/issues/1662[RevealJS Issue with CDN notes.html]
== Latest articles
Tue Mar 26 14:14:26 NZDT 2019 <<czech/moving_to_sway/article#, Moving to Sway (czech)>>
......@@ -106,26 +106,31 @@ Sway je opravdu jen a pouze Wayland compositor, a proto je nutné doinstalovat s
=== link:https://github.com/swaywm/swaylock[`swaylock`] - Lock manager
Jak již název napovídá, _lock manager_ je nástroj starající se o uzamykání PC. Nic víc, nic míň. Přijemným zjištěním pro mě bylo, že na rozdíl od různých lock managerů pro i3, funguje bezproblémově i při uspávání PC. Dříve se totiž stávalo, že se PC po probuzení načetl a pak teprve uzavřel, takže bylo někdy krátce (někdy déle) vidět, na čem uživatel právě pracuje.
// tag::swaylock[]
[source]
.~/.config/sway/config
----
set $lock_command 'swaylock -f -i ~/pictures/milky_way.jpg'
----
// end::swaylock[]
[TIP]
====
Od doby prvního vydání uplynolu již mnoho času a tak se komunita uživatelů postarala o nemalé množství různých verzí. Za zníňku stojí například link:https://github.com/mortie/swaylock-effects[swaylock-effects], který umí zobrazovat čas na zamčené obrazovce nebo vždy před uzavřením PC udělat screenshot a provést rozmazání obrazu. Takto znetvořená fotka se pak použije jako pozadí pro uzamykací obrazovku.
// tag::swaylock-effects[]
[source]
.~/.config/sway/config
----
set $lock_command 'swaylock -f --screenshots --show-keyboard-layout --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 10x7'
----
// end::swaylock-effects[]
====
=== link:https://github.com/swaywm/swayidle[`swayidle`] - Idle manager
Chceme-li (a to vážně chceme), aby se PC automaticky při nečinnosti uzamklo, můžeme využívat `swayidle`. Konfigurace je ve skrze prostá:
// tag::swayidle[]
[source]
.~/.config/sway/config
----
......@@ -135,16 +140,19 @@ exec swayidle -w \
resume 'swaymsg "output * dpms on"' \
before-sleep $lock_command
----
// end::swayidle[]
[TIP]
====
`swayidle` uzavře PC i v případě, že je aktivní fullscreen mode. To může být (je) velmi otravné, obzvláště při sledování filmů a seriálů. Jedno z řešeních je pozdržet uzavření počítače pro určité aplikace v určitém módu, konkrétně:
// tag::swayidle-inhibit[]
[source]
.~/.config/sway/config
----
for_window [app_id="firefox"] inhibit_idle fullscreen
----
// end::swayidle-inhibit[]
Alternativně lze využít link:https://github.com/Alexays/Waybar/wiki/Module:-Idle-Inhibitor[Idle Inhibitor Module] lišty <<Waybar,Waybar>>.
====
......@@ -218,11 +226,13 @@ Pro správu systémové schránky z terminálu slouží utilita `wl-clipboard`.
=== link:https://github.com/emersion/grim[`grim`] - Screenshot capture
Na zachycení obrazovky slouží utilita `grim`. Toto může být jedno z jejích použití:
// tag::grim[]
[source]
.~/.config/sway/config
----
bindsym Print exec bash -c "grim \"/home/juhlik/Pictures/Screenshot-$(date +%s).png\""
----
// end::grim[]
[NOTE]
====
......@@ -241,26 +251,30 @@ Pokud je z nějakého důvodu (příkladem budiž seminář právě o Sway) toto
=== link:https://github.com/emersion/slurp[`slurp`] - Select a region
Nedílnou součástí `grim` a `wf-recorder` je pak `slurp`, který uživately dovolí zvolit geometrii zachycované obrazovky. Například:
// tag::slurp[]
[source,bash]
----
$ grim -g "$(slurp)" screenshot.png
----
// end::slurp[]
=== link:https://github.com/emersion/kanshi[`kanshi`] - Dynamic display configuration
Nástroj pro automatickou detekci připojeného monitoru. Syntaxe konfigurace je pak podobná jako pro `sway`. Soubor se při detekci změny prochází od shora dolů a aplikuje se první nastavení, které se shoduje s detekovanou konfigurací.
[source,config]
// tag::kanshi[]
[source]
.~/.config/kanshi/config
----
{
output "Chimei Innolux Corporation 0x14F2 0x00000000" position 3000,1520 mode 1920x1080 scale 1.1
output "Eizo Nanao Corporation EV2455 0x0000FF02" position 1080,1500 mode 1920x1200
output "Acer Technologies H223HQ LF70D0028500" position 0,1080 mode 1920x1080 transform 270
}
{
output eDP-1 mode 1920x1080 scale 1.1
}
----
// end::kanshi[]
=== link:https://github.com/emersion/mako[`mako`] - Notification daemon
`mako` je wayland alternativou k `dunst`. Je to jednoduchý notifikační daemon, který zobrazuje notifikace jednotlivých procesů. Jeho zpuštění je jednoduché:
......@@ -286,19 +300,23 @@ image::notification.png[title=Ukázka notifikace.]
====
Pro rychlé testování notifikací může posloužit příkaz `notify-send`:
// tag::mako[]
[source,bash]
----
$ notify-send HELP 'I need somebody'
----
// end::mako[]
====
=== link:https://git.sr.ht/~sircmpwn/wshowkeys[`wshowkeys`] - Displays keypresses on screen
Pro prezentační účely se jistě hodí utilita `wshowkeys`, která zobrazuje právě stisknuté znaky na display. Zatím se mi ale nepovedlo správě zprovoznit.
// tag::wshowkeys[]
[source,bash]
----
$ wshowkeys -t 1 -a bottom -a left
----
// end::wshowkeys[]
=== Application launcher
S application launcher je to na Sway složitější. Zatímco u i3 můžeme sáhnout po link:https://tools.suckless.org/dmenu/[dmenu] nebo link:https://github.com/davatorium/rofi[rofi], pokud chceme čistě Wayland řešení musíme si vypomoci link:https://github.com/junegunn/fzf[fzf]. Hotové řešení je k nalezení na link:https://gitlab.com/FlyingWombat/my-scripts/blob/master/sway-launcher[Michel/my-scripts] a jeho volání pak vypadá následovně.
......@@ -323,12 +341,14 @@ Zeptáte-li se 100 linuxáků na jejich používaný link:https://en.wikipedia.o
=== link:https://github.com/haikarainen/light[`light`] - Control for brightness
Pracujeme-li na laptopu, můžeme pro správu hladiny podsvícení využít nástroj `light`. Jeho použití je velmi snadné:
// tag::light[]
[source]
.~/.config/sway/config
----
bindsym XF86MonBrightnessDown exec light -U 5
bindsym XF86MonBrightnessUp exec light -A 5
----
// end::light[]
=== link:https://github.com/pulseaudio/pulseaudio[`pulseaudio`] a link:https://github.com/pulseaudio/pavucontrol[`pavucontrol`] - Sound manager
Jako link:https://en.wikipedia.org/wiki/Sound_server[sound server] můžeme využít například `pulseaudio`. Pro regulaci hlasitosti pak můžeme využít příkaz `pulsemixer --change-volume +5`, popřípadě `pulsemixer --toggle-mute`.
......@@ -423,11 +443,14 @@ Zde uvádím alespoň krátký výčet aplikací, které doposud nemají nativn
* Inskape
== Odkazy
// tag::links[]
* link:https://youtu.be/7e_bg8vUTfM[Petr Krčmář - Dlaždice na desktopu] - Vynikající seminář vysvětlující základní koncept dlaždicového window manager i3.
* link:https://github.com/swaywm/sway[Github sway] - Hlavní repozitář.
* link:https://drewdevault.com/[Blog DeVault] - Blog hlavního vývojáře.
* link:https://wiki.archlinux.org/index.php/Sway#HiDPI[Arch wiki] - Poměrně informačně řídké, avšak některé tipy a triky se můžou hodit.
* link:https://www.reddit.com/r/swaywm/[r/swaywm] - Velmi živá uživatelská komunita.
// end::links[]
== Závěr
Po několika letech čekání jsme se konečně dočkali první stabilní verze Sway. A i přes popsané problémy s HiDPI se jedná o funkčním a hlavně použitelnou alternativu k jiným uživatelským prostředím. Upřímně jsem byl až zaskočen, jak bezproblémový přechod to byl. Mnoho z výše popsaných aplikací stačí pouze nainstalovat a ony v základním nastavení dělají přesně to, co se od nich žádá. Na závěr si dovolím malou paralelu:
......
.reveal {
font-size: 32px;
}
.reveal section img {
margin: 15px 0px;
background: rgba(255, 255, 255, 0.12);
border: 0px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
= Title Slide
= Přechod na Sway (Moving to Sway)
Jan Uhlík <[email protected]>
:homapage: https://blog.uhlik.me
:imagesdir: images
:source-highlighter: rouge
:icons: font
:customcss: custom.css
:revealjs_theme: white
:revealjs_center: true
:revealjs_transition: none
:revealjs_slideNumber: c/t
== Slide One
== Grafické uživatelské rozhraní
* Foo
* Bar
* World
image::gui.svg[width=110%]
== Slide Two
== X11
A Great Story
image::x11.png[width=95%]
[.notes]
--
* tell anecdote
* make a point
--
== Wayland
image::wayland.png[width=50%]
== `swaylock`
include::article.adoc[tag=swaylock]
Alternativně lze použít fork `swaylock-effects`
include::article.adoc[tag=swaylock-effects]
== `swayidle`
include::article.adoc[tag=swayidle]
Pro pozastavení ve `fullscreen` módu pro `firefox`
include::article.adoc[tag=swayidle-inhibit]
== `swaybg`
* Nastavení pozadí plochy
== `waybar`
* Alternativní, modulární a široce konfigurovatelná lišta
* Konfigurace v adresář `~/.config/waybar/`
== `wl-clipboard`
* Správa systémové schránky z terminálů
* Nativní podpora ze strany NeoVim
[source, bash]
----
$ wl-copy < ~/.ssh/id_ed25519.pub
----
== `grim`, `wf-recorder`, `slurp`
include::article.adoc[tag=grim]
Dohromady potom
include::article.adoc[tag=slurp]
== `kanshi`
include::article.adoc[tag=kanshi]
== `mako`
* Notifikační daemon
include::article.adoc[tag=mako]
== `wshowkeys`
include::article.adoc[tag=wshowkeys]
== Ostatní nástroje
* `alacritty` - doporučený terminálový emulátor
* `light` - Ovládání podsvícení obrazovky
* `redshift` - Změna teploty obrazu v závislosti na denní době
include::article.adoc[tag=light]
== Odkazy
include::article.adoc[tag=links]
* link:http://blog.uhlik.me[blog.uhlik.me] - Tato prezentace
......@@ -44,11 +44,11 @@ for file in {czech,english}/*/presentation.adoc; do
adoc2revealjs "$file"
done
# Copy images
for dir in {czech,english}/*/images; do
# Copy static file
for dir in {czech,english}/*/{images,custom.css}; do
[ -d "$dir" ] || continue
echo -n Copying directory: \'"$dir"\'
echo -n Copying static file(s): \'"$dir"\'
cp -r "$dir" "public/$dir"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment