Sada je: 29 ožu 2024, 07:16.
Teme vezane za GNOME grafičko okruženje.

Moderator/ica: Moderatori/ce

Rade u svakom normalnom shellu!
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
Aha, to si htio reći. Nisam shvatio, sori. Uglavnom, i te komande se ponašaju na meni neželjeni način.
Postovi: 92
Postovi: 92
Pridružen/a: 17 lis 2015, 01:40
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 3 puta
Spol: M
OS: Fedora Gnome
Parcijalno rješenje za Ctrl+Right slijedi...

Za bash (za zsh sam isto našao da može) treba bindati taj key na drugu funkciju. Birajte, ili bashrc ili inputrc.
U ~/.bashrc ide ovo:
Kod: Označi sve
bind '"\e[1;5C": vi-forward-word'
bind '"\e[5C": vi-forward-word'
bind '"\eOc": vi-forward-word'


U ~/.inputrc ide ovo:
Kod: Označi sve
$include /etc/inputrc
"\e[1;5C": vi-forward-word
"\e[5C": vi-forward-word
"\eOc": vi-forward-word


U editoru SublimeText v2 se može unijeti pod "Preferences/Key bindings - User" ovo:
Kod: Označi sve
[
{ "keys": ["ctrl+right"], "command": "move", "args": {"by": "words", "forward": true} }
]


Još da skužim za Eclipse i općenito GTK...
Ja sam početnik pa ako nešto urokate ne znam ništa. :)
Zadnja izmjena: Smola; 04 svi 2016, 15:00; ukupno mijenjano 1 put/a.
Postovi: 92
Postovi: 92
Pridružen/a: 17 lis 2015, 01:40
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 3 puta
Spol: M
OS: Fedora Gnome
Za GTK je najbolje napraviti custom temu npr. "~/.themes/Vi" te unutra staviti dva direktorija , za GTK2 i GTK3 te sljedeće datoteke:

~/.themes/Vi/gtk-2.0-key/gtkrc
Kod: Označi sve
binding "vi-forward-word"
{
  bind "<Control>Right" { "move-cursor" (words, 1, 0) "move-cursor" (logical-positions, 1, 0) }
  bind "<Control><Shift>Right" { "move-cursor" (words, 1, 1) "move-cursor" (logical-positions, 1, 1) }
}

class "GtkEntry" binding "vi-forward-word"
class "GtkTextView" binding "vi-forward-word"


~/.themes/Vi/gtk-3.0/gtk-keys.css
Kod: Označi sve
@binding-set vi-forward-word
{
bind "<Control>Right" { "move-cursor" (words, 1, 0) "move-cursor" (logical-positions, 1, 0) };
bind "<Control><Shift>Right" { "move-cursor" (words, 1, 1) "move-cursor" (logical-positions, 1, 1) };
}

GtkEntry {
  gtk-key-bindings: vi-forward-word;
}

GtkTextView {
  gtk-key-bindings: vi-forward-word;
}


Nakon toga je potrebno otići u TweakTool i pod "Keyboard and Mouse" za "Key theme" selektirati novu temu "Vi". Nakon toga treba restartati UI (Alt+F2, "r").

Ovo radi i u aplikacijama koje koriste Java Swing. Na žalost, još mi ne radi u Eclipseovom editoru. :(

Relevantne poveznice:
http://vim.wikia.com/wiki/Vi_key_bindings_in_gtk
https://mail.gnome.org/archives/gtk-lis ... 00029.html
Postovi: 92
Postovi: 92
Pridružen/a: 17 lis 2015, 01:40
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 3 puta
Spol: M
OS: Fedora Gnome
Ne znam kako je ovo završilo u Fedora dijelu!? Pričam o bashu i GTK.
Postovi: 92
Postovi: 92
Pridružen/a: 17 lis 2015, 01:40
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 3 puta
Spol: M
OS: Fedora Gnome
Rješenje za Eclipse slijedi...

Problem je u SWT-u koji pokušava oponašati ponašanje platforme. Tamo postoji konstanta "MOVEMENT_WORD" uz koju ide komentar:
Kod: Označi sve
"The behavior of this constant depends on the platform and on the direction of the movement. For example, on Windows the stop is always at the start of the word. On GTK and Mac the stop is at the end of the word if the direction is next and at the start of the word if the direction is previous.


Konstanta se koristi u metodi org.eclipse.swt.graphics.TextLayout._getOffset(). Potrebno je:
1. Dekompajlirati tu klasu. U mom Eclipseu Mars 4.5.1 je klasa unutar org.eclipse.swt.gtk.linux.x86_64_3.104.1.v20150825-0743.jar.
2. Pronaći kod na liniji 1217 prema kodu iz Eclipsa 4.3 na ovom linku:
http://grepcode.com/file/repo1.maven.or ... .java#1217
3. Izmijeniti
Kod: Označi sve
if ((movement & SWT.MOVEMENT_WORD) != 0) {
   if (forward) {
      if (logAttr.is_word_end) found = true;
   } else {
      if (logAttr.is_word_start) found = true;
   }
}

u
Kod: Označi sve
if ((movement & SWT.MOVEMENT_WORD) != 0) {
   if (forward) {
      if (logAttr.is_word_start) found = true; // <------------ "is_word_start"
   } else {
      if (logAttr.is_word_start) found = true;
   }
}

4. Vratiti klasu u onaj JAR i restartati Eclipse.

Nisam previše testirao, a zasad radi.
Postovi: 92
Postovi: 92
Pridružen/a: 17 lis 2015, 01:40
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 3 puta
Spol: M
OS: Fedora Gnome
Budući da tvoj problem nije strogo vezan uz Fedoru, već uz bash/Eclipse i općenito GTK, tema je premještena u podforum "Linux općenito". Svakako potvrdi rade li rješenja koja si naveo.


Edit by Cooleech:
Malo svjetilja slova, da se bolje vidi na tamnoj temi. ;)
Abzeenth je napisao/la:Dobro onda. Baš me briga. Krepajte od offtopica.

jurastublic je napisao/la:Ovaj thread me podsjeća na krepanu mačku. Treba to pokupit lopatom i zakopat. Onda dezinficirati lopatu. :-D
Avatar
Moderator
Postovi: 5812
Moderator
Postovi: 5812
Pridružen/a: 25 ožu 2012, 14:29
Lokacija: ~/kauč
Podijelio/la zahvalu: 155 puta
Primio/la zahvalu: 251 puta
Spol: M
OS: Mint 17.3 Cimet
@Cooleech - nisam znao da si tako stilski osvješten :bleh
Abzeenth je napisao/la:Dobro onda. Baš me briga. Krepajte od offtopica.

jurastublic je napisao/la:Ovaj thread me podsjeća na krepanu mačku. Treba to pokupit lopatom i zakopat. Onda dezinficirati lopatu. :-D
Avatar
Moderator
Postovi: 5812
Moderator
Postovi: 5812
Pridružen/a: 25 ožu 2012, 14:29
Lokacija: ~/kauč
Podijelio/la zahvalu: 155 puta
Primio/la zahvalu: 251 puta
Spol: M
OS: Mint 17.3 Cimet
Potvrđujem da radi bez greške na navedenoj okolini.
Još nekoliko napomena:
  • Klasa TexLayout je ima više-manje isti kod za verzije SWT-a koje se isporučuju s Eclipseom 4.3 do 4.5. Za ostale verzije nisam gledao i postoji mala šansa je da je logika potpuno drugačija.
  • Ako nekom zatreba pomoć nek mi se obrati. Ako treba gotov jar za Eclipse 4.5.1 mogu mu i to poslati. Možda budem radio istu stvar i za Eclipse Kepler (ne znam točnu verziju).
  • Ovom izmjenom se i selektiranje svodi na ono u Windowsima, tj. selekcija putem Ctrl+Shit+Right obuhvaća i razmak iza riječi.
  • Ova izmjena obuhvaća sve editore svih ekstenzija u Eclipseu.
  • Za kompajliranje klase trebate uključiti gorenavedeni jar u build-path te još i org.ecipse.swt_3.104.1.v20150825-0743.jar. Sve se može naći u direktoriju eclipse/plugins. Naravno, uzmite verzije koje ste našli tamo.
  • Za dekompajliranje sam koristio jd-gui, a možete koristiti i neki online dekompajler. Potebno je i ubaciti kod iz inner-klase StyleItem, ali ona je toliko jednostavna da je možete lako "kopipejstat". Sve možete provjeriti preko GrepCode stranica.
Postovi: 92
Postovi: 92
Pridružen/a: 17 lis 2015, 01:40
Podijelio/la zahvalu: 1 puta
Primio/la zahvalu: 3 puta
Spol: M
OS: Fedora Gnome
calisto053 je napisao/la:@Cooleech - nisam znao da si tako stilski osvješten :bleh

Nisan moga pročitat štas napisa, pa et :-D
Arch Linux Install Script (zastarjela verzija)
Vl@do je napisao/la:Arch imaš upravo zato da uštediš na vremenu. Nemaš nikakvih problema s instalacijama, kompajliranjem i ostalim. Imaš jednostavno funkcionalan i stabilan, uvijek najsvježiji OS, a osim toga je sexy i cool do neba.

I've seen some idiots back in my time, but you man... you're special!
Avatar
Moderator
Postovi: 6725
Moderator
Postovi: 6725
Pridružen/a: 13 stu 2010, 21:12
Lokacija: /hrvatska/solin/.../4
Podijelio/la zahvalu: 338 puta
Primio/la zahvalu: 406 puta
Spol: M
OS: Arch Linux KDE

Na mreži
Trenutno korisnika/ca: / i 2 gostiju.