🎉 Create dotfiles repo

Initial dotfiles commit
This commit is contained in:
Nicolas Rojas 2025-10-16 20:30:52 -05:00
commit 3718df1096
Signed by: nicolas
SSH key fingerprint: SHA256:gi4v1tDcXHbV+fkvqqs9b5rkFlo4Q9DHXp90MifkZK0
472 changed files with 57835 additions and 0 deletions

39
.gitignore vendored Normal file
View file

@ -0,0 +1,39 @@
QDirStat
0ad
Eqonomize
IVPN
VSCodium
aerc
bottom
btop
dconf
featherpad
fltk.org
fontforge
gh
go
google-chrome
htop
keepassxc
lazydocker
lazygit
libreoffice
lximage-qt
mpc-qt
net.imput.helium
octave
pavucontrol-qt
pulse
qalculate
qpdfview
qps
qterminal.org
screengrab
strawberry
QtProject.conf
lxqt-mimeapps.list
mimeapps.list
user-dirs.dirs
user-dirs.locale
autostart
spotify-player

View file

@ -0,0 +1,465 @@
[%General]
author=elkrien based on Arc Dark style
comment=Catppuccin-Mocha-Lavender
combo_focus_rect=true
spread_menuitems=true
left_tabs=true
mirror_doc_tabs=true
scroll_width=8
attach_active_tab=true
composite=true
menu_shadow_depth=7
tooltip_shadow_depth=0
splitter_width=7
check_size=16
slider_width=4
slider_handle_width=18
slider_handle_length=18
textless_progressbar=false
menubar_mouse_tracking=true
slim_toolbars=false
toolbutton_style=1
x11drag=menubar_and_primary_toolbar
double_click=false
translucent_windows=false
blurring=false
popup_blurring=true
opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam,qmplay2
group_toolbar_buttons=false
vertical_spin_indicators=false
fill_rubberband=false
spread_progressbar=true
merge_menubar_with_toolbar=true
small_icon_size=16
large_icon_size=32
button_icon_size=16
scroll_arrows=false
iconless_pushbutton=true
toolbar_icon_size=16
combo_as_lineedit=true
button_contents_shift=false
groupbox_top_label=true
inline_spin_indicators=true
joined_inactive_tabs=false
layout_spacing=2
submenu_overlap=0
tooltip_delay=-1
animate_states=false
transient_scrollbar=true
alt_mnemonic=true
combo_menu=true
layout_margin=4
no_window_pattern=false
respect_DE=true
scroll_min_extent=36
scrollable_menu=false
scrollbar_in_view=false
spin_button_width=16
submenu_delay=250
tree_branch_line=true
progressbar_thickness=8
click_behavior=0
contrast=1.00
dialog_button_layout=0
drag_from_buttons=false
hide_combo_checkboxes=false
intensity=1.00
no_inactiveness=false
reduce_menu_opacity=0
reduce_window_opacity=10
saturation=1.00
shadowless_popup=false
transient_groove=false
[GeneralColors]
window.color=#272E33
base.color=#1E2326
alt.base.color=#1E2326
button.color=#374145
light.color=#495156
mid.light.color=#495156
dark.color=#1E2326
mid.color=#1E2326
highlight.color=#A7C080
inactive.highlight.color=#A7C080
text.color=#D3C6AA
window.text.color=#D3C6AA
button.text.color=#D3C6AA
disabled.text.color=#4F5B58
tooltip.text.color=#D3C6AA
highlight.text.color=#1E2326
link.color=#83C092
link.visited.color=#D699B6
[ItemView]
inherits=PanelButtonCommand
frame.element=itemview
interior.element=itemview
frame=true
interior=true
text.iconspacing=3
text.toggle.color=#1E2326
[RadioButton]
inherits=PanelButtonCommand
frame=false
interior.element=radio
[CheckBox]
inherits=PanelButtonCommand
frame=false
interior.element=checkbox
[TreeExpander]
indicator.element=tree
indicator.size=8
[ToolTip]
frame.top=4
frame.right=4
frame.bottom=4
frame.left=4
frame=true
[PanelButtonCommand]
inherits=PanelButtonCommand
interior.element=button
frame.element=button
text.normal.color=#D3C6AA
text.focus.color=#D3C6AA
text.press.color=#1E2326
text.toggle.color=#1E2326
[PanelButtonTool]
inherits=PanelButtonCommand
[DockTitle]
inherits=PanelButtonCommand
interior=false
frame=false
text.margin.top=5
text.margin.bottom=5
text.margin.left=5
text.margin.right=5
indicator.size=0
[Dock]
interior.element=toolbar
frame.element=toolbar
frame=true
interior=true
[GroupBox]
inherits=PanelButtonCommand
interior.element=tabframe
interior=true
frame=false
[Focus]
inherits=PanelButtonCommand
frame=true
frame.element=focus
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.patternsize=20
[GenericFrame]
inherits=PanelButtonCommand
frame.element=common
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
[Slider]
inherits=PanelButtonCommand
interior=true
frame.element=slider
interior.element=slider
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
focusFrame=true
[SliderCursor]
inherits=PanelButtonCommand
interior=true
interior.element=slidercursor
frame=false
[LineEdit]
inherits=PanelButtonCommand
frame.element=lineedit
interior.element=lineedit
[IndicatorSpinBox]
inherits=LineEdit
frame.element=lineedit
interior.element=lineedit
frame.top=0
frame.bottom=2
frame.left=2
frame.right=2
indicator.size=8
[DropDownButton]
inherits=PanelButtonCommand
frame.top=2
frame.bottom=2
frame.left=0
frame.right=1
indicator.size=8
[ToolboxTab]
inherits=PanelButtonCommand
frame.element=tabframe
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
[Tab]
inherits=PanelButtonCommand
interior.element=tab
frame.element=tab
frame.top=2
frame.bottom=3
frame.left=3
frame.right=3
indicator.size=10
text.normal.color=#4F5B58
text.focus.color=#D3C6AA
text.press.color=#D3C6AA
text.toggle.color=#D3C6AA
focusFrame=true
[TabBarFrame]
inherits=GenericFrame
frame=true
frame.element=tabBarFrame
interior=false
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
[TabFrame]
inherits=PanelButtonCommand
frame.element=tabframe
interior.element=tabframe
[Dialog]
inherits=TabBarFrame
frame.element=tabframe
interior=false
frame=false
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
[HeaderSection]
inherits=PanelButtonCommand
interior.element=header
frame.element=header
frame.top=0
frame.bottom=1
frame.left=1
frame.right=1
frame.expansion=0
text.normal.color=#D3C6AA
text.focus.color=#A7C080
text.press.color=#D3C6AA
text.toggle.color=#D3C6AA
indicator.element=harrow
[SizeGrip]
inherits=PanelButtonCommand
frame=false
interior=false
indicator.element=resize-grip
indicator.size=0
[Toolbar]
inherits=PanelButtonCommand
interior.element=menubar
frame.element=menubar
frame=true
frame.bottom=4
frame.left=4
frame.right=4
text.normal.color=#D3C6AA
text.focus.color=#D3C6AA
text.press.color=#A7C080
text.toggle.color=#A7C080
text.bold=false
[MenuBar]
inherits=PanelButtonCommand
frame.element=menubar
interior.element=menubar
frame.bottom=0
text.normal.color=#D3C6AA
frame.expansion=0
text.bold=false
[ToolbarButton]
frame.element=tbutton
interior.element=tbutton
indicator.element=arrow
text.normal.color=#D3C6AA
text.focus.color=#D3C6AA
text.press.color=#1E2326
text.toggle.color=#1E2326
text.bold=false
[Scrollbar]
inherits=PanelButtonCommand
indicator.size=0
interior=false
frame=false
[ScrollbarGroove]
inherits=PanelButtonCommand
interior=false
frame=false
[ScrollbarSlider]
inherits=PanelButtonCommand
interior=false
frame.element=scrollbarslider
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
[ProgressbarContents]
inherits=PanelButtonCommand
frame=true
frame.element=progress-pattern
interior.element=progress-pattern
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
[Progressbar]
inherits=PanelButtonCommand
frame.element=progress
interior.element=progress
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin=0
text.normal.color=#D3C6AA
text.focus.color=#D3C6AA
text.press.color=#1E2326
text.toggle.color=#1E2326
text.bold=false
frame.expansion=18
[RadioButton]
inherits=PanelButtonCommand
[Menu]
frame.element=menu
interior.element=menu
inherits=PanelButtonCommand
text.press.color=#1E2326
text.toggle.color=#1E2326
text.bold=false
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
[MenuItem]
inherits=PanelButtonCommand
interior.element=menuitem
indicator.size=8
text.focus.color=#D3C6AA
text.press.color=#D3C6AA
[MenuBarItem]
inherits=PanelButtonCommand
interior.element=menubaritem
frame=false
text.margin.top=3
text.margin.bottom=3
text.margin.left=5
text.margin.right=5
[StatusBar]
inherits=Toolbar
frame.element=toolbar
font.bold=true
text.normal.color=#D3C6AA
frame=true
frame.top=0
frame.bottom=0
[TitleBar]
inherits=PanelButtonCommand
frame=false
interior=false
text.margin.top=2
text.margin.bottom=2
text.margin.left=3
text.margin.right=3
[ComboBox]
inherits=PanelButtonCommand
indicator.size=8
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
text.margin.top=1
text.margin.bottom=1
text.margin.left=3
text.margin.right=3
text.toggle.color=#D3C6AA
[ToolboxTab]
inherits=PanelButtonCommand
text.normal.color=#D3C6AA
text.press.color=#D3C6AA
text.focus.color=#D3C6AA
[Hacks]
transparent_dolphin_view=false
blur_konsole=true
transparent_ktitle_label=true
transparent_menutitle=true
respect_darkness=true
kcapacitybar_as_progressbar=true
force_size_grip=false
iconless_pushbutton=true
iconless_menu=false
disabled_icon_opacity=100
lxqtmainmenu_iconsize=0
normal_default_pushbutton=true
single_top_toolbar=false
tint_on_mouseover=0
transparent_pcmanfm_sidepane=true
transparent_pcmanfm_view=false
blur_translucent=true
centered_forms=false
kinetic_scrolling=false
middle_click_scroll=false
no_selection_tint=false
noninteger_translucency=false
style_vertical_toolbars=false
blur_only_active_window=false
[Window]
interior=true
interior.element=window
frame.top=0
frame.bottom=0
frame.left=0
frame.right=0

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 146 KiB

2
Kvantum/kvantum.kvconfig Normal file
View file

@ -0,0 +1,2 @@
[General]
theme=Everforest

12
LICENSE Normal file
View file

@ -0,0 +1,12 @@
Copyright (C) 2025 Nicolas Rojas
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

70
README.md Normal file
View file

@ -0,0 +1,70 @@
# Nirogu-dotfiles
My personal dotfiles for arch-linux + lxqt + labwc + everforest theme.
![ScreenShot1](images/ss1.jpg)
![ScreenShot2](images/ss2.jpg)
![ScreenShot3](images/ss3.jpg)
## Installation
Everything goes in `$HOME/.config`, excepting:
- `zshrc` goes in `$HOME/.zshrc`
- `gitconfig` goes in `$HOME/.gitconfig`
- `themes` goes in `$HOME/.themes`
- `sddm/sddm.conf` goes in `/etc/sddm.conf`
- `sddm/everforest` goes in `/usr/share/sddm/themes/everforest`
- `sddm/config` goes in `/var/lib/sddm/.config`
## Software
- **Operating system:** [Arch linux](https://archlinux.org)
- **Desktop environment:** [LXQt](https://lxqt-project.org) with [Kvantum](https://github.com/tsujan/Kvantum/) theming
- **Wayland compositor:** [Labwc](https://labwc.github.io)
- **X11 window manager:** [Openbox](https://openbox.org)
- **Color scheme:** [Everforest](https://github.com/sainnhe/everforest)
- **Display manager:** [SDDM](https://github.com/sddm/sddm)
- **Terminal:** [Foot](https://codeberg.org/dnkl/foot) (wayland only)
- **Shell:** [Zsh](https://www.zsh.org) with the [starship](https://starship.rs) prompt
- **Text editor:** [Helix](https://helix-editor.com), [AstroNvim](https://astronvim.com) and [VSCodium](https://vscodium.com)
- **Screen locker:** [Swaylock](https://github.com/swaywm/swaylock)
- **Document reader:** [Zathura](https://pwmt.org/projects/zathura)
<details>
<summary>Additional software</summary>
- **Web browser:** [LibreWolf](https://librewolf.net) and [Helium](https://helium.computer)
- **Email client:** [Thunderbird](https://www.thunderbird.net) and [aerc](https://aerc-mail.org)
- **Music player:** [Spotify-player](https://github.com/aome510/spotify-player) and [strawbery](https://www.strawberrymusicplayer.org)
- **Video player:** [MPC-QT](https://mpc-qt.github.io)
- **System monitor:** [btop](https://github.com/aristocratos/btop) and [bottom](https://github.com/ClementTsang/bottom)
- **Qt desktop utilities:** [Eqonomize](https://eqonomize.github.io), [Qalculate](https://qalculate.github.io), [FeatherPad](https://github.com/tsujan/FeatherPad), [QDirStat](https://github.com/shundhammer/qdirstat) and [qpdfview](https://launchpad.net/qpdfview)
- **VPN:** [IVPN](https://www.ivpn.net/en)
- **Torrent client:** [qBittorrent](https://www.qbittorrent.org)
- **Password manager:** [KeePassXC](https://keepassxc.org)
- **Git TUI:** [Lazygit](https://github.com/jesseduffield/lazygit)
- **Docker TUI:** [Lazydocker](https://github.com/jesseduffield/lazydocker)
- **Office suite:** [LibreOffice](https://www.libreoffice.org)
- **GTK settings:** [nwg-look](https://github.com/nwg-piotr/nwg-look)
- **Emacs configuration:** [Spacemacs](https://www.spacemacs.org)
</details>
## Keybindings
| Keys | Action |
| --------------------------------------- | ------------------ |
| <kbd>SUPER</kbd> + <kbd>SPACE</kbd> | Runner |
| <kbd>SUPER</kbd> + <kbd>ENTER</kbd> | Spawn terminal |
| <kbd>SUPER</kbd> + <kbd>B</kbd> | Spawn browser |
| <kbd>SUPER</kbd> + <kbd>E</kbd> | Spawn file manager |
| <kbd>SUPER</kbd> + <kbd>C</kbd> | Spawn code editor |
| <kbd>SUPER</kbd> + <kbd>A</kbd> | Toggle maximize |
| <kbd>SUPER</kbd> + <kbd>Q</kbd> | Kill window |
| <kbd>SUPER</kbd> + <kbd>BACKSPACE</kbd> | Logout menu |
More keybindings can be found in the [labwc configuration file](labwc/rc.xml).
## License
These dotfiles are released under the 0BSD license, which is functionally equivalent to a release into the public domain (anyone can use these dotfiles without any restrictions or warranties).

2
electron-flags.conf Normal file
View file

@ -0,0 +1,2 @@
--enable-features=UseOzonePlatform
--ozone-platform=wayland

29
foot/foot.ini Normal file
View file

@ -0,0 +1,29 @@
font=JetBrainsMonoNerdFont:size=12
[cursor]
style=beam
unfocused-style=none
blink=yes
[colors]
alpha=0.9
background=2b3339
foreground=d3c6aa
regular0=4b565c # black
regular1=e67e80 # red
regular2=a7c080 # green
regular3=dbbc7f # yellow
regular4=7fbbb3 # blue
regular5=d699b6 # magenta
regular6=83c092 # cyan
regular7=d3c6aa # white
bright0=4b565c # black
bright1=e67e80 # red
bright2=a7c080 # green
bright3=dbbc7f # yellow
bright4=7fbbb3 # blue
bright5=d699b6 # magenta
bright6=83c092 # cyan
bright7=d3c6aa # white

12
gitconfig Normal file
View file

@ -0,0 +1,12 @@
[pull]
rebase = true
[gpg]
format = ssh
[commit]
gpgSign = true
[init]
defaultBranch = main
[push]
followTags = true
[format]
signOff = yes

19
gtk-3.0/settings.ini Normal file
View file

@ -0,0 +1,19 @@
[Settings]
gtk-theme-name=Everforest
gtk-icon-theme-name=Tela-circle-green-dark
gtk-font-name=Sans 11
gtk-cursor-theme-name=catppuccin-macchiato-green-cursors
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=0
# Created by lxqt-config-appearance (DO NOT EDIT!)
# GTK3 ignores bold or italic attributes.

1
gtk-4.0/assets Normal file
View file

@ -0,0 +1 @@
/home/nirogu/.themes/Everforest/gtk-4.0/assets

1
gtk-4.0/gtk-dark.css Normal file
View file

@ -0,0 +1 @@
/home/nirogu/.themes/Everforest/gtk-4.0/gtk-dark.css

1
gtk-4.0/gtk.css Normal file
View file

@ -0,0 +1 @@
/home/nirogu/.themes/Everforest/gtk-4.0/gtk.css

7
gtk-4.0/settings.ini Normal file
View file

@ -0,0 +1,7 @@
[Settings]
gtk-theme-name=Everforest
gtk-icon-theme-name=Tela-circle-green-dark
gtk-font-name=Sans 11
gtk-cursor-theme-name=catppuccin-macchiato-green-cursors
gtk-cursor-theme-size=24
gtk-application-prefer-dark-theme=0

1
gtk-4.0/thumbnail.png Normal file
View file

@ -0,0 +1 @@
/home/nirogu/.themes/Everforest/gtk-4.0/thumbnail.png

70
helix/config.toml Normal file
View file

@ -0,0 +1,70 @@
theme = "everforest_dark"
[editor]
line-number = "relative"
cursorline = true
color-modes = true
bufferline = "always"
text-width = 72
[editor.statusline]
left = ["mode", "spinner", "version-control", "read-only-indicator", "file-modification-indicator"]
center = ["file-name"]
right = ["diagnostics", "selections", "file-encoding", "register", "file-type", "position-percentage", "position"]
separator = "│"
mode.normal = "NORMAL"
mode.insert = "INSERT"
mode.select = "SELECT"
[editor.lsp]
display-inlay-hints = true
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
[editor.file-picker]
hidden = false
[editor.indent-guides]
render = true
[editor.soft-wrap]
enable = true
[keys.normal]
A-right = [":bn"]
A-left = [":bp"]
A-h = [":bn"]
A-l = [":bp"]
X = ["extend_line_up", "extend_to_line_bounds"]
G = ["goto_last_line"]
# Move line or selection up/down
A-k = [
"extend_to_line_bounds",
"delete_selection",
"move_line_up",
"paste_before"
]
A-j = [
"extend_to_line_bounds",
"delete_selection",
"move_line_down",
"paste_before"
]
A-up = [
"extend_to_line_bounds",
"delete_selection",
"move_line_up",
"paste_before"
]
A-down = [
"extend_to_line_bounds",
"delete_selection",
"move_line_down",
"paste_before"
]
[keys.select]
X = ["extend_line_up", "extend_to_line_bounds"]

BIN
images/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
images/mist_forest.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

BIN
images/ss1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
images/ss2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

BIN
images/ss3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

9
labwc/README Normal file
View file

@ -0,0 +1,9 @@
Config layout for ~/.config/labwc/
- autostart
- environment
- menu.xml
- rc.xml
- themerc-override
See `man labwc-config and `man labwc-theme` for further details.

76
labwc/environment Normal file
View file

@ -0,0 +1,76 @@
## LXQt labwc environment file
## Example ~/.config/labwc/environment file.
## Uncomment lines starting with one '#' to suit your needs.
##
##
## Cursor theme and size are set by LXQt and can be configured in"Appearance → Cursor".
## No need to edit.
XCURSOR_SIZE=24
XCURSOR_THEME=catppuccin-macchiato-green-cursors
## Disable hardware cursors. Most users wouldn't want to do this, but if you
## are experiencing issues with disappearing cursors, this might fix it.
## Autodetected at startup on virtualized hardware which use systemd.
# WLR_NO_HARDWARE_CURSORS=1
##
## In order for labwc to work out of the box, the environment variable below
## is set to "1" by default to avoid menus with incorrect offset and blank
## windows with Java applications such as JetBrains and Intellij Idea.
## See https://github.com/swaywm/sway/issues/595
## labwc will not override any already set environment variables, so if you for
## some reason do not want this, then just set it to "0" (not recommended, but
## mentioned here for completeness).
##
# _JAVA_AWT_WM_NONREPARENTING=0
##
## This allows xdg-desktop-portal-wlr to function (e.g. for screen-recording).
## It is automatically set to "LXQt:labwc:wlroots" by LXQt though, so it is only
## included here for completeness. Again, labwc will not over-write an
## already set environment variable, so if you need it set to something else,
## then uncomment and adjust.
##
# XDG_CURRENT_DESKTOP=labwc:wlroots
##
## This causes a virtual output to be created automatically whenever there
## are no outputs around. This helps for cases like wayvnc so there is always
## an output available to connect to. The name can be chosen freely but there
## must be no duplicate output names, for this reason using VIRTUAL-x or a
## physical connector name like HDMI-A-1 is not recommended as wlroots may
## want to create outputs with those names later on which would then fail.
##
## Using an output name that starts with NOOP- has the additional benefit
## that wayvnc will detect it being a virtual output and allow clients to
## resize the output to match the client resolution.
##
# LABWC_FALLBACK_OUTPUT=NOOP-fallback
##
## LXQt tries to set keyboard layout the first login, edit here to change and/or complete.
## Use the XKB_DEFAULT_LAYOUT variable to set the keyboard layout. For example
## to start with Swedish keyboard layout set it to 'se'. If you are unsure what
## your country code is, refer to the layout section of:
## /usr/share/X11/xkb/rules/evdev.lst
##
## Multiple keyboard layouts can be set by comma-separating the country codes.
## If a variant layout is needed, the syntax is layout(variant)
## If multiple layouts are used, specify the toggle-keybind using
## XKB_DEFAULT_OPTIONS as show below. For possible values refer to the
## refer to the option section of:
## /usr/share/X11/xkb/rules/evdev.lst
##
## Compose Key: For possible values refer to the "Compose key - Position of Compose key"
## in: /usr/share/X11/xkb/rules/evdev.lst
##
## For further details, see xkeyboard-config(7)
##
XKB_DEFAULT_LAYOUT=latam,us(intl)
XKB_DEFAULT_OPTIONS=grp:ctrls_toggle

80
labwc/menu.xml Normal file
View file

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu>
<!-- Note: for localization support of menu items "client-menu" has to be removed here -->
<menu id="client-menu">
<item label="Minimize">
<action name="Iconify" />
</item>
<item label="Maximize">
<action name="ToggleMaximize" />
</item>
<item label="Fullscreen">
<action name="ToggleFullscreen" />
</item>
<item label="Roll Up/Down">
<action name="ToggleShade" />
</item>
<item label="Decorations">
<action name="ToggleDecorations" />
</item>
<item label="Always on Top">
<action name="ToggleAlwaysOnTop" />
</item>
<!--
Any menu with the id "workspaces" will be hidden
if there is only a single workspace available.
-->
<menu id="workspaces" label="Workspace">
<item label="Move Left">
<action name="SendToDesktop" to="left" />
</item>
<item label="Move Right">
<action name="SendToDesktop" to="right" />
</item>
<separator />
<item label="Always on Visible Workspace">
<action name="ToggleOmnipresent" />
</item>
</menu>
<!--
openbox default workspace selector
to use replace above workspace menu with the example below
the label is required, but you can change the text.
<menu id="client-send-to-menu" label="Send to..." />
-->
<item label="Close">
<action name="Close" />
</item>
</menu>
<menu id="root-menu">
<item label="QTerminal" icon="qterminal"><action name="Execute" command="qterminal" /></item>
<item label="Filemanager" icon="pcmanfm-qt" ><action name="Execute" command="pcmanfm-qt" /></item>
<item label="Start LXQt Session" icon="lxqt" ><action name="Execute" command="lxqt-session"/></item>
<separator />
<item label="LXQt Settings" icon="preferences-desktop" ><action name="Execute" command="lxqt-config" /></item>
<item label="Reconfigure Labwc" icon="labwc" ><action name="Reconfigure" /></item>
<separator />
<item label="Logout" icon="system-log-out" ><action name="Exit" /></item>
</menu>
<menu id="some-custom-menu">
<!--
Creates menu title.
To create an empty header with no text,
set label=" ", not label=""
-->
<separator label="custom menu" />
<item label="Reconfigure">
<action name="Reconfigure" />
</item>
<item label="Exit">
<action name="Exit" />
</item>
</menu>
</openbox_menu>

704
labwc/rc.xml Normal file
View file

@ -0,0 +1,704 @@
<?xml version="1.0"?>
<!--
This file contains all supported Labwc v0.9.0 config elements & attributes with mostly
default values. Some LXQt specific settings have been added. You may have a
updated version in /usr/share/docs/labwc/rc.xml.all
-->
<labwc_config>
<core>
<decoration>server</decoration>
<gap>0</gap>
<adaptiveSync>no</adaptiveSync>
<allowTearing>no</allowTearing>
<autoEnableOutputs>yes</autoEnableOutputs>
<reuseOutputMode>no</reuseOutputMode>
<xwaylandPersistence>no</xwaylandPersistence>
<primarySelection>yes</primarySelection>
</core>
<placement>
<policy>Automatic</policy>
<!--
When <placement><policy> is "cascade", the offset for cascading new
windows can be overwritten like this:
<cascadeOffset x="40" y="30" />
-->
</placement>
<!-- <font><theme> can be defined without an attribute to set all places -->
<theme>
<name>Everforest</name>
<icon>Tela-circle-green-dark</icon>
<fallbackAppIcon>labwc</fallbackAppIcon>
<titlebar>
<layout>icon:iconify,max,close</layout>
<showTitle>yes</showTitle>
</titlebar>
<cornerRadius>8</cornerRadius>
<keepBorder>yes</keepBorder>
<dropShadows>yes</dropShadows>
<dropShadowsOnTiled>no</dropShadowsOnTiled>
<font place="ActiveWindow">
<name>sans</name>
<size>11</size>
<slant>normal</slant>
<weight>bold</weight>
</font>
<font place="InActiveWindow">
<name>sans</name>
<size>11</size>
<slant>normal</slant>
<weight>bold</weight>
</font>
<font place="MenuHeader">
<name>sans</name>
<size>11</size>
<slant>normal</slant>
<weight>normal</weight>
</font>
<font place="MenuItem">
<name>sans</name>
<size>11</size>
<slant>normal</slant>
<weight>normal</weight>
</font>
<font place="OnScreenDisplay">
<name>sans</name>
<size>11</size>
<slant>normal</slant>
<weight>normal</weight>
</font>
</theme>
<windowSwitcher show="yes" preview="yes" outlines="yes" allWorkspaces="no">
<fields>
<field content="icon" width="5%"/>
<field content="desktop_entry_name" width="30%"/>
<field content="title" width="65%"/>
<!--
Just as for window-rules, you can use 'identifier' or
'trimmed_identifier' to show the app_id for native wayland clients or
WM_CLASS for XWayland clients.
<field content="trimmed_identifier" width="65%" />
-->
</fields>
</windowSwitcher>
<!--
Many other kinds of content are supported in the window switcher like below.
Some contents are fixed-length and others are variable-length.
See "man 5 labwc-config" for details.
<windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes">
<fields>
<field content="workspace" width="5%" />
<field content="state" width="3%" />
<field content="type_short" width="3%" />
<field content="output" width="9%" />
<field content="identifier" width="30%" />
<field content="title" width="50%" />
</fields>
</windowSwitcher>
custom format - (introduced in 0.7.2)
It allows one to replace all the above "fields" with one line, using a
printf style format. For field explanations, see "man 5 labwc-config".
The example below would print "foobar",then type of window (wayland, X),
then state of window (M/m/F), then output (shows if more than 1 active),
then workspace name, then identifier/app-id, then the window title.
It uses 100% of OSD window width.
<windowSwitcher show="yes" preview="no" outlines="no" allWorkspaces="yes">
<fields>
<field content="custom" format="foobar %b %3s %-10o %-20W %-10i %t" width="100%" />
</fields>
</windowSwitcher>
-->
<!-- edge strength is in pixels -->
<resistance>
<screenEdgeStrength>20</screenEdgeStrength>
<windowEdgeStrength>20</windowEdgeStrength>
<!-- resistance for maximized/tiled windows -->
<unSnapThreshold>20</unSnapThreshold>
<!-- resistance for vertically/horizontally maximized windows -->
<unMaximizeThreshold>150</unMaximizeThreshold>
</resistance>
<resize>
<!-- Show a simple resize and move indicator -->
<popupShow>Never</popupShow>
<!-- Let client redraw its contents while resizing -->
<drawContents>yes</drawContents>
<!-- Borders are effectively 8 pixels wide regardless of visual appearance -->
<minimumArea>8</minimumArea>
<!--
Set cornerRange to a positive value to increase the size of corner
regions for mouse actions and diagonal window resizing. When omitted,
the default size of the corner region is half of the titlebar height.
<cornerRange>8</cornerRange>
-->
</resize>
<focus>
<followMouse>no</followMouse>
<followMouseRequiresMovement>yes</followMouseRequiresMovement>
<raiseOnFocus>no</raiseOnFocus>
</focus>
<snapping>
<!-- Set range to 0 to disable window snapping completely -->
<range>1</range>
<overlay enabled="yes">
<delay inner="500" outer="500"/>
</overlay>
<topMaximize>yes</topMaximize>
<notifyClient>always</notifyClient>
</snapping>
<!--
Workspaces can be configured like this:
<desktops>
<popupTime>1000</popupTime>
<names>
<name>Workspace 1</name>
<name>Workspace 2</name>
<name>Workspace 3</name>
<name>Workspace 4</name>
</names>
</desktops>
Or it can also be configured like this:
<desktops number="4" />
Or like this:
<desktops>
<popupTime>500</popupTime>
<number>5</number>
<prefix>ws</prefix>
</desktops>
Or:
<desktops number="4" popupTime="500" prefix="ws" />
popupTime defaults to 1000 so could be left out.
Set to 0 to completely disable the workspace OSD.
prefix defaults to "Workspace" when using number instead of names.
Use GoToDesktop left | right to switch workspaces.
Use SendToDesktop left | right to move windows.
See man labwc-actions for further information.
-->
<desktops>
<popupTime>1000</popupTime>
<names>
<name>Default</name>
</names>
</desktops>
<!--
<margin> can be used to reserve space where new/maximized/tiled
windows will not be placed. Clients using layer-shell protocol reserve
space automatically, so <margin> is only intended for other, specialist
cases.
If output is left empty, the margin will be applied to all outputs.
<margin top="" bottom="" left="" right="" output="" />
-->
<!-- Percent based regions based on output usable area, % char is required -->
<!--
<regions>
<region name="top-left" x="0%" y="0%" height="50%" width="50%" />
<region name="top" x="0%" y="0%" height="50%" width="100%" />
<region name="top-right" x="50%" y="0%" height="50%" width="50%" />
<region name="left" x="0%" y="0%" height="100%" width="50%" />
<region name="center" x="10%" y="10%" height="80%" width="80%" />
<region name="right" x="50%" y="0%" height="100%" width="50%" />
<region name="bottom-left" x="0%" y="50%" height="50%" width="50%" />
<region name="bottom" x="0%" y="50%" height="50%" width="100%" />
<region name="bottom-right" x="50%" y="50%" height="50%" width="50%" />
</regions>
-->
<!--
Keybind actions are specified in labwc-actions(5)
The following keybind modifiers are supported:
W - window/super/logo
A - alt
C - ctrl
S - shift
Use <keyboard><default /> to load all the default keybinds (those listed
below). If the default keybinds are largely what you want, a sensible
approach could be to start the <keyboard> section with a <default />
element, and then (re-)define any special binds you need such as launching
your favourite terminal or application launcher. See rc.xml for an example.
-->
<keyboard>
<!--
# Numlock is not set by default
<numlock>on|off</numlock>
-->
<layoutScope>global</layoutScope>
<repeatRate>25</repeatRate>
<repeatDelay>600</repeatDelay>
<!-- Reload config -->
<keybind key="W-S-r">
<action name="Reconfigure"/>
</keybind>
<!-- LXQt Keybindings -->
<!-- For advanced shortcut handling please consult
https://github.com/lxqt/lxqt/wiki/Wayland#global-shortcuts -->
<keybind key="Super_L" onRelease="yes">
<action name="Execute" command="dbus-send --session --dest=org.kde.StatusNotifierWatcher --type=method_call /global_key_shortcuts/panel/fancymenu/show_hide org.lxqt.global_key_shortcuts.client.activated"/>
</keybind>
<keybind key="W-e">
<action name="Execute" command="pcmanfm-qt"/>
</keybind>
<keybind key="W-b">
<action name="Execute" command="librewolf"/>
</keybind>
<keybind key="W-Return">
<action name="Execute" command="foot"/>
</keybind>
<keybind key="W-c">
<action name="Execute" command="codium --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland"/>
</keybind>
<keybind key="W-Space">
<action name="Execute" command="lxqt-runner"/>
</keybind>
<keybind key="Print">
<action name="Execute" command="screengrab"/>
</keybind>
<keybind key="W-Backspace">
<action name="Execute" command="lxqt-leave"/>
</keybind>
<!-- For qterminal dropdown -->
<keybind key="F12">
<action name="Execute" command="qterminal -d"/>
</keybind>
<!-- Powerbutton-->
<keybind key="XF86PowerOff">
<action name="Execute">
<command>lxqt-leave</command>
</action>
</keybind>
<keybind key="A-Tab">
<action name="NextWindow"/>
</keybind>
<keybind key="W-Tab">
<action name="NextWindow"/>
</keybind>
<keybind key="A-S-Tab">
<action name="PreviousWindow"/>
</keybind>
<keybind key="A-F4">
<action name="Close"/>
</keybind>
<keybind key="W-q">
<action name="Close"/>
</keybind>
<keybind key="W-a">
<action name="ToggleMaximize"/>
</keybind>
<keybind key="W-Left">
<action name="SnapToEdge" direction="left"/>
</keybind>
<keybind key="W-Right">
<action name="SnapToEdge" direction="right"/>
</keybind>
<keybind key="W-Up">
<action name="SnapToEdge" direction="up"/>
</keybind>
<keybind key="W-Down">
<action name="SnapToEdge" direction="down"/>
</keybind>
<keybind key="A-Space">
<action name="ShowMenu" menu="client-menu" atCursor="no"/>
</keybind>
<keybind key="XF86_AudioLowerVolume">
<action name="Execute" command="amixer sset Master 5%-"/>
</keybind>
<keybind key="XF86_AudioRaiseVolume">
<action name="Execute" command="amixer sset Master 5%+"/>
</keybind>
<keybind key="XF86_AudioMute">
<action name="Execute" command="amixer sset Master toggle"/>
</keybind>
<keybind key="XF86_MonBrightnessUp">
<action name="Execute" command="lxqt-config-brightness -i"/>
</keybind>
<keybind key="XF86_MonBrightnessDown">
<action name="Execute" command="lxqt-config-brightness -d"/>
</keybind>
<!-- SnapToRegion via W-Numpad -->
<!--
<keybind key="W-KP_7">
<action name="SnapToRegion" region="top-left" />
</keybind>
<keybind key="W-KP_8">
<action name="SnapToRegion" region="top" />
</keybind>
<keybind key="W-KP_9">
<action name="SnapToRegion" region="top-right" />
</keybind>
<keybind key="W-KP_4">
<action name="SnapToRegion" region="left" />
</keybind>
<keybind key="W-KP_5">
<action name="SnapToRegion" region="center" />
</keybind>
<keybind key="W-KP_6">
<action name="SnapToRegion" region="right" />
</keybind>
<keybind key="W-KP_1">
<action name="SnapToRegion" region="bottom-left" />
</keybind>
<keybind key="W-KP_2">
<action name="SnapToRegion" region="bottom" />
</keybind>
<keybind key="W-KP_3">
<action name="SnapToRegion" region="bottom-right" />
</keybind>
-->
<!-- keybind for client-list-combined-menu - will center in middle of screen -->
<!--
<keybind key="W-Space">
<action name="ShowMenu" menu="client-list-combined-menu" />
<position>
<x>center</x>
<y>center</y>
</position>
</keybind>
-->
</keyboard>
<!--
Multiple <mousebind> can exist within one <context>
Multiple <actions> can exist within one <mousebind>
Use <mouse><default /> to load all the default mousebinds (those listed
below). If the default mousebinds are largely what you want, a sensible
approach could be to start the <mouse> section with a <default />
element, and then (re-)define any special binds you need such as launching
a custom menu when right-clicking on your desktop. See rc.xml for an
example.
-->
<mouse>
<!-- time is in ms -->
<doubleClickTime>500</doubleClickTime>
<context name="Frame">
<mousebind button="W-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="W-Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="W-Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="W-Right" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="TRCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="BRCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="TLCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="BLCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="TitleBar">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Click">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind direction="Up" action="Scroll">
<action name="Unshade"/>
<action name="Focus"/>
</mousebind>
<mousebind direction="Down" action="Scroll">
<action name="Unfocus"/>
<action name="Shade"/>
</mousebind>
</context>
<context name="Title">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ShowMenu" menu="client-menu"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Click">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ToggleMaximize" direction="horizontal"/>
</mousebind>
<mousebind button="Middle" action="Click">
<action name="ToggleMaximize" direction="vertical"/>
</mousebind>
</context>
<context name="WindowMenu">
<mousebind button="Left" action="Click">
<action name="ShowMenu" menu="client-menu" atCursor="no"/>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ShowMenu" menu="client-menu" atCursor="no"/>
</mousebind>
</context>
<context name="Icon">
<mousebind button="Left" action="Click">
<action name="ShowMenu" menu="client-menu" atCursor="no"/>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ShowMenu" menu="client-menu" atCursor="no"/>
</mousebind>
</context>
<context name="Shade">
<mousebind button="Left" action="Click">
<action name="ToggleShade"/>
</mousebind>
</context>
<context name="AllDesktops">
<mousebind button="Left" action="Click">
<action name="ToggleOmnipresent"/>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="Left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Root">
<mousebind button="Left" action="Press">
<action name="ShowMenu" menu="root-menu"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="ShowMenu" menu="root-menu"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="ShowMenu" menu="root-menu"/>
<!-- openbox default, swap with above line to activate -->
<!-- <action name="ShowMenu" menu="client-list-combined-menu" /> -->
</mousebind>
<mousebind direction="Up" action="Scroll">
<action name="GoToDesktop" to="left" wrap="yes"/>
</mousebind>
<mousebind direction="Down" action="Scroll">
<action name="GoToDesktop" to="right" wrap="yes"/>
</mousebind>
</context>
</mouse>
<!--
A touch configuration can be bound to a specific device. If device
name is left empty, the touch configuration applies to all touch
devices or functions as a fallback. Multiple touch configurations
can exist.
See the libinput device section for obtaining the device names.
Direct cursor movement to a specified output. If the compositor is
running in nested mode, this does not take effect.
If mouseEmulation is enabled, all touch up/down/motion events are
translated to mouse button and motion events.
-->
<touch deviceName="" mapToOutput="" mouseEmulation="no"/>
<!--
The tablet cursor movement can be restricted to a single output.
If output is left empty or the output does not exists, the tablet
will span all outputs.
The tablet orientation can be changed in 90 degree steps, thus
*rotate* can be set to [0|90|180|270]. Rotation will be applied
after applying tablet area transformation.
The active tablet area can be specified by setting the *top*/*left*
coordinate (in mm) and/or *width*/*height* (in mm). If width or
height are omitted or default (0.0), width/height will be set to
the remaining width/height seen from top/left.
The tablet can be forced to always use mouse emulation. This prevents
tablet specific restrictions, e.g. no support for drag&drop, but also
omits tablet specific features like reporting pen pressure.
Pen buttons emulate regular mouse buttons. The pen *button* can be any
of [Stylus|Stylus2|Stylus3] and can be mapped to mouse buttons
[Right|Middle|Side]. Tablet pad buttons [Pad|Pad2|Pad3|..|Pad9] also
emulate regular mouse buttons and can be mapped to any mouse button.
When using mouse emulation, the pen tip [tip] and the stylus buttons
can be set to any available mouse button [Left|Right|Middle|..|Task].
-->
<tablet mapToOutput="" rotate="0" mouseEmulation="no">
<!-- Active area dimensions are in mm -->
<area top="0.0" left="0.0" width="0.0" height="0.0"/>
<map button="Tip" to="Left"/>
<map button="Stylus" to="Right"/>
<map button="Stylus2" to="Middle"/>
</tablet>
<!--
All tablet tools, except of type mouse and lens, use absolute
positioning by default. The *motion* attribute allows to set tools
to relative motion instead. When using relative motion,
*relativeMotionSensitivity* controls the speed of the cursor. Using
a value lower than 1.0 decreases the speed, using a value greater than
1.0 increases the speed of the cursor.
-->
<tabletTool motion="absolute" relativeMotionSensitivity="1.0"/>
<!--
The *category* attribute is optional and can be set to touch, touchpad,
non-touch, default or the name of a device. You can obtain device names by
running *libinput list-devices* as root or member of the input group.
Tap is set to *yes* by default. All others are left blank in order to use
device defaults.
All values are [yes|no] except for:
- pointerSpeed [-1.0 to 1.0]
- accelProfile [flat|adaptive]
- tapButtonMap [lrm|lmr]
- clickMethod [none|buttonAreas|clickfinger]
- sendEventsMode [yes|no|disabledOnExternalMouse]
- calibrationMatrix [six float values split by space]
- scrollFactor [float]
-->
<libinput>
<device category="touchpad">
<naturalScroll>yes</naturalScroll>
<leftHanded>no</leftHanded>
<pointerSpeed>0.7</pointerSpeed>
<accelProfile/>
<tap>yes</tap>
<tapButtonMap>lrm</tapButtonMap>
<tapAndDrag>no</tapAndDrag>
<dragLock/>
<threeFingerDrag/>
<middleEmulation>no</middleEmulation>
<disableWhileTyping/>
<clickMethod>buttonAreas</clickMethod>
<scrollMethod/>
<sendEventsMode/>
<calibrationMatrix/>
<scrollFactor>1.0</scrollFactor>
</device>
</libinput>
<!--
# Window Rules
# - Criteria can consist of 'identifier', 'title', 'sandboxEngine' or
# 'sandboxAppId'. AND logic is used when multiple options are specified.
# - 'identifier' relates to app_id for native Wayland windows and
# WM_CLASS for XWayland clients.
# - Criteria can also contain `matchOnce="true"` meaning that the rule
# must only apply to the first instance of the window with that
# particular 'identifier' or 'title'.
# - Matching is case-insensitive and is performed using shell wildcard
# patterns (see glob(7)) so '\*' (not between brackets) matches any string
# and '?' matches any single character.
<windowRules>
<windowRule identifier="*"><action name="Maximize"/></windowRule>
<windowRule identifier="foo" serverDecoration="yes"/>
<windowRule title="bar" serverDecoration="yes"/>
<windowRule identifier="baz" title="quax" serverDecoration="yes"/>
</windowRules>
# Example below for `lxqt-panel` and `pcmanfm-qt \-\-desktop`
# where 'matchOnce' is used to avoid applying rule to the panel
# configuration window with the same 'app_id'.
<windowRules>
<windowRule identifier="lxqt-panel" matchOnce="true">
<skipTaskbar>yes</skipTaskbar>
<action name="MoveTo" x="0" y="0" />
<action name="ToggleAlwaysOnTop"/>
</windowRule>
<windowRule title="pcmanfm-desktop*">
<skipTaskbar>yes</skipTaskbar>
<skipWindowSwitcher>yes</skipWindowSwitcher>
<fixedPosition>yes</fixedPosition>
<action name="MoveTo" x="0" y="0" />
<action name="ToggleAlwaysOnBottom"/>
</windowRule>
<windowRule identifier="org.qutebrowser.qutebrowser">
<action name="ResizeTo" width="1024" height="800" />
<action name="AutoPlace"/>
</windowRule>
</windowRules>
-->
<menu>
<ignoreButtonReleasePeriod>250</ignoreButtonReleasePeriod>
<showIcons>yes</showIcons>
</menu>
<!--
Magnifier settings
'width' sets the width in pixels of the magnifier window.
'height' sets the height in pixels of the magnifier window.
'initScale' sets the initial magnification factor at boot.
'increment' sets the amount by which the magnification factor
changes when 'ZoomIn' or 'ZoomOut' are called.
'useFilter' sets whether to use a bilinear filter on the magnified
output or simply to take nearest pixel.
-->
<magnifier>
<width>400</width>
<height>400</height>
<initScale>2.0</initScale>
<increment>0.2</increment>
<useFilter>true</useFilter>
</magnifier>
</labwc_config>

54
labwc/themerc Normal file
View file

@ -0,0 +1,54 @@
# This file contains all themerc options with default values
#
# System-wide and local themes can be overridden by creating a copy of this
# file and renaming it to $HOME/.config/labwc/themerc-override. Be careful
# though - if you only want to override a small number of specific options,
# make sure all other lines are commented out or deleted.
# general
border.width: 1
padding.height: 3
# window border
window.active.border.color: #dddad6
window.inactive.border.color: #f6f5f4
# window titlebar background
window.active.title.bg.color: #dddad6
window.inactive.title.bg.color: #f6f5f4
# window titlebar text
window.active.label.text.color: #000000
window.inactive.label.text.color: #000000
window.label.text.justify: center
# window buttons
window.active.button.unpressed.image.color: #000000
window.inactive.button.unpressed.image.color: #000000
# Note that "menu", "iconify", "max", "close" buttons colors can be defined
# individually by inserting the type after the button node, for example:
#
# window.active.button.iconify.unpressed.image.color: #333333
# menu
menu.overlap.x: 0
menu.overlap.y: 0
menu.width.min: 20
menu.width.max: 200
menu.items.bg.color: #fcfbfa
menu.items.text.color: #000000
menu.items.active.bg.color: #dddad6
menu.items.active.text.color: #000000
menu.items.padding.x: 7
menu.items.padding.y: 4
menu.separator.width: 1
menu.separator.padding.width: 6
menu.separator.padding.height: 3
menu.separator.color: #888888
# on screen display (window-cycle dialog)
osd.bg.color: #dddda6
osd.border.color: #000000
osd.border.width: 1
osd.label.text.color: #000000

12
labwc/themerc-override Normal file
View file

@ -0,0 +1,12 @@
#themerc-override. Content in this file overrides or adds settings to all themes.
# Shadows (needs activation in rc.xml)
window.active.shadow.size: 70
window.inactive.shadow.size: 60
window.active.shadow.color: #00000080
window.inactive.shadow.color: #00000080
window.button.width: 22
window.button.height: 22
# Overlay color when window touches screen borders
snapping.overlay.edge.bg.color: #9ba3a150

2
lxqt/TimeDate.conf Normal file
View file

@ -0,0 +1,2 @@
[General]
__userfile__=true

9
lxqt/archiver.conf Normal file
View file

@ -0,0 +1,9 @@
[Sizes]
SplitterPos=200
ViewsIconSize=24
WindowSize=@Size(700 500)
[Window]
DirTree=true
StatusBar=true
ToolBar=true

15
lxqt/filedialog.conf Normal file
View file

@ -0,0 +1,15 @@
[Sizes]
SplitterPos=200
WindowSize=@Size(700 500)
[View]
BigIconSize=48
Mode=Detailed
ScrollPerPixel=true
ShowHidden=false
ShowThumbnails=true
SmallIconSize=24
SortColumn=name
SortFolderFirst=true
SortOrder=ascending
ThumbnailIconSize=128

View file

@ -0,0 +1,228 @@
[General]
AllowGrabBaseKeypad=true
AllowGrabBaseSpecial=false
AllowGrabLocks=false
AllowGrabMiscKeypad=true
AllowGrabMiscSpecial=true
MultipleActionsBehaviour=first
WindowSize=@Size(750 400)
[Control%2BAlt%2BD.1]
Comment=Show desktop
Enabled=true
path=/panel/showdesktop/show_hide
[Control%2BAlt%2BL.2]
Comment=Lockscreen
Enabled=true
Exec=xdg-screensaver, lock
[Control%2BF1.3]
Comment=Switch to desktop 1
Enabled=true
path=/panel/desktopswitch/desktop_1
[Control%2BF10.4]
Comment=Switch to desktop 10
Enabled=true
path=/panel/desktopswitch/desktop_10
[Control%2BF11.5]
Comment=Switch to desktop 11
Enabled=true
path=/panel/desktopswitch/desktop_11
[Control%2BF12.6]
Comment=Switch to desktop 12
Enabled=true
path=/panel/desktopswitch/desktop_12
[Control%2BF2.7]
Comment=Switch to desktop 2
Enabled=true
path=/panel/desktopswitch/desktop_2
[Control%2BF3.8]
Comment=Switch to desktop 3
Enabled=true
path=/panel/desktopswitch/desktop_3
[Control%2BF4.9]
Comment=Switch to desktop 4
Enabled=true
path=/panel/desktopswitch/desktop_4
[Control%2BF5.10]
Comment=Switch to desktop 5
Enabled=true
path=/panel/desktopswitch/desktop_5
[Control%2BF6.11]
Comment=Switch to desktop 6
Enabled=true
path=/panel/desktopswitch/desktop_6
[Control%2BF7.12]
Comment=Switch to desktop 7
Enabled=true
path=/panel/desktopswitch/desktop_7
[Control%2BF8.13]
Comment=Switch to desktop 8
Enabled=true
path=/panel/desktopswitch/desktop_8
[Control%2BF9.14]
Comment=Switch to desktop 9
Enabled=true
path=/panel/desktopswitch/desktop_9
[Meta%2B0.15]
Comment=Activate task 10
Enabled=true
path=/panel/taskbar/task_10
[Meta%2B1.16]
Comment=Activate task 1
Enabled=true
path=/panel/taskbar/task_1
[Meta%2B2.17]
Comment=Activate task 2
Enabled=true
path=/panel/taskbar/task_2
[Meta%2B3.18]
Comment=Activate task 3
Enabled=true
path=/panel/taskbar/task_3
[Meta%2B4.19]
Comment=Activate task 4
Enabled=true
path=/panel/taskbar/task_4
[Meta%2B5.20]
Comment=Activate task 5
Enabled=true
path=/panel/taskbar/task_5
[Meta%2B6.21]
Comment=Activate task 6
Enabled=true
path=/panel/taskbar/task_6
[Meta%2B7.22]
Comment=Activate task 7
Enabled=true
path=/panel/taskbar/task_7
[Meta%2B8.23]
Comment=Activate task 8
Enabled=true
path=/panel/taskbar/task_8
[Meta%2B9.24]
Comment=Activate task 9
Enabled=true
path=/panel/taskbar/task_9
[Meta%2BB.25]
Comment=Web Browser
Enabled=true
Exec=librewolf
[Meta%2BBackSpace.44]
Comment=Leave
Enabled=true
Exec=lxqt-leave
[Meta%2BC.43]
Comment=Text editor
Enabled=true
Exec=codium
[Meta%2BE.26]
Comment=PCManFM-Qt
Enabled=true
Exec=pcmanfm-qt
[Meta%2BReturn.27]
Comment=QTerminal
Enabled=true
Exec=qterminal
[Meta%2Bspace.28]
Comment=Show/hide runner dialog
Enabled=true
path=/runner/show_hide_dialog
[Print.29]
Comment=Screenshot
Enabled=true
Exec=screengrab, -f
[Shift%2BControl%2BF6.30]
Comment=☀ ↓
Enabled=true
Exec=lxqt-config-brightness, -d
[Shift%2BControl%2BF7.31]
Comment=☀ ↑
Enabled=true
Exec=lxqt-config-brightness, -i
[Super_L.32]
Comment=Show/hide main menu
Enabled=true
path=/panel/fancymenu/show_hide
[XF86AudioLowerVolume.33]
Comment=Decrease sound volume
Enabled=true
path=/panel/volume/down
[XF86AudioMute.34]
Comment=Mute/unmute sound volume
Enabled=true
path=/panel/volume/mute
[XF86AudioRaiseVolume.35]
Comment=Increase sound volume
Enabled=true
path=/panel/volume/up
[XF86Display.36]
Comment=Launch Monitor
Enabled=true
Exec=lxqt-config-monitor
[XF86Eject.37]
Comment=Eject removable media
Enabled=true
path=/panel/mount/eject
[XF86MonBrightnessDown.38]
Comment=☀ ↓
Enabled=true
Exec=lxqt-config-brightness, -d
[XF86MonBrightnessUp.39]
Comment=☀ ↑
Enabled=true
Exec=lxqt-config-brightness, -i
[XF86PowerOff.40]
Comment=Power off key action
Enabled=true
path=/powermanager/keypoweroff
[XF86Sleep.41]
Comment=Hibernate key action
Enabled=true
path=/powermanager/keyhibernate
[XF86Suspend.42]
Comment=Suspend key action
Enabled=true
path=/powermanager/keysuspend

View file

@ -0,0 +1,4 @@
[General]
ControlGTKThemeEnabled=false
__userfile__=true
size=@Size(695 491)

View file

@ -0,0 +1,2 @@
[General]
size=@Size(600 400)

View file

@ -0,0 +1,3 @@
[General]
__userfile__=true
size=@Size(722 400)

View file

@ -0,0 +1,11 @@
[General]
__userfile__=true
[Formats]
LANG=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
useDetailed=true

View file

@ -0,0 +1,3 @@
[General]
__userfile__=true
size=@Size(600 400)

2
lxqt/lxqt-config.conf Normal file
View file

@ -0,0 +1,2 @@
[General]
size=@Size(696 404)

View file

@ -0,0 +1,23 @@
[General]
__userfile__=true
backlightIdleness=50
backlightIdlenessOnBatteryDischarging=true
disableIdlenessWhenFullscreen=false
enableBatteryWatcher=true
enableIdlenessBacklightWatcher=false
enableIdlenessWatcher=true
enableLidWatcher=true
hibernateKeyAction=1
iconType=4
idlenessACAction=-2
idlenessACTime=@Variant(\0\0\0\xf\0\r\xbb\xa0)
idlenessBatteryAction=4
idlenessBatteryTime=@Variant(\0\0\0\xf\0\r\xbb\xa0)
idlenessTime=@Variant(\0\0\0\xf\0\0\xea`)
powerKeyAction=6
powerLowAction=4
powerLowLevel=5
powerLowWarning=30
runCheckLevel=1
showIcon=true
suspendKeyAction=4

5
lxqt/lxqt-runner.conf Normal file
View file

@ -0,0 +1,5 @@
[General]
__userfile__=true
[dialog]
shortcut=Meta+space

24
lxqt/lxqt.conf Normal file
View file

@ -0,0 +1,24 @@
[General]
__userfile__=true
icon_follow_color_scheme=true
icon_theme=Tela-circle-green-dark
palette_override=false
theme=kvantum
tool_bar_icon_size=24
wallpaper_override=false
[Palette]
base_color=#2e2e2d
highlight_color=#007900
highlighted_text_color=#ffffff
link_color=#756cf0
link_visited_color=#d346a9
text_color=#ececec
tooltip_base_color=#212121
tooltip_text_color=#d9d9d9
window_color=#212121
window_text_color=#f9f9f9
[Qt]
font="Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
style=kvantum-dark

2
lxqt/notifications.conf Normal file
View file

@ -0,0 +1,2 @@
[General]
__userfile__=true

66
lxqt/panel.conf Normal file
View file

@ -0,0 +1,66 @@
[General]
__userfile__=true
[fancymenu]
favorites\1\desktopFile=/usr/share/applications/librewolf.desktop
favorites\10\desktopFile=/usr/share/applications/qpdfview.desktop
favorites\11\desktopFile=/usr/share/applications/org.strawberrymusicplayer.strawberry.desktop
favorites\12\desktopFile=/usr/share/applications/pcmanfm-qt.desktop
favorites\13\desktopFile=/usr/share/applications/codium-wayland.desktop
favorites\14\desktopFile=/usr/share/applications/foot.desktop
favorites\2\desktopFile=/usr/share/applications/helium-browser.desktop
favorites\3\desktopFile=/usr/share/applications/org.qbittorrent.qBittorrent.desktop
favorites\4\desktopFile=/usr/share/applications/org.keepassxc.KeePassXC.desktop
favorites\5\desktopFile=/usr/share/applications/io.github.Qalculate.qalculate-qt.desktop
favorites\6\desktopFile=/usr/share/applications/featherpad.desktop
favorites\7\desktopFile=/usr/lib/libreoffice/share/xdg/startcenter.desktop
favorites\8\desktopFile=/usr/share/applications/eqonomize.desktop
favorites\9\desktopFile=/usr/share/applications/org.pwmt.zathura.desktop
favorites\size=14
icon=/home/nirogu/.config/images/favicon.png
ownIcon=true
showText=false
[mount]
alignment=Right
[panel1]
alignment=-1
animation-duration=0
background-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
background-image=
desktop=0
font-color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
hidable=true
hide-on-overlap=false
iconSize=25
lineCount=1
lockPanel=false
opacity=100
panelSize=31
plugins=fancymenu, quicklaunch, taskbar, statusnotifier, tray, mount, volume, worldclock, showdesktop
position=Bottom
reserve-space=true
screen-name=eDP-1
show-delay=0
visible-margin=true
width=100
width-percent=true
[quicklaunch]
apps\1\desktop=/usr/share/applications/librewolf.desktop
apps\2\desktop=/usr/share/applications/pcmanfm-qt.desktop
apps\3\desktop=/usr/share/applications/foot.desktop
apps\size=3
[taskbar]
alignment=Left
[tray]
alignment=Right
[volume]
alignment=Right
[worldclock]
alignment=Right

2
lxqt/power.conf Normal file
View file

@ -0,0 +1,2 @@
[General]
__userfile__=true

31
lxqt/session.conf Normal file
View file

@ -0,0 +1,31 @@
[General]
__userfile__=true
compositor=labwc
lock_command_wayland=swaylock
window_manager=openbox
[Environment]
GTK_CSD=0
GTK_OVERLAY_SCROLLING=0
LANG=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MEASUREMENT=es_CO.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
[Mouse]
cursor_size=24
cursor_theme=catppuccin-macchiato-green-cursors
[Touchpad]
ELAN1200%253A00%252004F3%253A303E%2520Mouse\accelSpeed=0
ELAN1200%253A00%252004F3%253A303E%2520Mouse\naturalScrollingEnabled=0
ELAN1200%253A00%252004F3%253A303E%2520Mouse\scrollingMethodEnabled=4
ELAN1200%253A00%252004F3%253A303E%2520Mouse\tapToDragEnabled=-1
ELAN1200%253A00%252004F3%253A303E%2520Mouse\tappingEnabled=-1
ELAN1200%253A00%252004F3%253A303E%2520Touchpad\accelSpeed=0
ELAN1200%253A00%252004F3%253A303E%2520Touchpad\naturalScrollingEnabled=1
ELAN1200%253A00%252004F3%253A303E%2520Touchpad\scrollingMethodEnabled=1
ELAN1200%253A00%252004F3%253A303E%2520Touchpad\tapToDragEnabled=1
ELAN1200%253A00%252004F3%253A303E%2520Touchpad\tappingEnabled=1

View file

@ -0,0 +1,2 @@
[General]
__userfile__=true

2
lxqt/windowmanagers.conf Normal file
View file

@ -0,0 +1,2 @@
[General]
__userfile__=true

3
nvim/.luarc.json Normal file
View file

@ -0,0 +1,3 @@
{
"format.enable": false
}

20
nvim/.neoconf.json Normal file
View file

@ -0,0 +1,20 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
},
"lspconfig": {
"lua_ls": {
"Lua.format.enable": false
}
}
}

7
nvim/.stylua.toml Normal file
View file

@ -0,0 +1,7 @@
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"
collapse_simple_statement = "Always"

27
nvim/init.lua Normal file
View file

@ -0,0 +1,27 @@
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
-- stylua: ignore
local result = vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
if vim.v.shell_error ~= 0 then
-- stylua: ignore
vim.api.nvim_echo({ { ("Error cloning lazy.nvim:\n%s\n"):format(result), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
vim.fn.getchar()
vim.cmd.quit()
end
end
vim.opt.rtp:prepend(lazypath)
-- validate that lazy is available
if not pcall(require, "lazy") then
-- stylua: ignore
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
vim.fn.getchar()
vim.cmd.quit()
end
require "lazy_setup"
require "polish"

57
nvim/lazy-lock.json Normal file
View file

@ -0,0 +1,57 @@
{
"AstroNvim": { "branch": "main", "commit": "55a2b084eabe880c4ffa377f82bb972caec57e09" },
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
"aerial.nvim": { "branch": "master", "commit": "6ab1a0ce4874d21610fc5a67a6c82c7b943c635b" },
"astrocommunity": { "branch": "main", "commit": "9e0ca5bda04b1fc0d346a956fabb4f292dd81a84" },
"astrocore": { "branch": "main", "commit": "c797dd5a592e2bd154f2503e231b8a4083659534" },
"astrolsp": { "branch": "main", "commit": "0befe28a4ea96e46b7f7c01e4a634c04225ba55a" },
"astrotheme": { "branch": "main", "commit": "4a2af93815e4e6adfe69c836e46047a9451de858" },
"astroui": { "branch": "main", "commit": "4943abbd42674b43249313afe83b91065a40e4be" },
"better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
"blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" },
"cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
"everforest": { "branch": "master", "commit": "3fffb096f6ac11372944ac964c60f8af41d8809f" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
"gopher.nvim": { "branch": "main", "commit": "295e21e637f9194a4d2bc34622d324a88b028141" },
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
"heirline.nvim": { "branch": "master", "commit": "fae936abb5e0345b85c3a03ecf38525b0828b992" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
"neo-tree.nvim": { "branch": "main", "commit": "c4c168e459395275c552179a1baf9c3d885d6a74" },
"neoconf.nvim": { "branch": "main", "commit": "7a8d7fd36f95f5cbbf57d4a5c463f6c54ad54cd3" },
"none-ls.nvim": { "branch": "main", "commit": "6617d47fbf275d197e3335022a3d33ff310a4b93" },
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
"nvim-dap": { "branch": "master", "commit": "7367cec8e8f7a0b1e4566af9a7ef5959d11206a7" },
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-python": { "branch": "master", "commit": "64652d1ae1db80870d9aac7132d76e37acd86a26" },
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" },
"nvim-lspconfig": { "branch": "master", "commit": "fa2662510d30b06168b6e2e6915518decde6bbac" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" },
"schemastore.nvim": { "branch": "main", "commit": "667eaa5da8f66f1dd97c905a12dd1eb544a2d259" },
"smart-splits.nvim": { "branch": "master", "commit": "ddb23c1a1cf1507bda487cda7f6e4690965ef9f5" },
"snacks.nvim": { "branch": "main", "commit": "da230e3ca8146da4b73752daaf0a1d07d343c12d" },
"sqls.nvim": { "branch": "main", "commit": "bfb7b4090268f6163c408577070da4cc9d7450fd" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"typst-preview.nvim": { "branch": "master", "commit": "1603d37bb44ed2efa0b4378d1dfedc087b4f2141" },
"typst.vim": { "branch": "main", "commit": "323539709e29a537ff39dfce6c05f175a8921504" },
"venv-selector.nvim": { "branch": "main", "commit": "7fff64b5b1455207b9a9fd2ae8697cf9ac0b2a2d" },
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
"which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" }
}

23
nvim/lua/community.lua Normal file
View file

@ -0,0 +1,23 @@
-- AstroCommunity: import any community modules here
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
-- This guarantees that the specs are processed before any user plugins.
---@type LazySpec
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.colorscheme.everforest" },
{ import = "astrocommunity.pack.python-ruff" },
{ import = "astrocommunity.pack.lua" },
{ import = "astrocommunity.pack.go" },
{ import = "astrocommunity.pack.bash" },
{ import = "astrocommunity.pack.docker" },
{ import = "astrocommunity.pack.json" },
{ import = "astrocommunity.pack.markdown" },
{ import = "astrocommunity.pack.toml" },
{ import = "astrocommunity.pack.typst" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.sql" },
{ import = "astrocommunity.pack.xml" },
{ import = "astrocommunity.pack.zig" },
-- import/override with your plugins folder
}

32
nvim/lua/lazy_setup.lua Normal file
View file

@ -0,0 +1,32 @@
require("lazy").setup({
{
"AstroNvim/AstroNvim",
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
import = "astronvim.plugins",
opts = { -- AstroNvim options must be set here with the `import` key
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
},
},
{ import = "community" },
{ import = "plugins" },
} --[[@as LazySpec]], {
-- Configure any other `lazy.nvim` configuration options here
install = { colorscheme = { "astrotheme", "habamax" } },
ui = { backdrop = 100 },
performance = {
rtp = {
-- disable some rtp plugins, add more to your liking
disabled_plugins = {
"gzip",
"netrwPlugin",
"tarPlugin",
"tohtml",
"zipPlugin",
},
},
},
} --[[@as LazyConfig]])

View file

@ -0,0 +1,85 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
-- Configuration documentation can be found with `:h astrocore`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
-- Configure core features of AstroNvim
features = {
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
autopairs = true, -- enable autopairs at start
cmp = true, -- enable completion at start
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
highlighturl = true, -- highlight URLs at start
notifications = true, -- enable notifications at start
},
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
diagnostics = {
virtual_text = true,
underline = true,
},
-- passed to `vim.filetype.add`
filetypes = {
-- see `:h vim.filetype.add` for usage
extension = {
foo = "fooscript",
},
filename = {
[".foorc"] = "fooscript",
},
pattern = {
[".*/etc/foo/.*"] = "fooscript",
},
},
-- vim options can be configured here
options = {
opt = { -- vim.opt.<key>
relativenumber = true, -- sets vim.opt.relativenumber
number = true, -- sets vim.opt.number
spell = false, -- sets vim.opt.spell
signcolumn = "yes", -- sets vim.opt.signcolumn to yes
wrap = false, -- sets vim.opt.wrap
},
g = { -- vim.g.<key>
-- configure global vim variables (vim.g)
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
-- This can be found in the `lua/lazy_setup.lua` file
},
},
-- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = {
-- first key is the mode
n = {
-- second key is the lefthand side of the map
-- navigate buffer tabs
["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
-- mappings seen under group name "Buffer"
["<Leader>bd"] = {
function()
require("astroui.status.heirline").buffer_picker(
function(bufnr) require("astrocore.buffer").close(bufnr) end
)
end,
desc = "Close buffer from tabline",
},
-- tables with just a `desc` key will be registered with which-key if it's installed
-- this is useful for naming menus
-- ["<Leader>b"] = { desc = "Buffers" },
-- setting a mapping to false will disable it
-- ["<C-S>"] = false,
},
},
},
}

View file

@ -0,0 +1,105 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
-- Configuration documentation can be found with `:h astrolsp`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrolsp",
---@type AstroLSPOpts
opts = {
-- Configuration table of features provided by AstroLSP
features = {
codelens = true, -- enable/disable codelens refresh on start
inlay_hints = false, -- enable/disable inlay hints on start
semantic_tokens = true, -- enable/disable semantic token highlighting
},
-- customize lsp formatting options
formatting = {
-- control auto formatting on save
format_on_save = {
enabled = true, -- enable or disable format on save globally
allow_filetypes = { -- enable format on save for specified filetypes only
-- "go",
},
ignore_filetypes = { -- disable format on save for specified filetypes
-- "python",
},
},
disabled = { -- disable formatting capabilities for the listed language servers
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
-- "lua_ls",
},
timeout_ms = 1000, -- default format timeout
-- filter = function(client) -- fully override the default formatting function
-- return true
-- end
},
-- enable servers that you already have installed without mason
servers = {
-- "pyright"
},
-- customize language server configuration options passed to `lspconfig`
---@diagnostic disable: missing-fields
config = {
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
},
-- customize how language servers are attached
handlers = {
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
-- function(server, opts) require("lspconfig")[server].setup(opts) end
-- the key is the server that is being setup with `lspconfig`
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
},
-- Configure buffer local auto commands to add when attaching a language server
autocmds = {
-- first key is the `augroup` to add the auto commands to (:h augroup)
lsp_codelens_refresh = {
-- Optional condition to create/delete auto command group
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
-- the auto commands will be deleted for that buffer
cond = "textDocument/codeLens",
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
-- list of auto commands to set
{
-- events to trigger
event = { "InsertLeave", "BufEnter" },
-- the rest of the autocmd options (:h nvim_create_autocmd)
desc = "Refresh codelens (buffer)",
callback = function(args)
if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end
end,
},
},
},
-- mappings to be set up on attaching of a language server
mappings = {
n = {
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
gD = {
function() vim.lsp.buf.declaration() end,
desc = "Declaration of current symbol",
cond = "textDocument/declaration",
},
["<Leader>uY"] = {
function() require("astrolsp.toggles").buffer_semantic_tokens() end,
desc = "Toggle LSP semantic highlight (buffer)",
cond = function(client)
return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
end,
},
},
},
-- A custom `on_attach` function to be run after the default `on_attach` function
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
on_attach = function(client, bufnr)
-- this would disable semanticTokensProvider for all clients
-- client.server_capabilities.semanticTokensProvider = nil
end,
},
}

View file

@ -0,0 +1,39 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroUI provides the basis for configuring the AstroNvim User Interface
-- Configuration documentation can be found with `:h astroui`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astroui",
---@type AstroUIOpts
opts = {
-- change colorscheme
colorscheme = "astrodark",
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
highlights = {
init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" },
},
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
-- Normal = { bg = "#000000" },
},
},
-- Icons can be configured throughout the interface
icons = {
-- configure the loading of the lsp in the status line
LSPLoading1 = "",
LSPLoading2 = "",
LSPLoading3 = "",
LSPLoading4 = "",
LSPLoading5 = "",
LSPLoading6 = "",
LSPLoading7 = "",
LSPLoading8 = "",
LSPLoading9 = "",
LSPLoading10 = "",
},
},
}

View file

@ -0,0 +1,28 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Mason
---@type LazySpec
return {
-- use mason-tool-installer for automatically installing Mason packages
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
-- overrides `require("mason-tool-installer").setup(...)`
opts = {
-- Make sure to use the names found in `:Mason`
ensure_installed = {
-- install language servers
"lua-language-server",
-- install formatters
"stylua",
-- install debuggers
"debugpy",
-- install any other package
"tree-sitter-cli",
},
},
},
}

View file

@ -0,0 +1,24 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize None-ls sources
---@type LazySpec
return {
"nvimtools/none-ls.nvim",
opts = function(_, opts)
-- opts variable is the default configuration table for the setup function call
-- local null_ls = require "null-ls"
-- Check supported formatters and linters
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
-- Only insert new sources, do not replace the existing ones
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
-- Set a formatter
-- null_ls.builtins.formatting.stylua,
-- null_ls.builtins.formatting.prettier,
})
end,
}

View file

@ -0,0 +1,15 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Treesitter
---@type LazySpec
return {
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"lua",
"vim",
-- add more arguments for adding more treesitter parsers
},
},
}

86
nvim/lua/plugins/user.lua Normal file
View file

@ -0,0 +1,86 @@
-- You can also add or configure plugins by creating files in this `plugins/` folder
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
-- Here are some examples:
---@type LazySpec
return {
-- == Examples of Adding Plugins ==
-- "andweeb/presence.nvim",
-- {
-- "ray-x/lsp_signature.nvim",
-- event = "BufRead",
-- config = function() require("lsp_signature").setup() end,
-- },
-- == Examples of Overriding Plugins ==
-- customize dashboard options
{
"folke/snacks.nvim",
opts = {
dashboard = {
preset = {
header = table.concat({
"███  ██ ██ ███████ ██████ ██████ ██  ██",
"████  ██ ██ ███ ██ ██ ██ ██ ██  ██",
"██ ██  ██ ██ ███████ ██ ██ ██ ████ ██  ██",
"██  ██ ██ ██ ███ ██ ██ ██ ██ ██ ██  ██",
"██   ████ ██ ███ ██ ██████ ██████  ██████ ",
"",
" ███  ██ ██  ██ ██ ███  ███",
" ████  ██ ██  ██ ██ ████  ████",
" ██ ██  ██ ██  ██ ██ ██ ████ ██",
" ██  ██ ██  ██  ██  ██ ██  ██  ██",
" ██   ████   ████   ██ ██  ██",
}, "\n"),
},
},
},
},
-- You can disable default plugins as follows:
-- { "max397574/better-escape.nvim", enabled = false },
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
-- {
-- "L3MON4D3/LuaSnip",
-- config = function(plugin, opts)
-- require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call
-- -- add more custom luasnip configuration such as filetype extend or custom snippets
-- local luasnip = require "luasnip"
-- luasnip.filetype_extend("javascript", { "javascriptreact" })
-- end,
-- },
-- {
-- "windwp/nvim-autopairs",
-- config = function(plugin, opts)
-- require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call
-- -- add more custom autopairs configuration such as custom rules
-- local npairs = require "nvim-autopairs"
-- local Rule = require "nvim-autopairs.rule"
-- local cond = require "nvim-autopairs.conds"
-- npairs.add_rules(
-- {
-- Rule("$", "$", { "tex", "latex" })
-- -- don't add a pair if the next character is %
-- :with_pair(cond.not_after_regex "%%")
-- -- don't add a pair if the previous character is xxx
-- :with_pair(
-- cond.not_before_regex("xxx", 3)
-- )
-- -- don't move right when repeat character
-- :with_move(cond.none())
-- -- don't delete if the next character is xx
-- :with_del(cond.not_after_regex "xx")
-- -- disable adding a newline when you press <cr>
-- :with_cr(cond.none()),
-- },
-- -- disable for .vim files, but it work for another filetypes
-- Rule("a", "a", "-vim")
-- )
-- end,
-- },
}

5
nvim/lua/polish.lua Normal file
View file

@ -0,0 +1,5 @@
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- This will run last in the setup process.
-- This is just pure lua so anything that doesn't
-- fit in the normal config locations above can go here

6
nvim/neovim.yml Normal file
View file

@ -0,0 +1,6 @@
---
base: lua51
globals:
vim:
any: true

8
nvim/selene.toml Normal file
View file

@ -0,0 +1,8 @@
std = "neovim"
[rules]
global_usage = "allow"
if_same_then_else = "allow"
incorrect_standard_library_use = "allow"
mixed_table = "allow"
multiple_statements = "allow"

7
nwg-look/config Normal file
View file

@ -0,0 +1,7 @@
{
"export-settings-ini": true,
"export-gtkrc-20": true,
"export-index-theme": true,
"export-xsettingsd": true,
"export-gtk4-symlinks": true
}

782
openbox/rc.xml Normal file
View file

@ -0,0 +1,782 @@
<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
<resistance>
<strength>10</strength>
<screen_edge_strength>20</screen_edge_strength>
</resistance>
<focus>
<focusNew>yes</focusNew>
<!-- always try to focus new windows when they appear. other rules do
apply -->
<followMouse>no</followMouse>
<!-- move focus to a window when you move the mouse into it -->
<focusLast>yes</focusLast>
<!-- focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>no</underMouse>
<!-- move focus under the mouse, even when the mouse is not moving -->
<focusDelay>200</focusDelay>
<!-- when followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>no</raiseOnFocus>
<!-- when followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<placement>
<policy>Smart</policy>
<!-- 'Smart' or 'UnderMouse' -->
<center>yes</center>
<!-- whether to place windows in the center of the free area found or
the top left corner -->
<monitor>Primary</monitor>
<!-- with Smart placement on a multi-monitor system, try to place new windows
on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
the active window is, 'Primary' - only on the primary monitor -->
<primaryMonitor>1</primaryMonitor>
<!-- The monitor where Openbox should place popup dialogs such as the
focus cycling popup, or the desktop switch popup. It can be an index
from 1, specifying a particular monitor. Or it can be one of the
following: 'Mouse' - where the mouse is, or
'Active' - where the active window is -->
</placement>
<theme>
<name>Everforest</name>
<titleLayout>NLIMC</titleLayout>
<!--
available characters are NDSLIMC, each can occur at most once.
N: window icon
L: window label (AKA title).
I: iconify
M: maximize
C: close
S: shade (roll up/down)
D: omnipresent (on all desktops).
-->
<keepBorder>yes</keepBorder>
<animateIconify>yes</animateIconify>
<font place="ActiveWindow">
<name>sans</name>
<size>8</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveWindow">
<name>sans</name>
<size>8</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuHeader">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="MenuItem">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>normal</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="ActiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
<font place="InactiveOnScreenDisplay">
<name>sans</name>
<size>9</size>
<!-- font size in points -->
<weight>bold</weight>
<!-- 'bold' or 'normal' -->
<slant>normal</slant>
<!-- 'italic' or 'normal' -->
</font>
</theme>
<desktops>
<!-- this stuff is only used at startup, pagers allow you to change them
during a session
these are default values to use when other ones are not already set
by other applications, or saved in your session
use obconf if you want to change these without having to log out
and back in -->
<number>4</number>
<firstdesk>1</firstdesk>
<names>
<!-- set names up here if you want to, like this:
<name>desktop 1</name>
<name>desktop 2</name>
-->
</names>
<popupTime>875</popupTime>
<!-- The number of milliseconds to show the popup for when switching
desktops. Set this to 0 to disable the popup. -->
</desktops>
<resize>
<drawContents>yes</drawContents>
<popupShow>Nonpixel</popupShow>
<!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
<popupPosition>Center</popupPosition>
<!-- 'Center', 'Top', or 'Fixed' -->
<popupFixedPosition>
<!-- these are used if popupPosition is set to 'Fixed' -->
<x>10</x>
<!-- positive number for distance from left edge, negative number for
distance from right edge, or 'Center' -->
<y>10</y>
<!-- positive number for distance from top edge, negative number for
distance from bottom edge, or 'Center' -->
</popupFixedPosition>
</resize>
<!-- You can reserve a portion of your screen where windows will not cover when
they are maximized, or when they are initially placed.
Many programs reserve space automatically, but you can use this in other
cases. -->
<margins>
<top>0</top>
<bottom>0</bottom>
<left>0</left>
<right>0</right>
</margins>
<dock>
<position>TopLeft</position>
<!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
<floatingX>0</floatingX>
<floatingY>0</floatingY>
<noStrut>no</noStrut>
<stacking>Above</stacking>
<!-- 'Above', 'Normal', or 'Below' -->
<direction>Vertical</direction>
<!-- 'Vertical' or 'Horizontal' -->
<autoHide>no</autoHide>
<hideDelay>300</hideDelay>
<!-- in milliseconds (1000 = 1 second) -->
<showDelay>300</showDelay>
<!-- in milliseconds (1000 = 1 second) -->
<moveButton>Middle</moveButton>
<!-- 'Left', 'Middle', 'Right' -->
</dock>
<keyboard>
<chainQuitKey>C-g</chainQuitKey>
<!-- Keybindings for desktop switching -->
<keybind key="C-A-Left">
<action name="GoToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Right">
<action name="GoToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Up">
<action name="GoToDesktop">
<to>up</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="C-A-Down">
<action name="GoToDesktop">
<to>down</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Left">
<action name="SendToDesktop">
<to>left</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Right">
<action name="SendToDesktop">
<to>right</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Up">
<action name="SendToDesktop">
<to>up</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="S-A-Down">
<action name="SendToDesktop">
<to>down</to>
<wrap>no</wrap>
</action>
</keybind>
<keybind key="W-F1">
<action name="GoToDesktop">
<to>1</to>
</action>
</keybind>
<keybind key="W-F2">
<action name="GoToDesktop">
<to>2</to>
</action>
</keybind>
<keybind key="W-F3">
<action name="GoToDesktop">
<to>3</to>
</action>
</keybind>
<keybind key="W-F4">
<action name="GoToDesktop">
<to>4</to>
</action>
</keybind>
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>
<!-- Keybindings for windows -->
<keybind key="A-F4">
<action name="Close"/>
</keybind>
<keybind key="A-Escape">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</keybind>
<keybind key="A-space">
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</keybind>
<!-- Keybindings for window switching -->
<keybind key="A-Tab">
<action name="NextWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="A-S-Tab">
<action name="PreviousWindow">
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<keybind key="C-A-Tab">
<action name="NextWindow">
<panels>yes</panels>
<desktop>yes</desktop>
<finalactions>
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</finalactions>
</action>
</keybind>
<!-- Keybindings for window switching with the arrow keys -->
<keybind key="W-S-Right">
<action name="DirectionalCycleWindows">
<direction>right</direction>
</action>
</keybind>
<keybind key="W-S-Left">
<action name="DirectionalCycleWindows">
<direction>left</direction>
</action>
</keybind>
<keybind key="W-S-Up">
<action name="DirectionalCycleWindows">
<direction>up</direction>
</action>
</keybind>
<keybind key="W-S-Down">
<action name="DirectionalCycleWindows">
<direction>down</direction>
</action>
</keybind>
<!-- Keybindings for running applications -->
<keybind key="W-e">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Konqueror</name>
</startupnotify>
<command>kfmclient openProfile filemanagement</command>
</action>
</keybind>
</keyboard>
<mouse>
<dragThreshold>1</dragThreshold>
<!-- number of pixels the mouse must move before a drag begins -->
<doubleClickTime>500</doubleClickTime>
<!-- in milliseconds (1000 = 1 second) -->
<screenEdgeWarpTime>400</screenEdgeWarpTime>
<!-- Time before changing desktops when the pointer touches the edge of the
screen while moving a window, in milliseconds (1000 = 1 second).
Set this to 0 to disable warping -->
<screenEdgeWarpMouse>false</screenEdgeWarpMouse>
<!-- Set this to TRUE to move the mouse pointer across the desktop when
switching due to hitting the edge of the screen -->
<context name="Frame">
<mousebind button="A-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="A-Left" action="Click">
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="A-Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="A-Right" action="Drag">
<action name="Resize"/>
</mousebind>
<mousebind button="A-Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="C-A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="C-A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-S-Up" action="Click">
<action name="SendToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-S-Down" action="Click">
<action name="SendToDesktop">
<to>next</to>
</action>
</mousebind>
</context>
<context name="Titlebar">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Up" action="Click">
<action name="if">
<shaded>no</shaded>
<then>
<action name="Shade"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
<action name="Lower"/>
</then>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="if">
<shaded>yes</shaded>
<then>
<action name="Unshade"/>
<action name="Raise"/>
</then>
</action>
</mousebind>
</context>
<context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Lower"/>
<action name="FocusToBottom"/>
<action name="Unfocus"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>top</edge>
</action>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>left</edge>
</action>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>right</edge>
</action>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize">
<edge>bottom</edge>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="TRCorner BRCorner TLCorner BLCorner">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Icon">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="AllDesktops">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleOmnipresent"/>
</mousebind>
</context>
<context name="Shade">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleShade"/>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="ToggleMaximize"/>
</mousebind>
<mousebind button="Middle" action="Click">
<action name="ToggleMaximize">
<direction>vertical</direction>
</action>
</mousebind>
<mousebind button="Right" action="Click">
<action name="ToggleMaximize">
<direction>horizontal</direction>
</action>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
<action name="Unshade"/>
</mousebind>
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Desktop">
<mousebind button="Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="C-A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="C-A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Root">
<!-- Menus -->
<mousebind button="Middle" action="Press">
<action name="ShowMenu">
<menu>client-list-combined-menu</menu>
</action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="ShowMenu">
<menu>root-menu</menu>
</action>
</mousebind>
</context>
<context name="MoveResize">
<mousebind button="Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
<mousebind button="A-Up" action="Click">
<action name="GoToDesktop">
<to>previous</to>
</action>
</mousebind>
<mousebind button="A-Down" action="Click">
<action name="GoToDesktop">
<to>next</to>
</action>
</mousebind>
</context>
</mouse>
<menu>
<!-- You can specify more than one menu file in here and they are all loaded,
just don't make menu ids clash or, well, it'll be kind of pointless -->
<!-- default menu file (or custom one in $HOME/.config/openbox/) -->
<file>menu.xml</file>
<hideDelay>200</hideDelay>
<!-- if a press-release lasts longer than this setting (in milliseconds), the
menu is hidden again -->
<middle>no</middle>
<!-- center submenus vertically about the parent entry -->
<submenuShowDelay>100</submenuShowDelay>
<!-- time to delay before showing a submenu after hovering over the parent
entry.
if this is a negative value, then the delay is infinite and the
submenu will not be shown until it is clicked on -->
<submenuHideDelay>400</submenuHideDelay>
<!-- time to delay before hiding a submenu when selecting another
entry in parent menu
if this is a negative value, then the delay is infinite and the
submenu will not be hidden until a different submenu is opened -->
<showIcons>yes</showIcons>
<!-- controls if icons appear in the client-list-(combined-)menu -->
<manageDesktops>yes</manageDesktops>
<!-- show the manage desktops section in the client-list-(combined-)menu -->
</menu>
<applications>
<!--
# this is an example with comments through out. use these to make your
# own rules, but without the comments of course.
# you may use one or more of the name/class/role/title/type rules to specify
# windows to match
<application name="the window's _OB_APP_NAME property (see obxprop)"
class="the window's _OB_APP_CLASS property (see obxprop)"
groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
role="the window's _OB_APP_ROLE property (see obxprop)"
title="the window's _OB_APP_TITLE property (see obxprop)"
type="the window's _OB_APP_TYPE property (see obxprob)..
(if unspecified, then it is 'dialog' for child windows)">
# you may set only one of name/class/role/title/type, or you may use more
# than one together to restrict your matches.
# the name, class, role, and title use simple wildcard matching such as those
# used by a shell. you can use * to match any characters and ? to match
# any single character.
# the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
# or desktop
# when multiple rules match a window, they will all be applied, in the
# order that they appear in this list
# each rule element can be left out or set to 'default' to specify to not
# change that attribute of the window
<decor>yes</decor>
# enable or disable window decorations
<shade>no</shade>
# make the window shaded when it appears, or not
<position force="no">
# the position is only used if both an x and y coordinate are provided
# (and not set to 'default')
# when force is "yes", then the window will be placed here even if it
# says you want it placed elsewhere. this is to override buggy
# applications who refuse to behave
<x>center</x>
# a number like 50, or 'center' to center on screen. use a negative number
# to start from the right (or bottom for <y>), ie -50 is 50 pixels from
# the right edge (or bottom). use 'default' to specify using value
# provided by the application, or chosen by openbox, instead.
<y>200</y>
<monitor>1</monitor>
# specifies the monitor in a xinerama setup.
# 1 is the first head, or 'mouse' for wherever the mouse is
</position>
<size>
# the size to make the window.
<width>20</width>
# a number like 20, or 'default' to use the size given by the application.
# you can use fractions such as 1/2 or percentages such as 75% in which
# case the value is relative to the size of the monitor that the window
# appears on.
<height>30%</height>
</size>
<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some
# restrictions may apply, but Openbox will try to
<desktop>1</desktop>
# 1 is the first desktop, 'all' for all desktops
<layer>normal</layer>
# 'above', 'normal', or 'below'
<iconic>no</iconic>
# make the window iconified when it appears, or not
<skip_pager>no</skip_pager>
# asks to not be shown in pagers
<skip_taskbar>no</skip_taskbar>
# asks to not be shown in taskbars. window cycling actions will also
# skip past such windows
<fullscreen>yes</fullscreen>
# make the window in fullscreen mode when it appears
<maximized>true</maximized>
# 'Horizontal', 'Vertical' or boolean (yes/no)
</application>
# end of the example
-->
</applications>
</openbox_config>

View file

@ -0,0 +1,2 @@
[Recent]
Files=@Invalid()

View file

@ -0,0 +1,119 @@
[Behavior]
AutoSelectionDelay=600
BookmarkOpenMethod=current_tab
ConfirmDelete=true
ConfirmTrash=false
CtrlRightClick=false
NoUsbTrash=false
QuickExec=false
RecentFilesNumber=0
SelectNewFiles=false
SingleClick=true
SingleWindowMode=false
UseTrash=true
[Desktop]
AllSticky=false
BgColor=#000000
DesktopCellMargins=@Size(3 1)
DesktopIconSize=48
DesktopShortcuts=@Invalid()
FgColor=#ffffff
Font="Sans Serif,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
HideItems=false
LastSlide=
OpenWithDefaultFileManager=false
PerScreenWallpaper=false
ShadowColor=#000000
ShowHidden=false
SlideShowInterval=0
SortColumn=name
SortFolderFirst=true
SortHiddenLast=false
SortOrder=ascending
TransformWallpaper=false
Wallpaper=/home/nirogu/.config/images/moments_before_desk.png
WallpaperDialogSize=@Size(700 500)
WallpaperDialogSplitterPos=200
WallpaperDirectory=
WallpaperMode=stretch
WallpaperRandomize=false
WorkAreaMargins=12, 12, 12, 12
[FolderView]
BackupAsHidden=false
BigIconSize=48
CustomColumnWidths=@Invalid()
FolderViewCellMargins=@Size(3 3)
HiddenColumns=@Invalid()
Mode=icon
NoItemTooltip=false
ScrollPerPixel=true
ShadowHidden=true
ShowFilter=false
ShowFullNames=true
ShowHidden=false
SidePaneIconSize=24
SmallIconSize=24
SortCaseSensitive=false
SortColumn=name
SortFolderFirst=true
SortHiddenLast=false
SortOrder=ascending
ThumbnailIconSize=128
[Places]
HiddenPlaces=@Invalid()
[Search]
ContentPatterns=@Invalid()
MaxSearchHistory=0
NamePatterns=@Invalid()
searchContentCaseInsensitive=false
searchContentRegexp=true
searchNameCaseInsensitive=false
searchNameRegexp=true
searchRecursive=false
searchhHidden=false
[System]
Archiver=lxqt-archiver
FallbackIconThemeName=breeze
OnlyUserTemplates=false
SIUnit=false
SuCommand=lxsudo dbus-run-session -- %s
TemplateRunApp=false
TemplateTypeOnce=false
Terminal=foot
[Thumbnail]
MaxExternalThumbnailFileSize=-1
MaxThumbnailFileSize=4096
ShowThumbnails=true
ThumbnailLocalFilesOnly=true
[Volume]
AutoRun=true
CloseOnUnmount=true
MountOnStartup=true
MountRemovable=true
[Window]
AlwaysShowTabs=false
FixedHeight=600
FixedWidth=800
LastWindowHeight=746
LastWindowMaximized=true
LastWindowWidth=1366
PathBarButtons=true
RememberWindowSize=true
ReopenLastTabs=false
ShowMenuBar=false
ShowTabClose=true
SidePaneMode=places
SidePaneVisible=true
SplitView=false
SplitViewTabsNum=0
SplitterPos=250
SwitchToNewTab=false
TabPaths=@Invalid()

View file

@ -0,0 +1,76 @@
## LXQt labwc environment file
## Example ~/.config/labwc/environment file.
## Uncomment lines starting with one '#' to suit your needs.
##
##
## Cursor theme and size are set by LXQt and can be configured in"Appearance → Cursor".
## No need to edit.
# XCURSOR_THEME=
# XCURSOR_SIZE=
## Disable hardware cursors. Most users wouldn't want to do this, but if you
## are experiencing issues with disappearing cursors, this might fix it.
## Autodetected at startup on virtualized hardware which use systemd.
# WLR_NO_HARDWARE_CURSORS=1
##
## In order for labwc to work out of the box, the environment variable below
## is set to "1" by default to avoid menus with incorrect offset and blank
## windows with Java applications such as JetBrains and Intellij Idea.
## See https://github.com/swaywm/sway/issues/595
## labwc will not override any already set environment variables, so if you for
## some reason do not want this, then just set it to "0" (not recommended, but
## mentioned here for completeness).
##
# _JAVA_AWT_WM_NONREPARENTING=0
##
## This allows xdg-desktop-portal-wlr to function (e.g. for screen-recording).
## It is automatically set to "LXQt:labwc:wlroots" by LXQt though, so it is only
## included here for completeness. Again, labwc will not over-write an
## already set environment variable, so if you need it set to something else,
## then uncomment and adjust.
##
# XDG_CURRENT_DESKTOP=labwc:wlroots
##
## This causes a virtual output to be created automatically whenever there
## are no outputs around. This helps for cases like wayvnc so there is always
## an output available to connect to. The name can be chosen freely but there
## must be no duplicate output names, for this reason using VIRTUAL-x or a
## physical connector name like HDMI-A-1 is not recommended as wlroots may
## want to create outputs with those names later on which would then fail.
##
## Using an output name that starts with NOOP- has the additional benefit
## that wayvnc will detect it being a virtual output and allow clients to
## resize the output to match the client resolution.
##
# LABWC_FALLBACK_OUTPUT=NOOP-fallback
##
## LXQt tries to set keyboard layout the first login, edit here to change and/or complete.
## Use the XKB_DEFAULT_LAYOUT variable to set the keyboard layout. For example
## to start with Swedish keyboard layout set it to 'se'. If you are unsure what
## your country code is, refer to the layout section of:
## /usr/share/X11/xkb/rules/evdev.lst
##
## Multiple keyboard layouts can be set by comma-separating the country codes.
## If a variant layout is needed, the syntax is layout(variant)
## If multiple layouts are used, specify the toggle-keybind using
## XKB_DEFAULT_OPTIONS as show below. For possible values refer to the
## refer to the option section of:
## /usr/share/X11/xkb/rules/evdev.lst
##
## Compose Key: For possible values refer to the "Compose key - Position of Compose key"
## in: /usr/share/X11/xkb/rules/evdev.lst
##
## For further details, see xkeyboard-config(7)
##
XKB_DEFAULT_LAYOUT=latam,us(intl)
XKB_DEFAULT_OPTIONS=grp:ctrls_toggle

27
sddm/config/labwc/rc.xml Normal file
View file

@ -0,0 +1,27 @@
<?xml version="1.0"?>
<labwc_config>
<keyboard>
<keybind key="A-Space">
<action name="ShowMenu" menu="client-menu" />
</keybind>
<keybind key="A-k">
<action name="Execute">
<command>wvkbd-mobintl</command>
</action>
</keybind>
</keyboard>
<mouse>
<default />
</mouse>
<libinput>
<device category="default">
<naturalScroll>no</naturalScroll>
<pointerSpeed>0.8</pointerSpeed>
<accelProfile>adaptive</accelProfile>
<tap>yes</tap>
<disableWhileTyping>yes</disableWhileTyping>
</device>
</libinput>
</labwc_config>

View file

@ -0,0 +1,14 @@
import QtQuick 2.15
import SddmComponents 2.0
Clock {
id: time
color: "#CAD3F5"
timeFont.family: config.Font
dateFont.family: config.Font
anchors {
margins: 10
top: parent.top
right: parent.right
}
}

View file

@ -0,0 +1,177 @@
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import "../assets"
Item {
property var user: userField.text
property var password: passwordField.text
property var session: sessionPanel.session
property var inputHeight: Screen.height * 0.032
property var inputWidth: Screen.width * 0.16
Rectangle {
id: loginBackground
anchors {
verticalCenter: parent.verticalCenter
horizontalCenter: parent.horizontalCenter
}
height: inputHeight * ( config.UserIcon == "true" ? 11.2 : 5.3 )
width: inputWidth * 1.2
radius: 5
visible: config.LoginBackground == "true" ? true : false
color: "#1E2030"
}
Column {
spacing: 8
anchors {
bottom: parent.bottom
left: parent.left
}
PowerButton {
id: powerButton
}
RebootButton {
id: rebootButton
}
SleepButton {
id: sleepButton
}
z: 5
}
Column {
spacing: 8
anchors {
bottom: parent.bottom
right: parent.right
}
SessionPanel {
id: sessionPanel
}
z: 5
}
Column {
spacing: 8
z: 5
width: inputWidth
anchors {
verticalCenter: parent.verticalCenter
horizontalCenter: parent.horizontalCenter
}
Rectangle {
visible: config.UserIcon == "true" ? true : false
width: inputHeight * 5.7 ; height: inputHeight * 5.7
color: "transparent"
Image {
source: Qt.resolvedUrl("../assets/defaultIcon.png")
height: parent.width
width: parent.width
}
Image {
// common icon path for KDE and GNOME
source: Qt.resolvedUrl("/var/lib/AccountsService/icons/" + user)
height: parent.width
width: parent.width
}
Image {
source: Qt.resolvedUrl(config.LoginBackground == "true" ? "../assets/maskDark.svg" : "../assets/mask.svg")
height: parent.width
width: parent.width
}
Image {
source: Qt.resolvedUrl("../assets/ring.svg")
height: parent.width
width: parent.width
}
anchors {
horizontalCenter: parent.horizontalCenter
}
}
UserField {
id: userField
height: inputHeight
width: parent.width
}
PasswordField {
id: passwordField
height: inputHeight
width: parent.width
onAccepted: loginButton.clicked()
}
Button {
id: loginButton
height: inputHeight
width: parent.width
enabled: user != "" && password != "" ? true : false
hoverEnabled: true
contentItem: Text {
id: buttonText
renderType: Text.NativeRendering
font {
family: config.Font
pointSize: config.FontSize
bold: true
}
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: "#181926"
text: "Login"
}
background: Rectangle {
id: buttonBackground
color: "#A6DA95"
radius: 3
}
states: [
State {
name: "pressed"
when: loginButton.down
PropertyChanges {
target: buttonBackground
color: "#A5ADCB"
}
PropertyChanges {
target: buttonText
}
},
State {
name: "hovered"
when: loginButton.hovered
PropertyChanges {
target: buttonBackground
color: "#A5ADCB"
}
PropertyChanges {
target: buttonText
}
},
State {
name: "enabled"
when: loginButton.enabled
PropertyChanges {
target: buttonBackground
}
PropertyChanges {
target: buttonText
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: {
sddm.login(user, password, session)
}
}
}
Connections {
target: sddm
function onLoginFailed() {
passwordField.text = ""
passwordField.focus = true
}
}
}

View file

@ -0,0 +1,50 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
TextField {
id: passwordField
focus: true
selectByMouse: true
placeholderText: "Password"
echoMode: TextInput.Password
passwordCharacter: "•"
passwordMaskDelay: config.PasswordShowLastLetter
selectionColor: "#6E738D"
renderType: Text.NativeRendering
font {
family: config.Font
pointSize: config.FontSize
bold: true
}
color: "#CAD3F5"
horizontalAlignment: TextInput.AlignHCenter
background: Rectangle {
id: passFieldBackground
radius: 3
color: "#363A4F"
}
states: [
State {
name: "focused"
when: passwordField.activeFocus
PropertyChanges {
target: passFieldBackground
color: "#494D64"
}
},
State {
name: "hovered"
when: passwordField.hovered
PropertyChanges {
target: passFieldBackground
color: "#494D64"
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
}

View file

@ -0,0 +1,41 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Item {
implicitHeight: powerButton.height
implicitWidth: powerButton.width
Button {
id: powerButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/power.svg")
height: height
width: width
color: "#181926"
}
background: Rectangle {
id: powerButtonBackground
radius: 3
color: "#ED8796"
}
states: [
State {
name: "hovered"
when: powerButton.hovered
PropertyChanges {
target: powerButtonBackground
color: "#F4DBD6"
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: sddm.powerOff()
}
}

View file

@ -0,0 +1,41 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Item {
implicitHeight: rebootButton.height
implicitWidth: rebootButton.width
Button {
id: rebootButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/reboot.svg")
height: height
width: width
color: "#181926"
}
background: Rectangle {
id: rebootButtonBackground
radius: 3
color: "#ED8796"
}
states: [
State {
name: "hovered"
when: rebootButton.hovered
PropertyChanges {
target: rebootButtonBackground
color: "#F4DBD6"
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: sddm.reboot()
}
}

View file

@ -0,0 +1,158 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQml.Models 2.15
Item {
property var session: sessionList.currentIndex
implicitHeight: sessionButton.height
implicitWidth: sessionButton.width
DelegateModel {
id: sessionWrapper
model: sessionModel
delegate: ItemDelegate {
id: sessionEntry
height: inputHeight
width: parent.width
highlighted: sessionList.currentIndex == index
contentItem: Text {
renderType: Text.NativeRendering
font {
family: config.Font
pointSize: config.FontSize
bold: true
}
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
color: "#CAD3F5"
text: name
}
background: Rectangle {
id: sessionEntryBackground
color: "#494D64"
radius: 3
}
states: [
State {
name: "hovered"
when: sessionEntry.hovered
PropertyChanges {
target: sessionEntryBackground
color: "#5B6078"
}
}
]
transitions: Transition {
PropertyAnimation {
property: "color"
duration: 300
}
}
MouseArea {
anchors.fill: parent
onClicked: {
sessionList.currentIndex = index
sessionPopup.close()
}
}
}
}
Button {
id: sessionButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/settings.svg")
height: height
width: width
color: "#CAD3F5"
}
background: Rectangle {
id: sessionButtonBackground
color: "#363A4F"
radius: 3
}
states: [
State {
name: "pressed"
when: sessionButton.down
PropertyChanges {
target: sessionButtonBackground
color: "#494D64"
}
},
State {
name: "hovered"
when: sessionButton.hovered
PropertyChanges {
target: sessionButtonBackground
color: "#5B6078"
}
},
State {
name: "selection"
when: sessionPopup.visible
PropertyChanges {
target: sessionButtonBackground
color: "#5B6078"
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 150
}
}
onClicked: {
sessionPopup.visible ? sessionPopup.close() : sessionPopup.open()
sessionButton.state = "pressed"
}
}
Popup {
id: sessionPopup
width: inputWidth + padding * 2
x: (sessionButton.width + sessionList.spacing) * -7.6
y: -(contentHeight + padding * 2) + sessionButton.height
padding: inputHeight / 10
background: Rectangle {
radius: 5.4
color: "#363A4F"
}
contentItem: ListView {
id: sessionList
implicitHeight: contentHeight
spacing: 8
model: sessionWrapper
currentIndex: sessionModel.lastIndex
clip: true
}
enter: Transition {
ParallelAnimation {
NumberAnimation {
property: "opacity"
from: 0
to: 1
duration: 400
easing.type: Easing.OutExpo
}
NumberAnimation {
property: "x"
from: sessionPopup.x + (inputWidth * 0.1)
to: sessionPopup.x
duration: 500
easing.type: Easing.OutExpo
}
}
}
exit: Transition {
NumberAnimation {
property: "opacity"
from: 1
to: 0
duration: 300
easing.type: Easing.OutExpo
}
}
}
}

View file

@ -0,0 +1,41 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
Item {
implicitHeight: sleepButton.height
implicitWidth: sleepButton.width
Button {
id: sleepButton
height: inputHeight
width: inputHeight
hoverEnabled: true
icon {
source: Qt.resolvedUrl("../icons/sleep.svg")
height: height
width: width
color: "#181926"
}
background: Rectangle {
id: sleepButtonBg
color: "#ED8796"
radius: 3
}
states: [
State {
name: "hovered"
when: sleepButton.hovered
PropertyChanges {
target: sleepButtonBg
color: "#F4DBD6"
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
onClicked: sddm.suspend()
}
}

View file

@ -0,0 +1,50 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
TextField {
id: userField
height: inputHeight
width: inputWidth
selectByMouse: true
echoMode: TextInput.Normal
selectionColor: "#6E738D"
renderType: Text.NativeRendering
font {
family: config.Font
pointSize: config.FontSize
bold: true
}
color: "#CAD3F5"
horizontalAlignment: Text.AlignHCenter
placeholderText: "Username"
text: userModel.lastUser
background: Rectangle {
id: userFieldBackground
color: "#363A4F"
radius: 3
}
states: [
State {
name: "focused"
when: userField.activeFocus
PropertyChanges {
target: userFieldBackground
color: "#494D64"
}
},
State {
name: "hovered"
when: userField.hovered
PropertyChanges {
target: userFieldBackground
color: "#494D64"
}
}
]
transitions: Transition {
PropertyAnimation {
properties: "color"
duration: 300
}
}
}

48
sddm/everforest/Main.qml Normal file
View file

@ -0,0 +1,48 @@
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import "Components"
Item {
id: root
height: Screen.height
width: Screen.width
Rectangle {
id: background
anchors.fill: parent
height: parent.height
width: parent.width
z: 0
color: "#24273A"
}
Image {
id: backgroundImage
anchors.fill: parent
height: parent.height
width: parent.width
fillMode: Image.PreserveAspectCrop
visible: config.CustomBackground == "true" ? true : false
z: 1
source: config.Background
asynchronous: false
cache: true
mipmap: true
clip: true
}
Item {
id: mainPanel
z: 3
anchors {
fill: parent
margins: 50
}
Clock {
id: time
visible: config.ClockEnabled == "true" ? true : false
}
LoginPanel {
id: loginPanel
anchors.fill: parent
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" viewBox="0 0 50.8 50.8">
<path d="M0 0v25.4A25.4 25.4 0 0 1 25.4 0zm25.4 0a25.4 25.4 0 0 1 25.4 25.4V0zm25.4 25.4a25.4 25.4 0 0 1-25.4 25.4h25.4zM25.4 50.8A25.4 25.4 0 0 1 0 25.4v25.4z" style="fill-opacity:1;stroke:none;stroke-width:4.7625;fill:#24273a"/>
</svg>

After

Width:  |  Height:  |  Size: 330 B

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" viewBox="0 0 50.8 50.8">
<path d="M0 0v25.4A25.4 25.4 0 0 1 25.4 0zm25.4 0a25.4 25.4 0 0 1 25.4 25.4V0zm25.4 25.4a25.4 25.4 0 0 1-25.4 25.4h25.4zM25.4 50.8A25.4 25.4 0 0 1 0 25.4v25.4z" style="fill-opacity:1;stroke:none;stroke-width:4.7625;fill:#1e2030"/>
</svg>

After

Width:  |  Height:  |  Size: 330 B

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" viewBox="0 0 50.8 50.8">
<path d="M25.4 0A25.4 25.4 0 0 0 0 25.4a25.4 25.4 0 0 0 25.4 25.4 25.4 25.4 0 0 0 25.4-25.4A25.4 25.4 0 0 0 25.4 0m0 1.588A23.813 23.813 0 0 1 49.213 25.4 23.813 23.813 0 0 1 25.4 49.213 23.813 23.813 0 0 1 1.588 25.4 23.813 23.813 0 0 1 25.4 1.588" style="fill:#cad3f5;stroke-width:.264583"/>
</svg>

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 MiB

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 198.715 198.715" xml:space="preserve">
<g>
<path d="M161.463,48.763c-2.929-2.929-7.677-2.929-10.607,0c-2.929,2.929-2.929,7.677,0,10.606
c13.763,13.763,21.342,32.062,21.342,51.526c0,19.463-7.579,37.761-21.342,51.523c-14.203,14.204-32.857,21.305-51.516,21.303
c-18.659-0.001-37.322-7.104-51.527-21.309c-28.405-28.405-28.402-74.625,0.005-103.032c2.929-2.929,2.929-7.678,0-10.606
c-2.929-2.929-7.677-2.929-10.607,0C2.956,83.029,2.953,138.766,37.206,173.019c17.132,17.132,39.632,25.697,62.135,25.696
c22.497-0.001,44.997-8.564,62.123-25.69c16.595-16.594,25.734-38.659,25.734-62.129C187.199,87.425,178.059,65.359,161.463,48.763
z"/>
<path d="M99.332,97.164c4.143,0,7.5-3.358,7.5-7.5V7.5c0-4.142-3.357-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v82.164
C91.832,93.807,95.189,97.164,99.332,97.164z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1,018 B

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1080" height="1080" viewBox="0 0 1080 1080" xml:space="preserve">
<defs>
</defs>
<g transform="matrix(1 0 0 1 540 540)" id="2a220bb6-5b48-475d-961e-cf61e288ad30" >
<rect style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1; visibility: hidden;" vector-effect="non-scaling-stroke" x="-540" y="-540" rx="0" ry="0" width="1080" height="1080" />
</g>
<g transform="matrix(1 0 0 1 540 540)" id="fd45914b-ae78-4c99-8f0c-f2807b2dc79c" >
</g>
<g transform="matrix(45.29 0 0 45.29 556.31 508.95)" id="95767c2e-b581-4faa-9009-e8003f7e8866" >
<path style="stroke: rgb(0,0,0); stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" vector-effect="non-scaling-stroke" transform=" translate(-8.36, -16)" d="M 15.88 13.84 C 14.200000000000001 10.36 10.440000000000001 8.6 6.840000000000002 9.24 L 7.800000000000002 7.44 C 8.040000000000001 7.04 7.880000000000002 6.5200000000000005 7.480000000000001 6.32 C 7.080000000000001 6.08 6.560000000000001 6.24 6.360000000000001 6.640000000000001 L 4.400000000000001 10.280000000000001 C 4.400000000000001 10.280000000000001 3.9600000000000013 11.000000000000002 4.6400000000000015 11.32 L 8.280000000000001 13.280000000000001 C 8.4 13.360000000000001 8.56 13.4 8.680000000000001 13.4 C 8.96 13.4 9.280000000000001 13.24 9.400000000000002 12.96 C 9.640000000000002 12.56 9.480000000000002 12.040000000000001 9.080000000000002 11.84 L 7.200000000000002 10.8 C 10.040000000000003 10.32 13.000000000000002 11.760000000000002 14.320000000000002 14.48 C 15.920000000000002 17.8 14.520000000000001 21.8 11.200000000000003 23.36 C 9.600000000000003 24.12 7.8000000000000025 24.24 6.120000000000003 23.64 C 4.440000000000003 23.040000000000003 3.0800000000000027 21.84 2.320000000000003 20.240000000000002 C 1.560000000000003 18.64 1.440000000000003 16.840000000000003 2.0400000000000027 15.160000000000002 C 2.200000000000003 14.720000000000002 1.9600000000000026 14.240000000000002 1.5200000000000027 14.080000000000002 C 1.1200000000000028 14.000000000000002 0.6400000000000027 14.240000000000002 0.48000000000000265 14.680000000000001 C -0.23999999999999733 16.8 -0.11999999999999733 19.040000000000003 0.8400000000000026 21.040000000000003 C 1.8000000000000025 23.040000000000003 3.4800000000000026 24.560000000000002 5.600000000000002 25.320000000000004 C 6.520000000000002 25.640000000000004 7.440000000000002 25.800000000000004 8.360000000000003 25.800000000000004 C 9.600000000000003 25.800000000000004 10.840000000000003 25.520000000000003 11.960000000000003 24.960000000000004 C 16.120000000000005 22.960000000000004 17.880000000000003 17.960000000000004 15.880000000000003 13.840000000000005 z" stroke-linecap="round" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M24 13.616v-3.232c-1.651-.587-2.694-.752-3.219-2.019v-.001c-.527-1.271.1-2.134.847-3.707l-2.285-2.285c-1.561.742-2.433 1.375-3.707.847h-.001c-1.269-.526-1.435-1.576-2.019-3.219h-3.232c-.582 1.635-.749 2.692-2.019 3.219h-.001c-1.271.528-2.132-.098-3.707-.847l-2.285 2.285c.745 1.568 1.375 2.434.847 3.707-.527 1.271-1.584 1.438-3.219 2.02v3.232c1.632.58 2.692.749 3.219 2.019.53 1.282-.114 2.166-.847 3.707l2.285 2.286c1.562-.743 2.434-1.375 3.707-.847h.001c1.27.526 1.436 1.579 2.019 3.219h3.232c.582-1.636.75-2.69 2.027-3.222h.001c1.262-.524 2.12.101 3.698.851l2.285-2.286c-.744-1.563-1.375-2.433-.848-3.706.527-1.271 1.588-1.44 3.221-2.021zm-12 2.384c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z"/></svg>

After

Width:  |  Height:  |  Size: 811 B

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<title>moon</title>
<path d="M10.895 7.574c0 7.55 5.179 13.67 11.567 13.67 1.588 0 3.101-0.38 4.479-1.063-1.695 4.46-5.996 7.636-11.051 7.636-6.533 0-11.83-5.297-11.83-11.83 0-4.82 2.888-8.959 7.023-10.803-0.116 0.778-0.188 1.573-0.188 2.39z"></path>
</svg>

After

Width:  |  Height:  |  Size: 415 B

View file

@ -0,0 +1,14 @@
[SddmGreeterTheme]
Name=Everforest
Description=Soothing pastel theme for SDDM
Type=sddm-theme
Version=2.1
Website=https://github.com/catppuccin/sddm
Screenshot=preview.png
MainScript=Main.qml
ConfigFile=theme.conf
TranslationsDirectory=translations
Theme-Id=Everforest
Theme-API=2.0
License=MIT
QtVersion=6

BIN
sddm/everforest/preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -0,0 +1,8 @@
[General]
Font="Noto Sans"
FontSize=9
ClockEnabled="true"
CustomBackground="true"
LoginBackground="false"
Background="backgrounds/mist_forest.png"
UserIcon="false"

53
sddm/sddm.conf Normal file
View file

@ -0,0 +1,53 @@
[General]
HaltCommand=/usr/bin/systemctl poweroff
InputMethod=
Namespaces=
Numlock=none
RebootCommand=/usr/bin/systemctl reboot
DisplayServer=wayland
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
[Autologin]
Relogin=false
Session=
User=
[Theme]
Current=everforest
CursorTheme=catppuccin-macchiato-green-cursors
DisableAvatarsThreshold=7
EnableAvatars=false
FacesDir=/usr/share/sddm/faces
Font=
ThemeDir=/usr/share/sddm/themes
[Users]
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
HideShells=
HideUsers=
MaximumUid=60513
MinimumUid=1000
RememberLastSession=true
RememberLastUser=true
ReuseSession=true
[Wayland]
EnableHiDPI=false
SessionCommand=/usr/share/sddm/scripts/wayland-session
SessionDir=/usr/share/wayland-sessions
SessionLogFile=.local/share/sddm/wayland-session.log
CompositorCommand=labwc
[X11]
DisplayCommand=/usr/share/sddm/scripts/Xsetup
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
EnableHiDPI=false
MinimumVT=1
ServerArguments=-nolisten tcp
ServerPath=/usr/bin/X
SessionCommand=/usr/share/sddm/scripts/Xsession
SessionDir=/usr/share/xsessions
SessionLogFile=.local/share/sddm/xorg-session.log
UserAuthFile=.Xauthority
XauthPath=/usr/bin/xauth
XephyrPath=/usr/bin/Xephyr

76
starship.toml Normal file
View file

@ -0,0 +1,76 @@
format = """
$directory\
[](fg:bg_green bg:bg_yellow)\
$git_branch\
$git_status\
[](bg:bg_blue fg:bg_yellow)\
$time\
[](fg:bg_blue)\
\n$character"""
add_newline = false
palette = "everforest"
command_timeout = 1000
[directory]
style = "bg:bg_green fg:fg"
read_only_style = "bg:bg_green fg:fg"
truncation_length = 3
truncation_symbol = "…/"
format = "[ $path]($style)[$read_only]($read_only_style)"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
[git_branch]
style = "bg:bg_yellow fg:fg"
symbol = " "
format = "[$symbol$branch(:$remote_branch)]($style)"
[git_status]
style = "bg:bg_yellow fg:red"
format = '[$all_status$ahead_behind]($style)'
[character]
success_symbol = '[](bold green)'
error_symbol = '[](bold red)'
[time]
disabled = false
time_format = "%T"
style = "bg:bg_blue fg:fg"
format = '[ $time]($style)'
[palettes.everforest]
bg_dim = "#232a2e"
bg0 = "#2d353b"
bg1 = "#343f44"
bg2 = "#3d484d"
bg3 = "#475258"
bg4 = "#4f585e"
bg5 = "#56635f"
bg_visual = "#543a48"
bg_red = "#514045"
bg_green = "#425047"
bg_blue = "#3a515d"
bg_yellow = "#4d4c43"
fg = "#d3c6aa"
red = "#e67e80"
orange = "#e69875"
yellow = "#dbbc7f"
green = "#a7c080"
aqua = "#83c092"
blue = "#7fbbb3"
purple = "#d699b6"
grey0 = "#7a8478"
grey1 = "#859289"
grey2 = "#9da9a0"
statusline1 = "#a7c080"
statusline2 = "#d3c6aa"
statusline3 = "#e67e80"

30
swaylock/config Normal file
View file

@ -0,0 +1,30 @@
color=24273a
bs-hl-color=f4dbd6
caps-lock-bs-hl-color=f4dbd6
caps-lock-key-hl-color=a6da95
image=$XDG_CONFIG_HOME/images/mist_forest.png
inside-color=00000000
inside-clear-color=00000000
inside-caps-lock-color=00000000
inside-ver-color=00000000
inside-wrong-color=00000000
key-hl-color=a6da95
layout-bg-color=00000000
layout-border-color=00000000
layout-text-color=cad3f5
line-color=00000000
line-clear-color=00000000
line-caps-lock-color=00000000
line-ver-color=00000000
line-wrong-color=00000000
ring-color=b7bdf8
ring-clear-color=f4dbd6
ring-caps-lock-color=f5a97f
ring-ver-color=8aadf4
ring-wrong-color=ee99a0
separator-color=00000000
text-color=cad3f5
text-clear-color=f4dbd6
text-caps-lock-color=f5a97f
text-ver-color=8aadf4
text-wrong-color=ee99a0

View file

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="35"
height="200"
version="1.1"
id="svg8"
sodipodi:docname="add-workspace-active.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs12">
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter1168"
x="-0.102608"
y="-0.040503159"
width="1.205216"
height="1.0810063">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="3.2065"
id="feGaussianBlur1170" />
</filter>
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter1174"
x="-0.147"
y="-0.147"
width="1.294"
height="1.294">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.98"
id="feGaussianBlur1176" />
</filter>
</defs>
<sodipodi:namedview
id="namedview10"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="true"
inkscape:zoom="3.337544"
inkscape:cx="18.726345"
inkscape:cy="88.088726"
inkscape:window-width="1867"
inkscape:window-height="1009"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg8">
<inkscape:grid
type="xygrid"
id="grid340"
originx="0"
originy="0"
spacingy="1"
spacingx="1"
units="px"
visible="true" />
</sodipodi:namedview>
<rect
id="rect612"
width="75"
height="190"
x="5"
y="6"
rx="8"
ry="8"
style="fill:#000000;fill-opacity:1;filter:url(#filter1168);opacity:0.25" />
<rect
id="rect342"
width="75"
height="190"
x="5"
y="5"
rx="8"
ry="8"
style="fill:#3a94c5;fill-opacity:1" />
<path
d="m 18,95 c -0.554,0 -1,0.446 -1,1 v 4 h -4 c -0.554,0 -1,0.446 -1,1 0,0.554 0.446,1 1,1 h 4 v 4 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -4 h 4 c 0.554,0 1,-0.446 1,-1 0,-0.554 -0.446,-1 -1,-1 h -4 v -4 c 0,-0.554 -0.446,-1 -1,-1 z m 8,6 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z"
color="#000000"
color-rendering="auto"
fill="#ffffff"
image-rendering="auto"
solid-color="#000000"
style="isolation:auto;mix-blend-mode:normal;shape-rendering:auto;fill:#000000;filter:url(#filter1174);opacity:0.15"
id="path1172" />
<path
d="m 18,94 c -0.554,0 -1,0.446 -1,1 v 4 h -4 c -0.554,0 -1,0.446 -1,1 0,0.554 0.446,1 1,1 h 4 v 4 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -4 h 4 c 0.554,0 1,-0.446 1,-1 0,-0.554 -0.446,-1 -1,-1 h -4 v -4 c 0,-0.554 -0.446,-1 -1,-1 z m 8,6 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z"
color="#000000"
color-rendering="auto"
fill="#ffffff"
image-rendering="auto"
solid-color="#000000"
style="isolation:auto;mix-blend-mode:normal;shape-rendering:auto;fill:#fffbef;fill-opacity:1"
id="path4" />
<path
id="rect607"
style="fill:#ffffff;fill-opacity:1;opacity:0.1"
d="M 13 5 C 8.5680044 5 5 8.5680044 5 13 L 5 14 C 5 9.5680044 8.5680044 6 13 6 L 72 6 C 76.431996 6 80 9.5680044 80 14 L 80 13 C 80 8.5680044 76.431996 5 72 5 L 13 5 z " />
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35"
height="200"
id="svg2"
version="1.1"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="add-workspace-hover.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4"
inkscape:cx="-81.038405"
inkscape:cy="108.58132"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1366"
inkscape:window-height="709"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:bbox-nodes="true">
<inkscape:grid
type="xygrid"
id="grid3040"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
<sodipodi:guide
orientation="0,1"
position="20,100"
id="guide3893"
inkscape:locked="false" />
<sodipodi:guide
orientation="1,0"
position="18,190"
id="guide3895"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-852.36218)">
<path
id="rect4694"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 7,857.36218 28,0 0,190.00002 -28,0 c -1.108,0 -2,-0.892 -2,-2 L 5,859.36218 c 0,-1.108 0.892,-2 2,-2 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sccssss" />
<g
transform="translate(0,-0.9999969)"
id="g3917-7"
style="fill:#eceff1;fill-opacity:1;opacity:0.5;stroke:none;stroke-opacity:1" />
<path
id="rect4804"
transform="translate(0,852.36218)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 18,94 c -0.554,0 -1,0.446 -1,1 l 0,4 -4,0 c -0.554,0 -1,0.446 -1,1 0,0.554 0.446,1 1,1 l 4,0 0,4 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 l 0,-4 4,0 c 0.554,0 1,-0.446 1,-1 0,-0.554 -0.446,-1 -1,-1 l -4,0 0,-4 c 0,-0.554 -0.446,-1 -1,-1 z m 8,6 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35"
height="200"
id="svg2"
version="1.1"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="add-workspace.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4"
inkscape:cx="-28.526103"
inkscape:cy="75.41215"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1366"
inkscape:window-height="709"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:bbox-nodes="true"
inkscape:document-rotation="0">
<inkscape:grid
type="xygrid"
id="grid3040"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
<sodipodi:guide
orientation="0,1"
position="20,100"
id="guide3893"
inkscape:locked="false" />
<sodipodi:guide
orientation="1,0"
position="18,190"
id="guide3895"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-852.36218)">
<path
id="rect4694"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.35;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 7,857.36218 28,0 0,190.00002 -28,0 c -1.108,0 -2,-0.892 -2,-2 L 5,859.36218 c 0,-1.108 0.892,-2 2,-2 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sccssss" />
<g
transform="translate(0,-0.9999969)"
id="g3917-7"
style="fill:#eceff1;fill-opacity:1;opacity:0.5;stroke:none;stroke-opacity:1" />
<path
id="rect4804"
transform="translate(0,852.36218)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.87;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 18,94 c -0.554,0 -1,0.446 -1,1 l 0,4 -4,0 c -0.554,0 -1,0.446 -1,1 0,0.554 0.446,1 1,1 l 4,0 0,4 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 l 0,-4 4,0 c 0.554,0 1,-0.446 1,-1 0,-0.554 -0.446,-1 -1,-1 l -4,0 0,-4 c 0,-0.554 -0.446,-1 -1,-1 z m 8,6 a 8,8 0 0 1 -8,8 8,8 0 0 1 -8,-8 8,8 0 0 1 8,-8 8,8 0 0 1 8,8 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
version="1.1"
id="svg4"
sodipodi:docname="calendar-arrow-left.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="704"
id="namedview6"
showgrid="false"
inkscape:zoom="29.5"
inkscape:cx="13.680381"
inkscape:cy="6.1418434"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="M10 3v10L5 8z"
fill="#000000"
opacity="0.54"
id="path2"
style="fill:#e6e6e6" />
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
version="1.1"
id="svg4"
sodipodi:docname="calendar-arrow-right.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="704"
id="namedview6"
showgrid="false"
inkscape:zoom="14.75"
inkscape:cx="8"
inkscape:cy="8"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="M6 3v10l5-5z"
fill="#000000"
opacity="0.54"
id="path2"
style="fill:#e6e6e6" />
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Some files were not shown because too many files have changed in this diff Show more