This commit is contained in:
JMARyA 2023-12-07 06:52:46 +01:00
parent 8bc0b6a51b
commit 237b3aed3b
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
2 changed files with 129 additions and 7 deletions

View file

@ -5,7 +5,6 @@ repo: https://github.com/hyprwm/Hyprland
arch-wiki: https://wiki.archlinux.org/title/Hyprland
---
# hyprland
#wip
A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks.
![Screenshot][Screenshot]
@ -508,8 +507,8 @@ windowrule=RULE,WINDOW
- `RULE` is a [rule](https://wiki.hyprland.org/Configuring/Window-Rules/#rules) (and a param if applicable)
- `WINDOW` is a [RegEx](https://en.wikipedia.org/wiki/Regular_expression), either:
- plain RegEx (for matching a window class);
- `title:` followed by a regex (for matching a windows title)
- plain [RegEx](../../tools/Regex.md) (for matching a window class);
- `title:` followed by a [regex](../../tools/Regex.md) (for matching a windows title)
#### Rules
| Rule | Description | Dynamic |
@ -605,8 +604,96 @@ To check if `hyprctl` is installed, simply execute it by issuing `hyprctl` i
If its not, go to the repo root and `/hyprctl`. Issue a `make all` and then `sudo cp ./hyprctl /usr/bin`.
#### Commands
#todo
#### Dispatch
issue a `dispatch` to call a keybind dispatcher with an arg.
An arg has to be present, for dispatchers without parameters it can be anything.
To pass an argument starting with `-` or `--`, such as command line options to `exec` programs, pass `--` as an option. This will disable any subsequent parsing of options by _hyprctl_.
Examples:
```sh
hyprctl dispatch exec kitty
hyprctl dispatch -- exec kitty --single-instance
hyprctl dispatch pseudo x
```
Returns: `ok` on success, an error message on fail.
#### Keyword
issue a `keyword` to call a config keyword dynamically.
Examples:
```sh
hyprctl keyword bind SUPER,O,pseudo
hyprctl keyword general:border_size 10
hyprctl keyword monitor DP-3,1920x1080@144,0x0,1
```
Returns: `ok` on success, an error message on fail.
#### Reload
issue a `reload` to force reload the config.
#### output
Allows you to add and remove fake outputs to your preferred backend.
params: `create` or `remove` and `backend` or `name` respectively.
For _create_:
pass a backend name: `wayland`, `x11`, `headless` or `auto`. On a _real_ hyprland session, if youre looking for a VNC / RDP type thing, its 99% going to be `headless`.
For _remove_:
pass the outputs name, as found in `hyprctl monitors`. Please be aware you are _not_ allowed to remove real displays with this command.
e.g.:
```shell
# will create a 1920x1080 headless display, for example to use with RDP.
hyprctl output create headless
# will remove the above display, provided its name was HEADLESS-1
hyprctl output remove HEADLESS-1
```
#### Info
These commands let you gather information about your Hyprland session. Hyprctl can output [JSON](../../files/JSON.md) with the `-j` flag.
| Command | Description |
| ------------------- | -------------------------------------------------------------------------------------------- |
| version | prints the hyprland version, meaning flags, commit and branch of build |
| monitors | lists active outputs with their properties, `monitors all` lists active and inactive outputs |
| workspaces | lists all workspaces with their properties |
| activeworkspace | gets the active workspace and its properties |
| workspacerules | gets the list of defined workspace rules |
| clients | lists all windows with their properties |
| devices | lists all connected keyboards and mice |
| binds | lists all registered binds |
| activewindow | gets the active window name and its properties |
| layers | lists all the layers |
| splash | prints the current random splash |
| getoption \[option] | gets the config option status (values) |
| cursorpos | gets the current cursor pos in global layout coordinates |
| animations | gets the current config info about animations and beziers |
| instances | lists all running instances of hyprland with their info |
| layouts | lists all layouts available |
For the getoption command, the option name should be written as `section:option`, e.g.:
```sh
hyprctl getoption general:border_size
# For nested sections:
hyprctl getoption input:touchpad:disable_while_typing
```
#### Batch
You can also use `--batch` to specify a batch of commands to execute
e.g.
```sh
hyprctl --batch "keyword general:border_size 2 ; keyword general:gaps_out 20"
```
`;` separates the commands
### Multi GPU
If your host machine uses multiple GPUs, you may want to primarily use one GPU for rendering all the elements for Hyprland including windows, animations, and another for hardware acceleration for certain applications, etc.

View file

@ -1,10 +1,45 @@
---
obj: os
wiki: https://en.wikipedia.org/wiki/Linux
website: https://www.kernel.org
---
# Linux
#wip
Linux is a kernel and computing platform.
It support virtually every [filesystem](filesystems/Filesystems.md). Linux has many distributions, such as [Arch Linux](Arch%20Linux.md) or [Alpine Linux](Alpine%20Linux.md), [Proxmox](Proxmox.md), etc.
The default init system is [Systemd](Systemd.md). See [mkinitcpio](mkinitcpio.md) for other boot time configuration.
Linux has GUIs but is generally used with the [Shell](../applications/cli/Shell.md).
Linux has GUIs but is generally used with the [Shell](../applications/cli/Shell.md). The kernel development can be tracked [here](https://kernel.org)
## Filesystem Structure
A typical Linux system has, among others, the following directories:
| Path | Description |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/` | This is the root directory. This is where the whole tree starts. |
| `/bin` | This directory contains executable programs which are needed in single user mode and to bring the system up or repair it. |
| `/boot` | Contains static files for the boot loader. This directory holds only the files which are needed during the boot process. The operating system kernel (initrd for example) must be located in either `/` or `/boot`. |
| `/dev` | Special or device files, which refer to physical devices. |
| `/etc` | Contains configuration files which are local to the machine. |
| `/home` | On machines with home directories for users, these are usually beneath this directory, directly or not. |
| `/lib` | This directory should hold those shared libraries that are necessary to boot the system and to run the commands in the root filesystem. |
| `/lib/modules` | Loadable kernel modules (optional) |
| _`/lost+found`_ | This comes from [Ext4](filesystems/Ext4.md). This directory contains items lost in the filesystem. |
| `/media` | This directory contains mount points for removable media such as CD and DVD disks or USB sticks. |
| `/mnt` | This directory is a mount point for a temporarily mounted filesystem. |
| `/proc` | This is a mount point for the _proc_ filesystem, which provides information about running processes and the kernel. |
| `/root` | This directory is usually the home directory for the root user (optional). |
| `/run` | This directory contains information which describes the system since it was booted. Once this purpose was served by `/var/run` and programs may continue to use it. |
| `/sbin` | Like `/bin`, this directory holds commands needed to boot the system, but which are usually not executed by normal users. |
| `/sys` | This is a mount point for the _sysfs_ filesystem, which provides information about the kernel like _/proc_, but better structured, following the formalism of kobject infrastructure. |
| `/tmp` | This directory contains temporary files which may be deleted with no notice, such as by a regular job or at system boot up. |
| `/usr` | This directory is usually mounted from a separate partition. It should hold only shareable, read-only data, so that it can be mounted by various machines running Linux. |
| `/usr/bin` | This is the primary directory for executable programs. Most programs executed by normal users which are not needed for booting or for repairing the system and which are not installed locally should be placed in this directory. |
| `/usr/etc` | Site-wide configuration files to be shared between several machines may be stored in this directory. However, commands should always reference those files using the `/etc` directory. Links from files in `/etc` should point to the appropriate files in `/usr/etc`. |
| `/usr/include` | Include files for the C compiler. |
| `/usr/lib` | Object libraries, including dynamic libraries, plus some executables which usually are not invoked directly. More complicated programs may have whole subdirectories there. |
| `/usr/share` | This directory contains subdirectories with specific application data, that can be shared among different architectures of the same OS. |
| `/usr/share/doc` | Documentation about installed programs (optional). |
| `/usr/share/man` | [Manual pages](../applications/cli/man.md) go here in subdirectories according to the man page sections. |
| `/var` | This directory contains files which may change in size, such as spool and log files. |
| `/var/cache` | Data cached for programs. |
| `/var/log` | Miscellaneous log files. |