mirror of
https://github.com/swaywm/sway.git
synced 2026-02-07 04:06:44 -05:00
Merge branch 'master' into session-lock-input-fix
This commit is contained in:
commit
f4cbe3789d
35 changed files with 77 additions and 70 deletions
|
|
@ -29,12 +29,12 @@ sources:
|
|||
tasks:
|
||||
- wlroots: |
|
||||
cd wlroots
|
||||
meson --prefix=/usr build -Dexamples=false
|
||||
meson setup --prefix=/usr build -Dexamples=false
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
- setup: |
|
||||
cd sway
|
||||
meson build --fatal-meson-warnings -Dauto_features=enabled -Dtray=disabled
|
||||
meson setup build --fatal-meson-warnings -Dauto_features=enabled -Dtray=disabled
|
||||
- build: |
|
||||
cd sway
|
||||
ninja -C build
|
||||
|
|
@ -52,5 +52,5 @@ tasks:
|
|||
mkdir subprojects
|
||||
ln -s ../../wlroots subprojects/wlroots
|
||||
rm -rf build
|
||||
meson build --fatal-meson-warnings --default-library=static --force-fallback-for=wlroots
|
||||
meson setup build --fatal-meson-warnings --default-library=static --force-fallback-for=wlroots
|
||||
ninja -C build
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ sources:
|
|||
tasks:
|
||||
- wlroots: |
|
||||
cd wlroots
|
||||
meson --prefix=/usr build -Dexamples=false
|
||||
meson setup --prefix=/usr build -Dexamples=false
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
- setup: |
|
||||
cd sway
|
||||
meson build --fatal-meson-warnings -Dauto_features=enabled -Dsd-bus-provider=libsystemd
|
||||
meson setup build --fatal-meson-warnings -Dauto_features=enabled -Dsd-bus-provider=libsystemd
|
||||
- build: |
|
||||
cd sway
|
||||
ninja -C build
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ tasks:
|
|||
cd subprojects
|
||||
ln -s ../../wlroots wlroots
|
||||
cd ..
|
||||
meson build --fatal-meson-warnings -Dtray=enabled -Dsd-bus-provider=basu
|
||||
meson setup build --fatal-meson-warnings -Dtray=enabled -Dsd-bus-provider=basu
|
||||
- build: |
|
||||
cd sway
|
||||
ninja -C build
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ _\* Compile-time dep_
|
|||
|
||||
نفذ هذه الأوامر:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ _\* Kompilyasiya asılılıqları_
|
|||
|
||||
Bu əmrləri icra edin:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ _\* Závislost pouze pro kompilaci_
|
|||
|
||||
Spusťte tyto příkazy:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
37
README.de.md
37
README.de.md
|
|
@ -1,21 +1,21 @@
|
|||
# Sway
|
||||
Sway ist ein [i3](https://i3wm.org/)-kompatibler [Wayland](http://wayland.freedesktop.org/)-Compositor. Lies die [FAQ](https://github.com/swaywm/sway/wiki). Tritt dem [IRC Channel](https://web.libera.chat/gamja/?channels=#sway) bei (#sway on irc.libera.chat; Englisch).
|
||||
Sway ist ein [i3]-kompatibler [Wayland]-Compositor. Lies die [FAQ]. Tritt dem [IRC Channel] bei (#sway on irc.libera.chat; Englisch).
|
||||
|
||||
## Signaturen
|
||||
Jedes Release wird mit dem PGP-Schlüssel [E88F5E48](https://keys.openpgp.org/search?q=34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48) signiert und [auf GitHub](https://github.com/swaywm/sway/releases) veröffentlicht.
|
||||
Jeder Release wird mit dem PGP-Schlüssel [E88F5E48] signiert und [auf GitHub][GitHub releases] veröffentlicht.
|
||||
|
||||
## Installation
|
||||
|
||||
### Über die Paketverwaltung
|
||||
|
||||
Sway kann in vielen Distributionen direkt durch die Paketverwaltung installiert werden. Versuche einfach das Packet "sway" zu installieren.
|
||||
Sway kann in vielen Distributionen direkt durch die Paketverwaltung installiert werden. Versuche einfach das Paket "sway" zu installieren.
|
||||
|
||||
### Quellcode selbst kompilieren
|
||||
|
||||
sway benötigt die folgenden Pakete:
|
||||
|
||||
* meson\*
|
||||
* [wlroots](https://gitlab.freedesktop.org/wlroots/wlroots)
|
||||
* meson \*
|
||||
* [wlroots]
|
||||
* wayland
|
||||
* wayland-protocols\*
|
||||
* pcre2
|
||||
|
|
@ -23,21 +23,34 @@ sway benötigt die folgenden Pakete:
|
|||
* pango
|
||||
* cairo
|
||||
* gdk-pixbuf2 (Optional, wird für das Benachrichtigungsfeld (System Tray) benötigt)
|
||||
* [scdoc](https://git.sr.ht/~sircmpwn/scdoc) (Optional, wird für die Dokumentation (Man Pages) benötigt)\*
|
||||
* [swaybg] (Optional, wird für das Setzen von Desktophintergrundbildern benötigt)
|
||||
* [scdoc] (Optional, wird für die Dokumentation (Man Pages) benötigt)\*
|
||||
* git (Optional: Versionsinfo)\*
|
||||
|
||||
_\*Werden nur während des Kompilierens benötigt_
|
||||
_\*Werden nur für das Kompilieren benötigt_
|
||||
|
||||
Führe die folgenden Befehle aus:
|
||||
|
||||
meson build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
Schaue in das [Wiki][Development setup] (Englisch) für Informationen, falls du zum Testen oder Entwickeln den neuesten Stand (HEAD) von sway und wlroots kompilieren willst.
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Falls du von i3 migrierst, kannst du deine Konfigurationsdatei nach `~/.config/sway/config` kopieren und die Einstellungen sollten ohne Weiteres funktionieren. Ansonsten kannst du die Beispielkonfiguration, die normalerweise in `/etc/sway/config` liegt, nach `~/.config/sway/config` kopieren. Die Dokumentation zur Konfigurationsdatei findest du in `man 5 sway`.
|
||||
|
||||
## Sway starten
|
||||
Sway kann einfach mit dem Befehl `sway` vom TTY gestartet werden.
|
||||
Display-Manager werden nicht offiziell unterstützt. Es gibt aber durchaus einige, die mit Sway funktionieren (z.B. gdm).
|
||||
Sway kann einfach mit dem Befehl `sway` vom TTY oder mithilfe eines Displaymanagers gestartet werden.
|
||||
|
||||
[i3]: https://i3wm.org/
|
||||
[Wayland]: http://wayland.freedesktop.org/
|
||||
[FAQ]: https://github.com/swaywm/sway/wiki
|
||||
[IRC channel]: https://web.libera.chat/gamja/?channels=#sway
|
||||
[E88F5E48]: https://keys.openpgp.org/search?q=34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48
|
||||
[GitHub releases]: https://github.com/swaywm/sway/releases
|
||||
[Development setup]: https://github.com/swaywm/sway/wiki/Development-Setup
|
||||
[wlroots]: https://gitlab.freedesktop.org/wlroots/wlroots
|
||||
[swaybg]: https://github.com/swaywm/swaybg
|
||||
[scdoc]: https://git.sr.ht/~sircmpwn/scdoc
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ _\*Kompileringsafhængighed_
|
|||
|
||||
Kør følgende kommandoer:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\*Compile-time dep_
|
|||
|
||||
Desde su consola, ejecute las órdenes:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ _\* Requis uniquement pour la compilation_
|
|||
|
||||
Exécutez ces commandes :
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ _\* Compile-time dep_
|
|||
|
||||
გაუშვით ეს ბრძანებები:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\*Compile-time dep_
|
|||
|
||||
Τρέξτε αυτά τα commands:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ _\* Compilation के समय आवश्यक_
|
|||
|
||||
ये commands चलाएं:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\*Fordításidejű függőség_
|
|||
|
||||
Futtasd ezeket a parancsokat:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ _\*نیازمندیهای زمان کامپایل برنامه_
|
|||
|
||||
این فرمانها را اجرا کنید:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# sway
|
||||
|
||||
sway è un compositore di [Wayland] compatibile con [i3]. Leggi le [FAQ].
|
||||
Unisciti al [canale di IRC] \(#sway su irc.libera.chat).
|
||||
Unisciti al [canale IRC] \(#sway su irc.libera.chat).
|
||||
|
||||
## Firma delle versioni
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ _\* Dipendenza necessaria per la compilazione_
|
|||
|
||||
Esegui questi comandi:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
@ -52,13 +52,12 @@ configurazione.
|
|||
|
||||
## Esecuzione
|
||||
|
||||
Lancia `sway` da un TTY. Alcuni gestori d'accesso potrebbero funzionare ma non
|
||||
sono supportati da sway (gdm funziona abbastanza bene).
|
||||
Lancia `sway` da un TTY o da un display manager.
|
||||
|
||||
[i3]: https://i3wm.org/
|
||||
[Wayland]: http://wayland.freedesktop.org/
|
||||
[FAQ]: https://github.com/swaywm/sway/wiki
|
||||
[canale di IRC]: https://web.libera.chat/gamja/?channels=#sway
|
||||
[canale IRC]: https://web.libera.chat/gamja/?channels=#sway
|
||||
[E88F5E48]: https://keys.openpgp.org/search?q=34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48
|
||||
[GitHub releases]: https://github.com/swaywm/sway/releases
|
||||
[Development setup]: https://github.com/swaywm/sway/wiki/Development-Setup
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ _\*コンパイル時の依存_
|
|||
|
||||
次のコマンドを実行してください:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ _\*컴파일 떄 필요_
|
|||
|
||||
다음 명령을 실행하세요:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\* Compile-time dep_
|
|||
|
||||
Run these commands:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\* Compileerafhankelijkheden_
|
|||
|
||||
Voer deze opdrachten uit:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ _\* Kompileringsavhengigheter_
|
|||
|
||||
Kjør følgende kommandoer:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\*zależności kompilacji_
|
|||
|
||||
Wykonaj następujące polecenia:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ _\*Dependência de tempo de compilação_
|
|||
|
||||
Execute esses comandos:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ Dependențe pentru instalare:
|
|||
Rulați aceste comenzi:
|
||||
|
||||
```
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
```
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ _\*Зависимости для сборки_
|
|||
|
||||
Выполните эти команды:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ _\* Потребно само за компајлирање_
|
|||
|
||||
Покрените следеће команде:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ _\* Krav för kompilering_
|
|||
|
||||
Kör dessa kommandon:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ _\*Derleme-anı bağımlılıkları_
|
|||
|
||||
Şu komutları çalıştırın:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ _\*Лише для компіляції_
|
|||
|
||||
Виконайте ці команди:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ _\*编译时依赖_
|
|||
|
||||
运行如下命令:
|
||||
|
||||
meson build/
|
||||
meson setup build/
|
||||
ninja -C build/
|
||||
sudo ninja -C build/ install
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ _\*編譯時相依_
|
|||
|
||||
執行這些指令:
|
||||
|
||||
meson build
|
||||
meson setup build
|
||||
ninja -C build
|
||||
sudo ninja -C build install
|
||||
|
||||
|
|
|
|||
|
|
@ -578,6 +578,7 @@ static void handle_tablet_tool_position(struct sway_cursor *cursor,
|
|||
} else {
|
||||
wlr_tablet_v2_tablet_tool_notify_proximity_out(tool->tablet_v2_tool);
|
||||
pointer_motion(cursor, time_msec, input_device->wlr_device, dx, dy, dx, dy);
|
||||
wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,23 +42,21 @@ static void handle_im_commit(struct wl_listener *listener, void *data) {
|
|||
if (!text_input) {
|
||||
return;
|
||||
}
|
||||
struct wlr_input_method_v2 *context = data;
|
||||
assert(context == relay->input_method);
|
||||
if (context->current.preedit.text) {
|
||||
if (relay->input_method->current.preedit.text) {
|
||||
wlr_text_input_v3_send_preedit_string(text_input->input,
|
||||
context->current.preedit.text,
|
||||
context->current.preedit.cursor_begin,
|
||||
context->current.preedit.cursor_end);
|
||||
relay->input_method->current.preedit.text,
|
||||
relay->input_method->current.preedit.cursor_begin,
|
||||
relay->input_method->current.preedit.cursor_end);
|
||||
}
|
||||
if (context->current.commit_text) {
|
||||
if (relay->input_method->current.commit_text) {
|
||||
wlr_text_input_v3_send_commit_string(text_input->input,
|
||||
context->current.commit_text);
|
||||
relay->input_method->current.commit_text);
|
||||
}
|
||||
if (context->current.delete.before_length
|
||||
|| context->current.delete.after_length) {
|
||||
if (relay->input_method->current.delete.before_length
|
||||
|| relay->input_method->current.delete.after_length) {
|
||||
wlr_text_input_v3_send_delete_surrounding_text(text_input->input,
|
||||
context->current.delete.before_length,
|
||||
context->current.delete.after_length);
|
||||
relay->input_method->current.delete.before_length,
|
||||
relay->input_method->current.delete.after_length);
|
||||
}
|
||||
wlr_text_input_v3_send_done(text_input->input);
|
||||
}
|
||||
|
|
@ -66,7 +64,7 @@ static void handle_im_commit(struct wl_listener *listener, void *data) {
|
|||
static void handle_im_keyboard_grab_destroy(struct wl_listener *listener, void *data) {
|
||||
struct sway_input_method_relay *relay = wl_container_of(listener, relay,
|
||||
input_method_keyboard_grab_destroy);
|
||||
struct wlr_input_method_keyboard_grab_v2 *keyboard_grab = data;
|
||||
struct wlr_input_method_keyboard_grab_v2 *keyboard_grab = relay->input_method->keyboard_grab;
|
||||
struct wlr_seat *wlr_seat = keyboard_grab->input_method->seat;
|
||||
wl_list_remove(&relay->input_method_keyboard_grab_destroy.link);
|
||||
|
||||
|
|
@ -110,8 +108,6 @@ static void text_input_set_pending_focused_surface(
|
|||
static void handle_im_destroy(struct wl_listener *listener, void *data) {
|
||||
struct sway_input_method_relay *relay = wl_container_of(listener, relay,
|
||||
input_method_destroy);
|
||||
struct wlr_input_method_v2 *context = data;
|
||||
assert(context == relay->input_method);
|
||||
wl_list_remove(&relay->input_method_commit.link);
|
||||
wl_list_remove(&relay->input_method_grab_keyboard.link);
|
||||
wl_list_remove(&relay->input_method_destroy.link);
|
||||
|
|
@ -322,8 +318,6 @@ static void handle_pending_focused_surface_destroy(struct wl_listener *listener,
|
|||
void *data) {
|
||||
struct sway_text_input *text_input = wl_container_of(listener, text_input,
|
||||
pending_focused_surface_destroy);
|
||||
struct wlr_surface *surface = data;
|
||||
assert(text_input->pending_focused_surface == surface);
|
||||
text_input->pending_focused_surface = NULL;
|
||||
wl_list_remove(&text_input->pending_focused_surface_destroy.link);
|
||||
wl_list_init(&text_input->pending_focused_surface_destroy.link);
|
||||
|
|
|
|||
|
|
@ -467,7 +467,8 @@ bool server_init(struct sway_server *server) {
|
|||
WP_COLOR_MANAGER_V1_PRIMARIES_SRGB,
|
||||
WP_COLOR_MANAGER_V1_PRIMARIES_BT2020,
|
||||
};
|
||||
wlr_color_manager_v1_create(server->wl_display, 1, &(struct wlr_color_manager_v1_options){
|
||||
struct wlr_color_manager_v1 *cm = wlr_color_manager_v1_create(
|
||||
server->wl_display, 1, &(struct wlr_color_manager_v1_options){
|
||||
.features = {
|
||||
.parametric = true,
|
||||
.set_mastering_display_primaries = true,
|
||||
|
|
@ -479,6 +480,7 @@ bool server_init(struct sway_server *server) {
|
|||
.primaries = primaries,
|
||||
.primaries_len = sizeof(primaries) / sizeof(primaries[0]),
|
||||
});
|
||||
wlr_scene_set_color_manager_v1(root->root_scene, cm);
|
||||
}
|
||||
|
||||
wl_list_init(&server->pending_launcher_ctxs);
|
||||
|
|
|
|||
|
|
@ -214,9 +214,7 @@ void root_scratchpad_hide(struct sway_container *con) {
|
|||
struct sway_node *focus = seat_get_focus_inactive(seat, &root->node);
|
||||
struct sway_workspace *ws = con->pending.workspace;
|
||||
|
||||
if (con->pending.fullscreen_mode == FULLSCREEN_GLOBAL && !con->pending.workspace) {
|
||||
// If the container was made fullscreen global while in the scratchpad,
|
||||
// it should be shown until fullscreen has been disabled
|
||||
if (!con->pending.workspace) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue