Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

full animation supported, easy configurable (uses shared library) dwm fork with a control center (pdwmc)

License

NotificationsYou must be signed in to change notification settings

FT-Labs/pdwm

Repository files navigation

pdwm & phyOS-dwm are both suckless dwm forks. Both of them are in this repo, please read below to understand why. Also note that dwmblocks is embedded in this project, you don't need to download it from somewhere else.

For full animation support, please installphyOS-picom fork. Any other picom fork won't work.

phyOS-dwm is the oldest master branch of this project. This has been changed to pdwm branch. phyOS-dwm is just modified suckless dwm, with dwmblocks in it. Please note that this dwmblocks uses libconf library, which you can add/remove statusbar blocks with .cfg files. Also more than 10 statusbar blocks available for phyOS users. However, all of these can be installed on base arch linux too. Statusbar configuration can be made easily withpOS-make-bar script.

Settings button on top left (blue one) will open up a terminal application, which you can choose powermenu themes - colorschemes, and animation options from there. It also has some extra scripts in it to make your statusbar, choose sddm & grub themes.

Gifs

alt textalt text

Screenshots

(Alt + Tab to switch windows)(Hide and restore windows from bottom dock (Check keys for how to do this))(catppuccin & tokyo night theme)(Power menu 'right one is to renew dwm without restart')

Why the change? What is pdwm?

Originally, dwm configuration options are compiled into a single binary. Therefore, to be able to change any attribute you need to edit configuration file and recompile it into dwm again. With pdwm, this changes. Since dwm is supposed to be minimalistic and performant, simply putting a configuration library to handle these options doesn't make sense. It will increase SLOC a lot. To overcome this issue, another simple method has been made:All of the configuration variables in dwm (nearly everything, except some edge cases) have been marked as extern variables. Inpdwm folder, you can see all the configuration options. These options are made a shared library (.so). With this flexibility, and minor lines of code, at the execution stage of dwm, all of the variables are being loaded into dwm from an outside source, which is the shared library. This way, by just compiling the variables and renewing dwm, all options have been renewed. Without even usingsudo.Note that from now on, mostly pdwm will get updated. However, the older fork, phyOS-dwm is still available on master branch. This is much of a choice now, choose whatever you prefer.The tool to configure dwm is a python program, which is calledpdwmc. It is the main control center of pdwm.Link:https://github.com/FT-Labs/pdwmc

pdwm Usage

IMPORTANT: Please extend your "LD_LIBRARY_PATH" to this location:E.G:export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/.config/phyos/pdwm"You must do this, because fallback library will be in /usr/lib. Your local configurations (.so) file will be stored here, and you must extend it to this place for linux ld linker to be able to see it.As said before pdwm is a simple python program. It both has support for changing/printing any configuration options from terminal, or via QT app. Now lets get on with options.

usage: pdwmc [-h] [-w] [-b] [-g] [-s {appearance,buttons,keys,rules}]            [-c {appr,font,button,key,rule}] [-a {font,button,key,rule}]            [-d {font,button,key,rule}] [-q]options:  -h, --help            show this help message and exit  -w, --write           Write current dwm configuration to edit [Use this before to                        edit dwm configuration] or reset your changes  -b, --build           Save changes to dwm  -g, --get             Get default dwm settings (overrides current) to use pdwm,                        also runs -w flag  -s {appearance,buttons,keys,rules}, --show {appearance,buttons,keys,rules}  -c {appr,font,button,key,rule}, --change {appr,font,button,key,rule}                        Choose and change attribute  -a {font,button,key,rule}, --add {font,button,key,rule}                        Add new attribute  -d {font,button,key,rule}, --delete {font,button,key,rule}                        Delete an attribute  -q, --qt              Run pdwm as a QT application

If you prefer a gui application, just runpdwmc -q. It is a simple and editable QT app, also catches your keypresses, which will save you some time from learning keysym's from internet. If key is not detected, simply find it from google and edit the key.

pdwmc screenshots

To be able to install these, please follow the steps below. Also if interested, you can download iso image to a vm, build it then update to system to be able to try.

These explanations are only for arch linux based distributions (any pacman using distro is okay). There are important dependencies, which I could not find all packages to fit all distributions. Later on a debian package version may come too.

Append package repo end of your/etc/pacman.conf :

[phyOS-repo]SigLevel = Required DatabaseOptionalServer = https://FT-Labs.github.io/$repo/$arch

After adding the repo, install keyring first:

sudo pacman-key --recv-key 964FD85861C858D7sudo pacman-key --lsign-key 964FD85861C858D7sudo pacman -Syy phyOS-keyringsudo pacman-key --initsudo pacman-key --populate phyOS

Now install necessary packages (This will install most of the phyOS packages, if you which packages to choose simply install them, this is a general guide):sudo pacman -Syycurl https://raw.githubusercontent.com/FT-Labs/phyOS-Aug-22/master/packages.x86_64 | sed -e '/\#/d' | tr -s "\n" | xargs sudo pacman -S --noconfirmAfter the installation, please reboot your computer. Now you will need dotfiles, please move your current dots to somewhere else if they are important.Run:phyup dots --force to get latest dotfiles. This is required to set your .xinitrc, .xprofile and picom options etc. correctly. Anyway, if you want you can just check dotfiles repo and choose whatever is required from there.pdwm Packages: pdwm pdwmcphyOS-dwm (classic compiled dwm) packages: phyOS-dwm

Running:

Simply run startx from tty, or use a display manager. Desktop file is automatically made and installed.

NOTE:Caps Lock ==Win

NOTE:Caps Lock is also equal toESC in terminal (vim etc..)

Program Keys (man dwm will work too, or try keys sheet):

Key CombinationAction
Win +qQuit focused
Win +ReturnTerminal(st)
Win +ESCPower menu
Win +Shift +ReturnScratchpad (Terminal) [Press again to toggle]
Win +w$BROWSER(default ungoogled chromium)
Win +rFile Browser (lf)
Win +aExecute Applications (rofi)
Win +bToggle status bar (hide)
Win +dJump to directory with terminal (check 'bm' script to add bookmarks)
Win +Shift +aExecute Any Runnable (dmenu)
Win +ppassmenu (pass password manager)
Alt +pstress test and monitor (s-tui)
Win +F4pulsemixer (audio input)
Win +F5set multiple monitors and choose refresh rate
Win +F9mount drive
Win +F10unmount drive
Win +F11Camera
Win +Shift +sScreenshot (choose area or screen)
PrintscreenScreenshot fullscreen
Shift +PrintscreenScreenshot (choose area or screen)
Win +`Choose emoji and copy

Terminal keybinds

Key CombinationAction
Alt +Shift +jDecrease font size (zoom -)
Alt +Shift +kIncrease font size (zoom +)
Alt +oCopy output of command
Alt +;Cycle fonts

Window Movement

Key CombinationAction
Win +TabChoose window from current desktop
Alt +TabChoose any window and focus
Win +jFocus next
Win +Shift +jMove focused to next
Win +kFocus previous
Win +Shift +kMove focused to previous
Win +lResize master +
Win +Shift +hNext Tag
Win +hResize master -
Win +Shift +hPrevious Tag
Win +sSticky window toggle (show window in all tags)
Win +fFullscreen (toggle)
Win +gToggle gaps
Win +xDecrease gaps
Win +Shift +xIncrease gaps
Win +Shift +gSet default gaps
Win +mIncrease master (just try it to understand)
Win +Shift +mDecrease master (just try it to understand)
Win +SpaceSet focused as master
Win +Shift +SpaceToggle floating window

Layouts

You can Right ClickRMB on ' []= ' in status bar to choose layout with mouse

Key CombinationAction
Alt +1Tiling (Default)
Alt +2Backstack
Alt +3Monocle (windows top of each)
Alt +4Deck layout
Alt +5Spiral
Alt +6Dwindle
Alt +7Centered master
Alt +8Centered floating master
Alt +9Floating (windows 10 style)
Win +RightCycle layout next
Win +LeftCycle layout previous

Tag operations

You can Left ClickLMB on 1-9 in status bar to focus tag

You can Right ClickRMB on 1-9 in status bar to select multiple tags

Key CombinationAction
Win +1 ..9Go to tagnumber
Win +WheelUpGo to next tag
Win +WheelDownGo to previous tag
Win +Shift +1 ..9Send focused window to tagnumber

Utility keys

Key CombinationAction
Sound UpIncrease sound
Sound DownDecrease sound
Brightness DownDecrease brightness
Brightness UpIncrease brightness
fn +TouchpadToggleToggle touchpad
fn +Kbd Backlight UpIncrease keyboard backlight
fn +Kbd Backlight DownDecrease keyboard backlight

Mouse actions

Key CombinationAction
RMBOpen Dropdown Menu (On Root Window)
Win +RMBOpen Dropdown Menu (On Any Client)
Win +LMBMove window with mouse (sets window to floating mode)
Win +MMBResize window with mouse (sets window to floating mode)
Alt +LMBHide focused window (iconic state, restore it from dock)
Alt +RMBToggle dock

About

full animation supported, easy configurable (uses shared library) dwm fork with a control center (pdwmc)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp