This repo is for Regolith-specific configuration for i3-gaps.
regolith-linux / regolith-i3-gaps-config Goto Github PK
View Code? Open in Web Editor NEWRegolith configuration for i3-gaps in Regolith 1.x
Regolith configuration for i3-gaps in Regolith 1.x
Problems
gnome-control-center
take up many of the "most valuable" $mod + single key bindingsgnome-control-center
behaviour is not very tiling wm friendly, because when it is losing width, it starts to decrease the area for the settings themselves, while keeping the left hand side tabs the same size.Proposed solution: Create a command mode for handling the control center as a floating window.
I propose to move all the keybinds into a control mode. Entering control mode with $mod+c
would open the gnome-control-center, if it is already open fetch it from the scratchpad as a floating window (potentially, it could also make it full screen?). Closing the control mode with the same key combo puts the gnome-control-center on the scratchpad hiding it. In case you need to type something, you will need to use Esc to close the mode and e.g. type the wifi password and then use $mod+Ctrl+m
to move the control center to the scratchpad (or just kill it since starting control mode will spawn a new one anyway). In control mode, single key presses will take you to various settings pages of the control center.
Note, that the bindings that are not the control mode in the below code should probably be thought about, since I set those binds with the original bindings of the control center still active, now with the new free binding place there might be some better combos (although it might be good to leave them free for users to bind some functionalities they use more often, because IMHO the scratchpad is only useful if you can set it to fetch specific apps, like here the control center, or the music player or a terminal etc.)
# toggle tiling / floating
bindsym $mod+Ctrl+f floating toggle
bindsym $mod+Ctrl+m move to scratchpad
bindsym $mod+Ctrl+a scratchpad show
bindsym $mod+Ctrl+x floating disable
bindsym $mod+m move workspace to output right
# change focus between tiling / floating windows
bindsym $mod+Ctrl+t focus mode_toggle
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
floating_maximum_size -1 x -1
mode "Control Center" {
# shortcuts for common system configuration tasks
bindsym w exec gnome-control-center wifi
bindsym b exec gnome-control-center bluetooth
bindsym d exec gnome-control-center display
bindsym n exec gnome-control-center network
bindsym p exec gnome-control-center power
bindsym s exec gnome-control-center sound
bindsym Escape mode "default"
bindsym $mod+c mode "default", [class=Gnome-control-center] move to scratchpad
}
bindsym $mod+c mode "Control Center",exec --no-startup-id gnome-control-center, [class=Gnome-control-center] move to scratchpad, scratchpad show, resize set width 96 ppt height 95 ppt, move position center
Any thoughts about this approach?
It looks like the gnome panel is baked inside the gnome shell. Any way to get that working in regolith desktop?
As I understand it, this config is intended to work with the regolith fork of i3-gaps. Is the config still compatible with i3-gaps, though?
Seems like there is a minor issue with the currently shipped i3-gaps config. If a user overrides the default workspace names to any value containing non-digit characters, it breaks all keybinds which operate on that workspace.
This is because the config references workspaces like this: workspace number $ws1
. $ws1
is set by Xresources (i3-wm.workspace.1.name) and is intended to be user editable so that the user can set an arbitrary name, but this current syntax breaks if the $ws1
is not a integer. Solution is to use this syntax: workspace number 1 $ws1
, note that I am now directly using the number to reference the workspace, but i3 also allows the pass through the name as a user-friendly identifier.
The only change to the UX is that the name of the workspace is now 1 <name>
, not <name>
altough i3-bar has inbuilt functionality to strip the leading number with strip_workspace_numbers
so the user can have this shown to them in either format regardless.
With the version of i3-gaps that ships with Regolith there is currently no way to disable smart_gaps without editing the partials to comment out the smart_gaps line. This is because the option does not accept 'falsey' values.
i3-gaps upstream has a accepted an PR that allows smart_gaps to be disabled via Xresources. Would you consider pulling this change into i3-gaps-wm ?
I logged it on this project because you can't create issues on https://github.com/regolith-linux/i3-gaps-wm
I'm having the same issue which was discussed in regolith-linux/regolith-i3#12
This produces config errors:
workspace $ws1 output DP1
Another solution is to use the index:
workspace 1 output DP1
This works, but instead of creating "1 [ ]" workspace with a color square, it creates a workspace without a color square. This is annoying, because you can have both "1" and "1 [ ]" workspaces at the same time, which breaks workspace navigation shortcuts making this feature unusable.
I'm using 4.17.1
:
i3 --moreversion
Binary i3 version: 4.17.1 (2019-08-30) © 2009 Michael Stapelberg and contributors
Running i3 version: 4.17.1 (2019-08-30) (pid 2649)abort…)
Loaded i3 config: /home/donatas/.config/regolith/i3/config (Last modified: Mon 20 Apr 2020 19:03:49 BST, 959 seconds ago)
The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3
regolith-i3-gaps-config/config
Line 80 in 367902a
In the latest release, regolith switched to lascaille
theme who defines the rofi theme to be
styles/lascaille/root
15:#include "/etc/regolith/styles/rofi"
styles/lascaille/theme
4:#define rofi_theme /etc/regolith/styles/lascaille/rofi.rasi
I don't even have the cahuela theme installed on my system anymore
BTW: I do like the update, besides the fact I have to spend 1 hour tweaking the configurations :)
I'd love to contribute somehow so next time is easier to do the transition
Most DE's place their bar on top, and I believe it is the best default. Maybe we should consider it for the regolith desktop.
I tried to add bindsym for programs in the Xresource file but it's not working. Here is what I did:
in the ~/.config/regolith/i3/config
file:
set_from_resource $i3-wm.bindsym.1 i3-wm.bindsym.1 :
set_from_resource $i3-wm.bindsym.program.1 i3-wm.bindsym.program.1 :
bindsym $i3-wm.bindsym.1 exec --no-startup-id "$i3-wm.bindsym.program.1"
in the ~/.config/regolith/Xresource
file
i3-wm.mod: Mod4
i3-wm.bindsym.1: $i3-wm.mod+c
i3-wm.bindsym.program.1: rofi -show calc -modi calc -no-show-match -no-sort
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.