Merge branch 'ninavizz-patch-1'

This commit is contained in:
Andrew David Wong 2021-06-20 19:12:10 -07:00
commit dfc5918f01
No known key found for this signature in database
GPG Key ID: 8CE137352A019A17
2 changed files with 23 additions and 19 deletions

View File

@ -1,11 +1,12 @@
--- ---
lang: en lang: en
layout: doc layout: doc
permalink: /doc/awesome/ permalink: /doc/awesomewm/
redirect_from: redirect_from:
- /doc/awesome/
- /en/doc/awesome/ - /en/doc/awesome/
ref: 179 ref: 179
title: awesome (window manager) title: AwesomeWM (window manager)
--- ---
@ -17,17 +18,17 @@ title: awesome (window manager)
## Installation ## Installation
awesome can be installed with the standard dom0 installation mechanisms. AwesomeWM can be installed with the standard dom0 installation mechanisms.
```shell_session ```shell_session
$ sudo qubes-dom0-update awesome $ sudo qubes-dom0-update awesome
``` ```
That's it. After logging out, you can select awesome in the login manager. That's it. After logging out, you can select AwesomeWM in the login manager.
## Development ## Development
To [contribute code](/doc/contributing/) you may clone the awesome repository as follows: To [contribute code](/doc/contributing/) you may clone the AwesomeWM repository as follows:
```shell_session ```shell_session
$ git clone https://github.com/QubesOS/qubes-desktop-linux-awesome $ git clone https://github.com/QubesOS/qubes-desktop-linux-awesome
@ -39,17 +40,17 @@ The repository attempts to follow the upstream Fedora repository.
## Common customizations ## Common customizations
This section focuses on Qubes-specific customizations. For generic awesome customizations you might want to have a look at the [awesome website](https://awesomewm.org). This section focuses on Qubes-specific customizations. For generic AwesomeWM customizations you might want to have a look at the [AwesomeWM website](https://awesomewm.org).
Customizations for awesome are usually done at `~/.config/awesome/rc.lua`. The default file can be found at `/etc/xdg/awesome/rc.lua`. Customizations for AwesomeWM are usually done at `~/.config/awesome/rc.lua`. The default file can be found at `/etc/xdg/awesome/rc.lua`.
### Application menu ### Application menu
Starting from Qubes 4.0 application menu entries specific to awesome can be put into `~/.config/awesome/xdg-menu/` following the freedesktop standard. The folder might have to be created. Starting from Qubes 4.0 application menu entries specific to AwesomeWM can be put into `~/.config/awesome/xdg-menu/` following the freedesktop standard. The folder might have to be created.
### Focus steal hardening ### Focus steal hardening
The default Qubes OS awesome installation comes with the defaults set by the awesome developers for focus changes. Some users may want more tight control over window focus changes - especially since focus changes can have security implications when sensitive data is provided to an incorrect application or even qube. The default Qubes OS AwesomeWM installation comes with the defaults set by the AwesomeWM developers for focus changes. Some users may want more tight control over window focus changes - especially since focus changes can have security implications when sensitive data is provided to an incorrect application or even qube.
#### Definition #### Definition
@ -79,13 +80,13 @@ Users may want to adjust their definitions and respective implementations accord
#### Implementation #### Implementation
The implementation may be specific to the awesome version you're running. This guide refers to awesome version 3.5.9 which is available to Qubes 4.0 users. The implementation may be specific to the AwesomeWM version you're running. This guide refers to AwesomeWM version 3.5.9 which is available to Qubes 4.0 users.
Please keep in mind that this guide may not be conclusive. Your mileage may vary. Please keep in mind that this guide may not be conclusive. Your mileage may vary.
##### Change the autofocus implementation ##### Change the autofocus implementation
The line `require("awful.autofocus")` in your _rc.lua_ implements various focus-related features for your awesome instance. The line `require("awful.autofocus")` in your _rc.lua_ implements various focus-related features for your AwesomeWM instance.
In order to customise these, you can copy the file `/usr/share/awesome/lib/awful/autofocus.lua` to e.g. `~/.config/awesome/autofocus_custom.lua` and replace the line above with `require("autofocus_custom")`. In order to customise these, you can copy the file `/usr/share/awesome/lib/awful/autofocus.lua` to e.g. `~/.config/awesome/autofocus_custom.lua` and replace the line above with `require("autofocus_custom")`.
@ -130,7 +131,7 @@ end
function clear_focus() function clear_focus()
--unfortunately this doesn't work at the moment --unfortunately this doesn't work at the moment
--cf. https://github.com/awesomeWM/awesome/issues/164 --cf. https://github.com/awesomeWM/awesome/issues/164
--(Qubes uses an older awesome version that doesn't have the fix yet) --(Qubes uses an older AwesomeWM version that doesn't have the fix yet)
--client.focus = nil --client.focus = nil
end end
@ -177,9 +178,9 @@ These enable _sloppy focus_ aka focus changes on mouse movements (without clicki
##### Ignore requests from applications to the window manager ##### Ignore requests from applications to the window manager
Handling of such requests is currently mostly implemented by awesome in the file `/usr/share/awesome/lib/awful/ewmh.lua`. You can either comment out the respective `client.connect_singal()` lines in that file (it will change back after each awesome update though) or disconnect the signals in your _rc.lua_. Handling of such requests is currently mostly implemented by AwesomeWM in the file `/usr/share/awesome/lib/awful/ewmh.lua`. You can either comment out the respective `client.connect_singal()` lines in that file (it will change back after each AwesomeWM update though) or disconnect the signals in your _rc.lua_.
As of awesome 3.5.9 this however is apparently only possible for signals connected to global functions, i.e. currently only the below signals can be disconnected in the _rc.lua_: As of AwesomeWM 3.5.9 this however is apparently only possible for signals connected to global functions, i.e. currently only the below signals can be disconnected in the _rc.lua_:
```lua ```lua
local ewmh = require("awful.ewmh") local ewmh = require("awful.ewmh")
@ -188,4 +189,4 @@ client.disconnect_signal("request::activate", ewmh.activate)
client.disconnect_signal("request::tag", ewmh.tag) client.disconnect_signal("request::tag", ewmh.tag)
``` ```
The signal names may change across awesome versions. The signal names may change across AwesomeWM versions.

View File

@ -95,8 +95,8 @@ all the same color --- or all different colors. It's entirely up to you.
On operating systems like Windows and macOS, the desktop environment is On operating systems like Windows and macOS, the desktop environment is
unchangeable and part of that operating system. With Linux, any of a number of unchangeable and part of that operating system. With Linux, any of a number of
desktop environments are an option. Qubes OS is installed with XFCE as its desktop environments are an option. Qubes OS is installed with XFCE as its
default desktop environment, but it also supports KDE, as well as the i3 and default desktop environment, but it also supports [KDE](/doc/kde/), as well as
awesome window managers. the window managers [i3](/doc/i3/) and [AwesomeWM](/doc/awesomewm/).
[![r4.0-taskbar.png](/attachment/doc/r4.0-taskbar.png)](/attachment/doc/r4.0-taskbar.png) [![r4.0-taskbar.png](/attachment/doc/r4.0-taskbar.png)](/attachment/doc/r4.0-taskbar.png)
@ -116,7 +116,7 @@ component areas:
To learn more about how to customize your desktop environment, we recommend you To learn more about how to customize your desktop environment, we recommend you
spend some time going through [XFCE's documentation](https://docs.xfce.org/). spend some time going through [XFCE's documentation](https://docs.xfce.org/).
There are several Tray widgets that are custom to Qubes OS: There are several Tray widgets that are unique to Qubes OS:
- The **Qubes Domains** widget allows you to manage running qubes, turn them - The **Qubes Domains** widget allows you to manage running qubes, turn them
on and off, and monitor memory usage. on and off, and monitor memory usage.
@ -125,8 +125,11 @@ There are several Tray widgets that are custom to Qubes OS:
- The **Qubes Disk Space Monitor** will notify you if you're ever running out - The **Qubes Disk Space Monitor** will notify you if you're ever running out
of disk space. of disk space.
- The **Qubes Update** tool will inform you when updates are available. - The **Qubes Update** tool will inform you when updates are available.
- The **Whonix SDWDate** widget surfaces and tracks functionality unique to
the [Whonix project's integration with Qubes
OS](https://www.whonix.org/wiki/Qubes).
[![q40_widgets.png](/attachment/doc/r4.0-q40_widgets.png)](/attachment/doc/r4.0-q40_widgets.png) [![r4.0-widgets.png](/attachment/doc/r4.0-widgets.png)](/attachment/doc/r4.0-widgets.png)
To see all of your qubes at the same time, you can use the **Qube Manager** (go To see all of your qubes at the same time, you can use the **Qube Manager** (go
to the App Menu → System Tools → Qube Manager), which displays the states of to the App Menu → System Tools → Qube Manager), which displays the states of