Skip to content

mattlennon3/awesome-config

Repository files navigation

Awesome Dotfiles

Libraries

// todo incomplete cyclefocus kikito/inspect.lua luacheck / luarocks

TODO List

  • Figure out the top bar configuration & creation
    • This will involve figuring out the widgets that have been made
  • Find out what the create_rules function is about.
  • Required to get clientbuttons working (click to focus etc)
  • add startup_errors check (look in old rc.lua)
  • get taglist_buttons working
  • Keybinds to open windows
  • Add the "dot" indicator above each tag when a client is open on that tag
  • Mod + Q closes windows
  • Show spotify on Music & Comms tag
  • Add keybinds:
    • alt+tab for clients within tag
      • fix alt-tab rofi issue (keys.lua)
    • alt+` for tags (between screens too?)
  • do not show battery on desktop
  • change autostart programs/tags depending on device?
  • find a better way of running & debugging this as you go
  • system notification helper
  • reading left aligned text in a browser is annoying when its the only window as its to the left, solved by spotlight & firefox reader mode
    • add margin to the left/right side of the client to center the browsers text
  • gap increase/decrease/toggle hotkeys
  • shortcut to make client active on all tags

Screen TODO

  • the primary goal here is to only require music/comms on the vertical screen, games only on primary screen etc
  • need some contingency if we are using less than 3 monitors to put all tags on each screen
  • adding laptop layout would be good. (maybe tag property like specific_screen for desktop only?)
  • if a tag name is "Web{{i}}" replace "{{i}}" with the tag number it will be
  • set default tag per screen. Should be screen prop rather than selected_tag_for_screen

Tag TODO

  • Add screenshot client name into the file name.
    • create a folder for the client name and place it there?
  • If a tag has a number in the name, if you do mod + (number), jump to that tag) (Automatically worked)
  • add/rename tags on the fly
  • Games tag only appears for steam / lutris/ local game
  • Tag for streams & sport

Rules

  • Figure out rule callback functions
  • [ ]

Hotkeys

  • Quick open notes/todo list. Something like ctrl+mod+
  • add mod+` keybind for quick notes/menu?
  • youtube-dl rofi prompt
  • shortcut to call dmenu-run, but will create a new tag to hold the client instead of opening on the current tag (could try and generate the tag name from the client). Handy for maximized clients, prusa-slicer, freecad etc

Wallpaper

  • different background per screen with connect_for_each_screen
  • wallpaper driven from a folder rather than a specific file
  • separate wallpaper for portrait monitor

Notifcations

Misc:

  • Add the menu when you right click on the desktop
  • Implement exit screen (search for show_exit_screen)
  • Install screenshot software & add it to apps (& keybinds)
  • when copying a screenshot to the clipboard, don't seem to be able to paste into every program (i.e works when pasting to discord chat/whatsapp but not into a directory)
  • create a PKGBUILD to keep track of what is required to be installed, rather than just listing the programs in apps.lua
  • gimp maximize on open
  • delayed autostart for some apps (spotify)
  • ctrl + alt + v to reset volume to 40% (set this on start too?)
  • autostart spotify should check if it's already running and not run if it is
  • margin around CPU temp widget
  • better alt tab https://github.com/blueyed/awesome-cyclefocus/
  • awful.urgent.delete (c) (for discord and todoist who are always urgent on launch)
  • add way to serialise (print) objects https://github.com/kikito/inspect.lua ?
  • find a way to print globals while running
  • implement logger.error (get icon for notification etc)
  • move spotlight code to it's own file workflows/spotlight

vertical stacking layout:

I ----------------------------
.............Top
I ----------------------------
...........Middle
I ----------------------------
...........Bottom
I ----------------------------

Spotify issues:

awesomeWM/awesome#2484
https://old.reddit.com/r/awesomewm/comments/bztj1c/spotify_and_raise_or_spawn/
https://old.reddit.com/r/awesomewm/comments/d8r74k/detecting_spotify/

Debug commands

Debug TODO

  • add script to launch both debug commands into a terminal
    • don't keep opening startup programs in Xephyr window (i.e when debugging/developing)

Open the Xephyr instance:

Xephyr :1 -ac -br -noreset -screen 960x540

Run awesome inside that instance:

AWESOME_DEV_MODE=TRUE;
DISPLAY=:1.0 awesome -c ~/git/my-dotfiles/awesome-config/rc.lua --search $HOME/.config/awesome

As a one-liner

AWESOME_DEV_MODE=TRUE; Xephyr :1 -ac -br -noreset -screen 960x540 & sleep 2 && DISPLAY=:1.0 awesome -c ~/git/my-dotfiles/awesome-config/rc.lua --search $HOME/.config/awesome

Listen for keyboard presses to find out what keycode to bind

Get keyboard id

xinput list Start listener xinput test 11 or try this xmodmap -pke | less

Useful links

some helpful screen code https://github.com/raphaelfournier/Dotfiles/blob/master/awesome/.config/awesome/rc.lua

interface with awesomewm from the command line:
https://awesomewm.org/doc/manpages/awesome-client.1.html

Dangers in spawning commands https://stackoverflow.com/a/52636847/3033813

Smooth entry/exit of widgets https://redd.it/mt9oy0

Credits

File structure, blocks of code and lots of other things heavily borrowed from WillPower3309.

Main resource for widgets and theming from Mofiqul

Thanks All!

Releases

No releases published

Packages

No packages published